diff --git a/prj/TCPClient/.cproject b/prj/TCPClient/.cproject
index 8782a09..90ba4c9 100644
--- a/prj/TCPClient/.cproject
+++ b/prj/TCPClient/.cproject
@@ -68,6 +68,9 @@
+
+
+
@@ -125,7 +128,7 @@
-
+
diff --git a/prj/TCPClient/.settings/language.settings.xml b/prj/TCPClient/.settings/language.settings.xml
index ad26d5d..7b12af1 100644
--- a/prj/TCPClient/.settings/language.settings.xml
+++ b/prj/TCPClient/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/prj/TCPClient/Debug/dvp.h b/prj/TCPClient/Debug/dvp.h
index 5f31893..e729e53 100644
--- a/prj/TCPClient/Debug/dvp.h
+++ b/prj/TCPClient/Debug/dvp.h
@@ -19,3 +19,5 @@ void DVP_Task(void);
extern __attribute__((aligned(4))) uint8_t FrameBuffer[SENSOR_HEIGHT][BYTES_PER_LINE];
extern volatile uint8_t Frame_Ready_Flag;
extern volatile uint32_t Ready_Frame_Count;
+
+#endif
diff --git a/prj/TCPClient/FreeRTOS/portable/GCC/RISC-V/freertos_risc_v_chip_specific_extensions.h b/prj/TCPClient/FreeRTOS/portable/GCC/RISC-V/freertos_risc_v_chip_specific_extensions.h
new file mode 100644
index 0000000..01f9aa2
--- /dev/null
+++ b/prj/TCPClient/FreeRTOS/portable/GCC/RISC-V/freertos_risc_v_chip_specific_extensions.h
@@ -0,0 +1,150 @@
+/*
+ * FreeRTOS Kernel V10.4.6
+ * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * SPDX-License-Identifier: MIT
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of
+ * this software and associated documentation files (the "Software"), to deal in
+ * the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+ * the Software, and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * https://www.FreeRTOS.org
+ * https://github.com/FreeRTOS
+ *
+ */
+
+/*
+ * The FreeRTOS kernel's RISC-V port is split between the the code that is
+ * common across all currently supported RISC-V chips (implementations of the
+ * RISC-V ISA), and code that tailors the port to a specific RISC-V chip:
+ *
+ * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that
+ * is common to all currently supported RISC-V chips. There is only one
+ * portASM.S file because the same file is built for all RISC-V target chips.
+ *
+ * + Header files called freertos_risc_v_chip_specific_extensions.h contain the
+ * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V
+ * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files
+ * as there are multiple RISC-V chip implementations.
+ *
+ * !!!NOTE!!!
+ * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h
+ * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the
+ * compiler's!) include path. For example, if the chip in use includes a core
+ * local interrupter (CLINT) and does not include any chip specific register
+ * extensions then add the path below to the assembler's include path:
+ * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions
+ *
+ */
+
+
+#ifndef __FREERTOS_RISC_V_EXTENSIONS_H__
+#define __FREERTOS_RISC_V_EXTENSIONS_H__
+
+#define portasmHAS_SIFIVE_CLINT 0
+#define portasmHAS_MTIME 0
+/* if you want to use FPU, please define ARCH_FPU and enable float point and ABI of gcc */
+#define ARCH_FPU 0
+
+
+#if ARCH_FPU
+#define portasmADDITIONAL_CONTEXT_SIZE 32 /* Must be even number on 32-bit cores. */
+.macro portasmSAVE_ADDITIONAL_REGISTERS
+ addi sp, sp, -(portasmADDITIONAL_CONTEXT_SIZE* portWORD_SIZE)
+ fsw f0, 1*portWORD_SIZE(sp)
+ fsw f1, 2*portWORD_SIZE(sp)
+ fsw f2, 3*portWORD_SIZE(sp)
+ fsw f3, 4*portWORD_SIZE(sp)
+ fsw f4, 5*portWORD_SIZE(sp)
+ fsw f5, 6*portWORD_SIZE(sp)
+ fsw f6, 7*portWORD_SIZE(sp)
+ fsw f7, 8*portWORD_SIZE(sp)
+ fsw f8, 9*portWORD_SIZE(sp)
+ fsw f9, 10*portWORD_SIZE(sp)
+ fsw f10, 11*portWORD_SIZE(sp)
+ fsw f11, 12*portWORD_SIZE(sp)
+ fsw f12, 13*portWORD_SIZE(sp)
+ fsw f13, 14*portWORD_SIZE(sp)
+ fsw f14, 15*portWORD_SIZE(sp)
+ fsw f15, 16*portWORD_SIZE(sp)
+ fsw f16, 17*portWORD_SIZE(sp)
+ fsw f17, 18*portWORD_SIZE(sp)
+ fsw f18, 19*portWORD_SIZE(sp)
+ fsw f19, 20*portWORD_SIZE(sp)
+ fsw f20, 21*portWORD_SIZE(sp)
+ fsw f21, 22*portWORD_SIZE(sp)
+ fsw f22, 23*portWORD_SIZE(sp)
+ fsw f23, 24*portWORD_SIZE(sp)
+ fsw f24, 25*portWORD_SIZE(sp)
+ fsw f25, 26*portWORD_SIZE(sp)
+ fsw f26, 27*portWORD_SIZE(sp)
+ fsw f27, 28*portWORD_SIZE(sp)
+ fsw f28, 29*portWORD_SIZE(sp)
+ fsw f29, 30*portWORD_SIZE(sp)
+ fsw f30, 31*portWORD_SIZE(sp)
+ fsw f31, 32*portWORD_SIZE(sp)
+ .endm
+
+.macro portasmRESTORE_ADDITIONAL_REGISTERS
+ flw f0, 1*portWORD_SIZE(sp)
+ flw f1, 2*portWORD_SIZE(sp)
+ flw f2, 3*portWORD_SIZE(sp)
+ flw f3, 4*portWORD_SIZE(sp)
+ flw f4, 5*portWORD_SIZE(sp)
+ flw f5, 6*portWORD_SIZE(sp)
+ flw f6, 7*portWORD_SIZE(sp)
+ flw f7, 8*portWORD_SIZE(sp)
+ flw f8, 9*portWORD_SIZE(sp)
+ flw f9, 10*portWORD_SIZE(sp)
+ flw f10, 11*portWORD_SIZE(sp)
+ flw f11, 12*portWORD_SIZE(sp)
+ flw f12, 13*portWORD_SIZE(sp)
+ flw f13, 14*portWORD_SIZE(sp)
+ flw f14, 15*portWORD_SIZE(sp)
+ flw f15, 16*portWORD_SIZE(sp)
+ flw f16, 17*portWORD_SIZE(sp)
+ flw f17, 18*portWORD_SIZE(sp)
+ flw f18, 19*portWORD_SIZE(sp)
+ flw f19, 20*portWORD_SIZE(sp)
+ flw f20, 21*portWORD_SIZE(sp)
+ flw f21, 22*portWORD_SIZE(sp)
+ flw f22, 23*portWORD_SIZE(sp)
+ flw f23, 24*portWORD_SIZE(sp)
+ flw f24, 25*portWORD_SIZE(sp)
+ flw f25, 26*portWORD_SIZE(sp)
+ flw f26, 27*portWORD_SIZE(sp)
+ flw f27, 28*portWORD_SIZE(sp)
+ flw f28, 29*portWORD_SIZE(sp)
+ flw f29, 30*portWORD_SIZE(sp)
+ flw f30, 31*portWORD_SIZE(sp)
+ flw f31, 32*portWORD_SIZE(sp)
+ addi sp, sp, (portasmADDITIONAL_CONTEXT_SIZE* portWORD_SIZE)
+ .endm
+#else
+#define portasmADDITIONAL_CONTEXT_SIZE 0 /* Must be even number on 32-bit cores. */
+
+
+.macro portasmSAVE_ADDITIONAL_REGISTERS
+ /* No additional registers to save, so this macro does nothing. */
+ .endm
+
+.macro portasmRESTORE_ADDITIONAL_REGISTERS
+ /* No additional registers to restore, so this macro does nothing. */
+ .endm
+
+#endif
+
+#endif /* __FREERTOS_RISC_V_EXTENSIONS_H__ */
diff --git a/prj/TCPClient/obj/Core/subdir.mk b/prj/TCPClient/obj/Core/subdir.mk
index 543a67f..71bfc52 100644
--- a/prj/TCPClient/obj/Core/subdir.mk
+++ b/prj/TCPClient/obj/Core/subdir.mk
@@ -16,6 +16,6 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
Core/%.o: ../Core/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/Debug/subdir.mk b/prj/TCPClient/obj/Debug/subdir.mk
index bd1f030..ada5744 100644
--- a/prj/TCPClient/obj/Debug/subdir.mk
+++ b/prj/TCPClient/obj/Debug/subdir.mk
@@ -19,6 +19,6 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
Debug/%.o: ../Debug/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk b/prj/TCPClient/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk
new file mode 100644
index 0000000..1fae9ef
--- /dev/null
+++ b/prj/TCPClient/obj/FreeRTOS/portable/GCC/RISC-V/subdir.mk
@@ -0,0 +1,31 @@
+################################################################################
+# MRS Version: 1.9.2
+# 自动生成的文件。不要编辑!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../FreeRTOS/portable/GCC/RISC-V/port.c
+
+S_UPPER_SRCS += \
+../FreeRTOS/portable/GCC/RISC-V/portASM.S
+
+OBJS += \
+./FreeRTOS/portable/GCC/RISC-V/port.o \
+./FreeRTOS/portable/GCC/RISC-V/portASM.o
+
+S_UPPER_DEPS += \
+./FreeRTOS/portable/GCC/RISC-V/portASM.d
+
+C_DEPS += \
+./FreeRTOS/portable/GCC/RISC-V/port.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.c
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @
+FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.S
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\ch32v307_camera\prj\TCPClient\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @
+
diff --git a/prj/TCPClient/obj/FreeRTOS/portable/MemMang/subdir.mk b/prj/TCPClient/obj/FreeRTOS/portable/MemMang/subdir.mk
new file mode 100644
index 0000000..7894556
--- /dev/null
+++ b/prj/TCPClient/obj/FreeRTOS/portable/MemMang/subdir.mk
@@ -0,0 +1,21 @@
+################################################################################
+# MRS Version: 1.9.2
+# 自动生成的文件。不要编辑!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../FreeRTOS/portable/MemMang/heap_4.c
+
+OBJS += \
+./FreeRTOS/portable/MemMang/heap_4.o
+
+C_DEPS += \
+./FreeRTOS/portable/MemMang/heap_4.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+FreeRTOS/portable/MemMang/%.o: ../FreeRTOS/portable/MemMang/%.c
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @
+
diff --git a/prj/TCPClient/obj/FreeRTOS/subdir.mk b/prj/TCPClient/obj/FreeRTOS/subdir.mk
index b25096a..8944134 100644
--- a/prj/TCPClient/obj/FreeRTOS/subdir.mk
+++ b/prj/TCPClient/obj/FreeRTOS/subdir.mk
@@ -1,57 +1,33 @@
################################################################################
-# FreeRTOS kernel sources for TCPClient project
+# MRS Version: 1.9.2
+# 自动生成的文件。不要编辑!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
-../FreeRTOS/tasks.c \
-../FreeRTOS/queue.c \
-../FreeRTOS/list.c \
-../FreeRTOS/timers.c \
../FreeRTOS/event_groups.c \
-../FreeRTOS/portable/MemMang/heap_4.c \
-../FreeRTOS/portable/GCC/RISC-V/port.c
-
-S_UPPER_SRCS += \
-../FreeRTOS/portable/GCC/RISC-V/portASM.S
+../FreeRTOS/list.c \
+../FreeRTOS/queue.c \
+../FreeRTOS/tasks.c \
+../FreeRTOS/timers.c
OBJS += \
-./FreeRTOS/tasks.o \
-./FreeRTOS/queue.o \
-./FreeRTOS/list.o \
-./FreeRTOS/timers.o \
./FreeRTOS/event_groups.o \
-./FreeRTOS/portable/MemMang/heap_4.o \
-./FreeRTOS/portable/GCC/RISC-V/port.o \
-./FreeRTOS/portable/GCC/RISC-V/portASM.o
+./FreeRTOS/list.o \
+./FreeRTOS/queue.o \
+./FreeRTOS/tasks.o \
+./FreeRTOS/timers.o
C_DEPS += \
-./FreeRTOS/tasks.d \
-./FreeRTOS/queue.d \
-./FreeRTOS/list.d \
-./FreeRTOS/timers.d \
./FreeRTOS/event_groups.d \
-./FreeRTOS/portable/MemMang/heap_4.d \
-./FreeRTOS/portable/GCC/RISC-V/port.d
-
-S_UPPER_DEPS += \
-./FreeRTOS/portable/GCC/RISC-V/portASM.d
+./FreeRTOS/list.d \
+./FreeRTOS/queue.d \
+./FreeRTOS/tasks.d \
+./FreeRTOS/timers.d
# Each subdirectory must supply rules for building sources it contributes
FreeRTOS/%.o: ../FreeRTOS/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
- @ @
-
-FreeRTOS/portable/MemMang/%.o: ../FreeRTOS/portable/MemMang/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
- @ @
-
-FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
- @ @
-
-FreeRTOS/portable/GCC/RISC-V/%.o: ../FreeRTOS/portable/GCC/RISC-V/%.S
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\Project_Ch32v307\prj\TCPClient\Startup" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/Middle/QDXnetworkStack/subdir.mk b/prj/TCPClient/obj/Middle/QDXnetworkStack/subdir.mk
index da499c3..82d79d1 100644
--- a/prj/TCPClient/obj/Middle/QDXnetworkStack/subdir.mk
+++ b/prj/TCPClient/obj/Middle/QDXnetworkStack/subdir.mk
@@ -25,6 +25,6 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
Middle/QDXnetworkStack/%.o: ../Middle/QDXnetworkStack/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\include" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\Project_Ch32v307\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V\chip_specific_extensions\RV32I_PFIC_no_extensions" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/NetLib/subdir.mk b/prj/TCPClient/obj/NetLib/subdir.mk
index 6deee43..d296c33 100644
--- a/prj/TCPClient/obj/NetLib/subdir.mk
+++ b/prj/TCPClient/obj/NetLib/subdir.mk
@@ -16,6 +16,6 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
NetLib/%.o: ../NetLib/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/Peripheral/src/subdir.mk b/prj/TCPClient/obj/Peripheral/src/subdir.mk
index ea64dd0..7efcf4d 100644
--- a/prj/TCPClient/obj/Peripheral/src/subdir.mk
+++ b/prj/TCPClient/obj/Peripheral/src/subdir.mk
@@ -91,6 +91,6 @@ C_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
Peripheral/src/%.o: ../Peripheral/src/%.c
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\Project_Ch32v307\prj\TCPClient\NetLib" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Core" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Debug" -I"D:\zj\Project_Ch32v307\prj\TCPClient\Peripheral\inc" -I"D:\zj\Project_Ch32v307\prj\TCPClient\User" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -I"D:\zj\ch32v307_camera\prj\TCPClient\NetLib" -I"D:\zj\ch32v307_camera\prj\TCPClient\Core" -I"D:\zj\ch32v307_camera\prj\TCPClient\Debug" -I"D:\zj\ch32v307_camera\prj\TCPClient\Peripheral\inc" -I"D:\zj\ch32v307_camera\prj\TCPClient\User" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\include" -I"D:\zj\ch32v307_camera\prj\TCPClient\FreeRTOS\portable\GCC\RISC-V" -I"D:\zj\ch32v307_camera\prj\TCPClient\Middle\QDXnetworkStack" -std=gnu99 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/Startup/subdir.mk b/prj/TCPClient/obj/Startup/subdir.mk
index fd422c3..6512983 100644
--- a/prj/TCPClient/obj/Startup/subdir.mk
+++ b/prj/TCPClient/obj/Startup/subdir.mk
@@ -16,6 +16,6 @@ S_UPPER_DEPS += \
# Each subdirectory must supply rules for building sources it contributes
Startup/%.o: ../Startup/%.S
- @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\Project_Ch32v307\prj\TCPClient\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
+ @ @ riscv-none-embed-gcc -march=rv32imacxw -mabi=ilp32 -msmall-data-limit=8 -msave-restore -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fno-common -Wunused -Wuninitialized -g -x assembler-with-cpp -I"D:\zj\ch32v307_camera\prj\TCPClient\Startup" -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -c -o "$@" "$<"
@ @
diff --git a/prj/TCPClient/obj/TCPClient.elf b/prj/TCPClient/obj/TCPClient.elf
deleted file mode 100644
index 43cb24d..0000000
Binary files a/prj/TCPClient/obj/TCPClient.elf and /dev/null differ
diff --git a/prj/TCPClient/obj/TCPClient.hex b/prj/TCPClient/obj/TCPClient.hex
deleted file mode 100644
index 251748d..0000000
--- a/prj/TCPClient/obj/TCPClient.hex
+++ /dev/null
@@ -1,2292 +0,0 @@
-:040000006F00D00CB1
-:100004000000000000000000C8020000CA02000056
-:1000140000000000CA08000000000000000000000A
-:10002400CA080000CA080000000000000000000028
-:10003400CA08000000000000CA0800000000000018
-:10004400CA080000CA080000CA080000CA08000064
-:10005400CA080000CA080000CA080000CA08000054
-:10006400CA080000CA080000CA080000CA08000044
-:10007400CA080000CA080000CA080000CA08000034
-:10008400CA080000CA080000CA080000CA08000024
-:10009400CA080000CA080000CA0800001C030000C7
-:1000A400CA080000CA080000CA080000CA08000004
-:1000B40078030000CA080000CA080000CA0800004B
-:1000C400CA080000CA080000CA080000CA080000E4
-:1000D400CA080000CA080000CA080000CA080000D4
-:1000E400CA080000CA080000CA080000CA080000C4
-:1000F400CA080000CA080000CA080000CA080000B4
-:1001040000000000CA080000CA080000CA08000075
-:10011400CA080000CA080000CA080000CA08000093
-:10012400CA080000CA080000CA080000CA08000083
-:10013400CA08000070030000CA080000CA080000D2
-:10014400CA080000CA080000CA080000CA08000063
-:10015400CA080000CA080000141B0000CA080000F6
-:10016400CA080000CA080000CA080000CA08000043
-:10017400CA080000CA080000CA080000CA08000033
-:10018400CA080000CA080000CA080000CA08000023
-:10019400CA080000CA080000CA080000CA08000013
-:1001A400000000000000000000000000000000004B
-:0C01B4000000000000000000000000003F
-:1001C000397101436EC619A0397141536AC866CAB4
-:1001D00062CC5ECE19A0397101535AD056D252D496
-:1001E0004ED64AD826DA22DC06DE3301614082820E
-:1001F00041114AC026C222C406C68282B24D4101C4
-:10020000024D924C224CB24B4101024B924A224A7F
-:10021000B2494101024992442244B24041018280E4
-:100220003D432A876373C3029377F700BDEFADE5C3
-:10023000937606FF3D8ABA960CC34CC30CC74CC7D5
-:100240004107E36BD7FE11E28280B306C3408A0602
-:100250009702000096966780A6002307B700A306C2
-:10026000B7002306B700A305B7002305B700A30412
-:10027000B7002304B700A303B7002303B700A3020A
-:10028000B7002302B700A301B7002301B700A30002
-:10029000B7002300B700828093F5F50F9396850091
-:1002A000D58D93960501D58D61B79396270097025A
-:1002B000000096968682E78086FA9680C1171D8F89
-:1002C0003E96E374C3F8A5B701A037950000130567
-:1002D00045C7EF803008EF109009AA8537950000D8
-:1002E000130585C8EF80D004EF10D008AA85379594
-:1002F0000000130585C9EF80B003EF101008AA8530
-:1003000037950000130585CAEF809002B707EFBE4E
-:1003100037E700E0938707083CC701A0397106DE84
-:1003200016DC1ADA1ED82AD62ED432D236D03ACEDD
-:100330003ECC42CA46C872C676C47AC27EC0EF00BE
-:10034000D07C13050008EF00100EF250E252525319
-:10035000C2533255A255125682567247E24752484E
-:10036000C248324EA24E124F824F2161730020309C
-:10037000EF10004273002030938781859843294510
-:10038000290798C3EF00F062854537050040EF006C
-:1003900030507300203019C9EFF29FE5AA853795D8
-:1003A0000000130505D5EF80A078ADB58280EFF28F
-:1003B0003FE441118545054502C202C423160100F0
-:1003C000EF00F03383A7418137470F00130707245D
-:1003D000B3D7E7024C003705004023130100FD1797
-:1003E0007C8289679387F7703EC4EF00F03805463A
-:1003F000854537050040EF009048854537050040AA
-:10040000EF007046854537050040EF007048B7E7BC
-:1004100000E0056723A2E7104101EDBBEFF25FDDCD
-:1004200039711306C00381454800DD3BB707002042
-:1004300083A70702138421863ED883D701814C000D
-:10044000138521863ED4938721819A239306170032
-:1004500096A38D473ED08567938787B63AD63EC828
-:10046000EF2040110C20AA8437950000130585CB9E
-:10047000EF80006C268505370820EF20700E213FA5
-:10048000216149BBEFF2DFD61307C0033307E50252
-:10049000B77700209387873341112A84BA97D447CE
-:1004A0009847CC4B9C4F3697B386F5006374D700C2
-:1004B000B307B740700022853EC6EF20806811E583
-:1004C000700081452285EF2080324101A1B3EFF217
-:1004D0003FD293F745002A84AE8491C3653793F7E2
-:1004E0008400A9C385452285EF20500205661306C6
-:1004F00086B6B305C402B70700209387C7162285C6
-:10050000BE95EF20C0299387418694231307F00FEF
-:100510006393E60080A337950000A285130585D07C
-:10052000EF80006193F7040191CF93874186982370
-:10053000631487007D5798A337950000130505D3F2
-:10054000EF80406193F4040499CC9387418698230B
-:10055000631487007D5798A337950000130505D4D1
-:10056000EF80405F653D7DB1EFF29FC8EF20A07541
-:10057000937715002A8499C737950000130585CC19
-:10058000EF80405D9377240099C7379500001305ED
-:10059000C5CDEF80205C9377440099CBEF20607647
-:1005A000118919C537950000130545CFEF80805A92
-:1005B000418811E085B10145EF200072AA857DD9FF
-:1005C00001453137C5BFEFF21FC14111D12AEF10EC
-:1005D000002E716513050520EF10203383A541819E
-:1005E00037950000130505D6EF808054EF10707228
-:1005F000AA8537950000130505D8EF806053EF10EA
-:100600005071ED476308F50037950000130505D9D3
-:10061000EF8040541385C185EF00B0373795000057
-:10062000130505DAEF80C0508144138AC185B7995C
-:1006300000001949B3079A008C231385C9DA850491
-:10064000EF80004FE39824FF2945EF804055EF10DD
-:10065000C035B13B9386C1851386C18093854180A7
-:1006600013858180EF10601D2A84353319E4379596
-:100670000000130505DBEF80E04DA565314693854D
-:1006800085C64800EF8020534800EF10F0527D5798
-:100690002382E1866133EF10C03DEF00705EEF20F2
-:1006A000A05E75D9D135C5BFB71702409843B706CC
-:1006B000FFF041111367170098C3D84337060200B3
-:1006C000758FD8C39843B706F7FEFD16758F98C38C
-:1006D0009843B706FCFFFD16758F98C3D843B7063D
-:1006E00001FFFD16758FD8C39843B70600ECFD16C1
-:1006F000758F98C33707FF0098C723A6070202C467
-:1007000002C69843C166558F98C3B7160240056765
-:100710009C42F18F3EC6A24785073EC4B24781E79F
-:10072000A247E397E7FEB71702409C431397E70001
-:100730006356070685473EC632478547631EF70462
-:10074000B7170240D843B706C1FFFD16D8C3D84338
-:10075000D8C3D84313670740D8C3D843758FD8C3CD
-:10076000D843C166558FD8C39843B7060001558F4B
-:1007700098C3984393166700E3DD06FED843B71687
-:100780000240719BD8C3D84313672700D8C32147C1
-:10079000DC42B18BE39EE7FE4101828002C669BF65
-:1007A000B7160240D8421146318B938741816305C9
-:1007B000C70021466308C70237177A0013070720CE
-:1007C00098C337170240584311839376F7003707D1
-:1007D0000020130707003697142398433357D70098
-:1007E00098C38280D842D442416649833D8BF18EC2
-:1007F0001306270015CF3D47630FE6024147630FFD
-:10080000E602454781456313E6004146A1E23747CA
-:10081000024003270780418B0DC737177A00130763
-:1008200007203306C70290C3C9DD9843058349BF3B
-:1008300081454946E1BF85453546C9BF81453D46AD
-:10084000F1B737173D0013070790E1BF3715024096
-:1008500058559316F700585563DF060411833D8BF6
-:100860009306170037177A00130707203357D7026C
-:1008700098C35455A182BD8A8DE295463307D702AD
-:10088000058398C337170240585794433D8B05079B
-:1008900033D7E60298C3984369B705456394A60029
-:1008A000E546E9BF3D456396A600D1463387E6029B
-:1008B000C9BF8906E5BF3D8B9306170037177A003D
-:1008C000130707203357D702F1B701A09701002083
-:1008D000938141F517F101201301C17217850000C2
-:1008E0001305855B97F5FF1F9385C5711386818579
-:1008F00063FAC5008322050023A055001105910568
-:10090000E3EAC5FE13858185977500209385C5FCB4
-:100910006377B500232005001105E36DB5FEFD42A8
-:10092000739002BCAD4273904280B7620000938224
-:1009300082087390023097F2FFFF9382E26C93E299
-:10094000320073905230EFF03FD69702000093824E
-:10095000C2C77390123473002030B7F7FF1F03A58E
-:1009600047708280B7070550B82301C5D98DACA365
-:10097000828093C5F5FFF98DDDBFB7070550982339
-:100980001377F70C98A3982319C9598D88A33707B3
-:1009900005501C2389C993E707041CA382801377A1
-:1009A000F70C98A3EDB793F7F70BC5BF1DCD85479F
-:1009B0006318F500370705501C3393E717001CB385
-:1009C0009DC985476398F500370705501C3393E7A9
-:1009D00027001CB31DC685476318F600370705506E
-:1009E0001C3393E747001CB38280370705501C3344
-:1009F00093F7E70FE9B7370705501C3393F7D70F85
-:100A0000C9BF370705501C3393F7B70FE9BFEFF2A3
-:100A10002FFE8545116519238145116501236FF06E
-:100A20006FFF411102C6B78602409C4A41672E05FE
-:100A30007D17F18B798D9A055D8D93F5057CC98DB8
-:100A400093E51500B70750008CCAF9173247050720
-:100A50003AC6984A058B01C73247E3F9E7FE3247A9
-:100A6000B7075000FD1701456307F700B78702403D
-:100A7000C84B42054181410182804111B787024044
-:100A800002C6984BC166FD162E05758D718B9A05B1
-:100A9000598D93F5057CC98DD0CB93E535008CCB72
-:100AA000B7070500B7860240F917324705073AC66F
-:100AB000984A058B01C73247E3F9E7FE3245B7078D
-:100AC0000500FD173335F50041018280378702406C
-:100AD0001C4309C593E787001CC38280DD9BEDBFE3
-:100AE000378702401C4309C593E747001CC3828037
-:100AF000ED9BEDBF23A6A1862A878147B70810404A
-:100B00001303405F130EF6FF6396C700B7970240CA
-:100B100088CB8280B3866702232017012A88AE968D
-:100B200014C79306070163F3C7013688232607011C
-:100B300085073687D1BF916623A4A1860147AA877E
-:100B4000370300809386465F130E405F930EF6FFD7
-:100B50006316C700B7970240C8C782803308C7032F
-:100B600023A06700D4C3AA882E9823A40701138862
-:100B700007016373D701C28823A617010507C2873F
-:100B8000C1BF379702401C4393E717001CC3828004
-:100B9000B7970240C8CB8280379702401C4FB706F8
-:100BA0001000D58F1CCF8280EFF28FE43784024093
-:100BB0001C4093E787001CC0C5371C40896693E73B
-:100BC00047001CC0B7970240984F558F98CF984F59
-:100BD0001367270098CF6FF0EFE399C5379702406E
-:100BE0005C4F5D8D48CF8280B7970240D84F134548
-:100BF000F5FF798DC8CF8280378702401C4315C12D
-:100C000093E727001CC39D4763ECB700378702407A
-:100C10001C43F6058E078D831CC31C43DD8D0CC35E
-:100C20008280F59BC5B7B707014023AAA740828001
-:100C30009C4513F7070113F8F70001C7D841336843
-:100C4000E8008E2113F7F50F39C318418146854E10
-:100C50003D4F930F800293028004214E3396DE00B5
-:100C6000B3F8C500631116039398260033131F01D0
-:100C70001343F3FF3377E300B318180133E7E800B9
-:100C8000639FF70550C98506E39AC6FD18C113078F
-:100C9000F00F6375B70454412146854E3D4F930FC5
-:100CA000800293028004414EB398CE0033F71501C1
-:100CB0006392E8021317260001173313EF00134362
-:100CC000F3FFB376D3003317E800D98E639DF701A5
-:100CD000232A15010506E319C6FD54C18280E39459
-:100CE00057FA10C94DB7E39757FE23281501DDB712
-:100CF00003A70187894710216311F70214318D473B
-:100D000063EDD7003C219A0637E700E09607D58FC0
-:100D100093F7F70F32972300F74054410547935755
-:100D200056003317C70089CA938707048A07B7E6B6
-:100D300000E0B69798C3828093870706B7E600E085
-:100D40008A07B69798C30F100000828037170240B9
-:100D50005C439146B18B6385D700A1466382D70679
-:100D6000B7177A00938707201CC1371602405C42F0
-:100D700037070020130707019183BD8BBA9794238F
-:100D80001C41B3D7D7005CC15442A1829D8ABA9658
-:100D90009422B3D6D70014C55442AD829D8A3697AB
-:100DA0001823B3D7E7005CC55842398393763700E0
-:100DB0001387818136971823B3D7E7021CC9828035
-:100DC0005C435843C166C983758FB7F6FF1F83A67E
-:100DD000C670BD8B89071396160163480600C54689
-:100DE00001466392D702C94739A88946638FD70263
-:100DF000BD46638ED702C146638ED702C546014603
-:100E00006393D700C1471DEF374702400327078090
-:100E1000418B05C737177A0013070720B307F7027E
-:100E20001CC121D61C41858381B701466DBF054693
-:100E3000B547D1BF0146BD47F9B737173D00130786
-:100E40000790E9BFB7150240D8559316F700D8555B
-:100E500063DF060411833D8B9306170037177A0072
-:100E6000130707203357D70218C1D455A182BD8A72
-:100E70008DE295463307D702058318C13717024024
-:100E8000585714413D8B050733D7E60218C1184166
-:100E900071B785456394B600E546E9BFBD456396E5
-:100EA000B600D1463387E602C9BF8906E5BF3D8B50
-:100EB0009306170037177A00130707203357D70216
-:100EC000F1B799C5371702405C4B5D8D48CB8280E6
-:100ED000B7170240D84B1345F5FF798DC8CB8280F8
-:100EE00099C5371702401C4F5D8D08CF8280B71718
-:100EF0000240984F1345F5FF798D88CF828099C5C0
-:100F0000371702405C4F5D8D48CF8280B717024093
-:100F1000D84F1345F5FF798DC8CF828099C5371713
-:100F200002401C575D8D08D78280B7170240985742
-:100F30001345F5FF798D88D78280B7170240D857BF
-:100F4000B706D0FFFD16758FD8D7D8575205598DE3
-:100F5000C8D7828009C9371702405C57B7064000DE
-:100F6000D58F5CD78280B7160240DC563707C0FFAA
-:100F70007D17F98FDCD6828037F7FF1F0327477074
-:100F80001E21914611833D8BC2077117C18363E611
-:100F9000E60237370140930607C0630ED5001307FA
-:100FA0000740630AE50037570140930607C0630412
-:100FB000D500631AE5000967D98F37370140130759
-:100FC00007C06302E50437070040630EE50213071C
-:100FD0000740630AE5023717004093060780630461
-:100FE000D502130707C06300E50237370140130736
-:100FF0000740630AE50037570140930607C06304C2
-:10100000D5006318E50093F7F7F8BA21C207C1834A
-:10101000D98F37170040630CE500130707406308BA
-:10102000E50093F7F7CFFA21C207C183D98F1EA13C
-:10103000DE215EB59E211EB5B7370140138707C07C
-:10104000630EE50093870740630AF500B757014038
-:10105000138707C06304E5006314F5009C251EB9DF
-:1010600085475EA982801E2189C593E717001EA1CE
-:101070008280C207C183F99BC207C183CDBF5E25B1
-:1010800001C6DD8D4EA5828093C5F5FFFD8DDDBFC8
-:1010900093C5F5FFC205C1810EA98280EFF24F957D
-:1010A0001629F577FD17F58FF621DA257971D58F99
-:1010B0001EA95625FD779387379FF58FD6212A8461
-:1010C0002EC6D58F9625D58FB625D58F5EA55E29E0
-:1010D000C207C18393F7F7CFD98F5EA96808BD31E6
-:1010E000B747014093870780B245631EF402A257B9
-:1010F0006547B387E7029841930640060A07B3D7CE
-:10110000E70233D7D702B3F7D702120792079387C4
-:101110002703B3D7D702BD8BD98FC207C1831EA4C3
-:1011200045616FF02F8F9257E1B791C55E25096732
-:10113000D98F5EA582805A25F977FD17F98FD5BF23
-:1011400093F5F51F4EA182800A216D8D3335A000E5
-:10115000828083A7C1869843634B07029843370672
-:1011600000304E05518F98C39843370600804D815B
-:10117000518F98C3C8C38CC737970240114650CBD4
-:1011800023220700DC47054523A6F186828001451E
-:10119000828037F7FF1F81471307D77E99463306B2
-:1011A000F7400C223306F50085070CA2E399D7FE21
-:1011B00082809387018898433A9588C38280EFF2B2
-:1011C000AF80411185450545213B85457145093B6A
-:1011D00037190140832749C0370701FF7D17F98F71
-:1011E0002322F9C0832749C03707BB000D44D98F9C
-:1011F0002322F9C0832709C07D773D07F98FE14499
-:101200002320F9C04C009147130509807C8222C439
-:1012100026C6393CA14B4C001305098023127101ED
-:1012200022C426C63134130B00084C001305098074
-:101230002312610122C426C6E53AC1474C00371586
-:1012400001407C8222C426C6E532930700024C008E
-:10125000371501407C82930909C022C426C6EFF0ED
-:101260003F9D854A4C004E852312510122C426C65B
-:10127000EFF01F9C91444C0037150140231251019F
-:1012800022C426C6EFF0DF9A094A4C003715014008
-:101290002312410122C426C6EFF09F994C00371556
-:1012A0000140648222C426C6EFF09F984C00371597
-:1012B00001402312710122C426C6EFF07F974C0033
-:1012C000130509802312510122C426C6EFF05F9650
-:1012D0004C00130509802312410122C426C6EFF0F9
-:1012E0003F954C004E852312410122C426C6EFF0E3
-:1012F0003F944C00371501402312610122C426C6D9
-:10130000EFF01F9341016FE0BFEFEFE2DFEC1384DA
-:1013100041880A200566130636A4FD45EFF0EFF577
-:101320000A20E945EFF0EFEF0A20E9459384418870
-:10133000EFF02FEF83A74187130700022A8493F76A
-:10134000070F9389418741496378F7061379440071
-:101350002285239C2187EF00D01F630D0902914550
-:101360000145EFF07F8993778400B7860240B1CFC3
-:101370009C42056713070780D98F9CC2137404032E
-:1013800039E8B78602409C4251777D17F98F9CC29D
-:10139000EFF09F818A20F545EFF0AFE82DA013050F
-:1013A00040060D2B8A20E9457D19EFF08FE7137970
-:1013B000F90F2A84630309007DD003D781879377CF
-:1013C0004400E315F7F86FE05FE49C427D77130774
-:1013D000F77FF98F5DB7C147631EF400B7870240FE
-:1013E0009843D176FD16758F98C398439166558FB3
-:1013F00098C379BF93070002E31CF4F8B787024053
-:101400009843D176FD16758F98C39843A166558F82
-:1014100098C383A709001307F00593F7070FE37933
-:10142000F7F689450545EFF02FFD9DB71387018835
-:1014300014431306803EB3D6C6029387C1878C43FC
-:10144000638FB602EFE2DFDA1843FD4505453357F7
-:10145000C7020566130636A498C3EFF00FE2E9450C
-:101460000545EFF00FDCE9450545EFF08FDB83D74D
-:10147000818711896383A700493D6FE0BFD98280CE
-:10148000EFE21FD7EF00B00BEF00806F45376FE042
-:101490007FD8EFE2FFD5B786024023A80600AA87CF
-:1014A0009047D8432E858145518FD047518FD053D7
-:1014B000518FD057518FD04F518F98C2D05F985FC6
-:1014C000518FB043518FF043518FB047518FF04748
-:1014D000518FB04B518FF04B518FD8C2B84F98C637
-:1014E000F84FD8C6B05BF857518FF05B518FB053AF
-:1014F0004206518F98CEF05FB85F518FD8CE83A649
-:10150000C70803A707082166558F83A6470983A745
-:101510008709558F5D8FB797024098CFEFF0EFD5D1
-:1015200005456FE03FCFEFE21FCB31718545AA84BF
-:101530007165EFF01F993747024085472392F18884
-:10154000832707800945096493E787002320F780F4
-:10155000EFF0BF9E0545EFF0FF9F13040471853146
-:1015600013894188EFF0AFCAB7990240EFF06FE1FD
-:101570007D14420429454180B12E09C483A7090086
-:10158000858BFDF78355090093070004370420007D
-:10159000130700084800BEC222C93ACD3ECF02C49C
-:1015A00002C602C802D402D802D002DE82C882C4B7
-:1015B00082CA82CC82C682C082CE82D082DE02C142
-:1015C00082D282D882DA82DC02C3E135DC30D820D4
-:1015D000B7860240A207D98FBCC298309C206165B3
-:1015E00022075D8FBC2085451305150CC2075D8F52
-:1015F000BC30E207D98FFCC2B707020023A88610CF
-:101600009387070223A6F610EFF02FDD0566130679
-:1016100036A4FD450545EFF04FC6E9450545EFF019
-:101620004FC0E9450545EFF0CFBF1189239CA18646
-:1016300029616FE09FBDEFE2BFBB0145EFF00FC92D
-:10164000EFF08FD50145EFF0AFC96FE0BFBCEFE21F
-:10165000BFB737840240B7940240B706700037071F
-:101660006000DC48F58FE39EE7FEF137832B040131
-:10167000032B0400832A4400032A84008329C40026
-:1016800003298401032CC4010964844C13040471EC
-:10169000EFF0EFB7B79C0240EFF0AFCE7D144204FD
-:1016A00029454180052C09C483A70C00858BFDF7D3
-:1016B0001387C1855C33502337840240A207D18F42
-:1016C0003CC003C7D18583C7C185616522075D8F93
-:1016D00083C7E18585451305150CC2075D8F83C758
-:1016E000F185E207D98F7CC0B70720002328F410CA
-:1016F000B7070200938707022326F410EFF0EFCD1F
-:10170000B7350020938C41520946938505711385A6
-:101710004152EFF02FBEB7150020138D414B1D46EF
-:10172000938545D61385414BEFF0EFC023A4A189E3
-:1017300023A69189232874012320640123225401C4
-:101740002324440123263401232C2401232E840145
-:10175000B797024084CFEFF02FC56FE07FAA83A731
-:1017600041871307000293F7070F6362F702EFE266
-:101770003FA8379402401C503707FE1FF98F91C7CE
-:10178000F93523240400232204006FE0BFA88280DF
-:10179000EFE21FA6B7970240C04B9317040163DD29
-:1017A00007009377040891C75D3F13050008EFF029
-:1017B0002FBE2165EFF0CFBD9317F40063D1070270
-:1017C0009377040489C713050004EFF06FBC058804
-:1017D00001C40545EFF0CFBB4165EFF06FBB6FE093
-:1017E0007FA3EFE2FFA02A84EFF02F9723AAA18620
-:1017F0002285153BB7350020138441520946938555
-:10180000057113854152EFF0EFAEB71500209384B8
-:10181000414B1D46938545D61385414BEFF0AFB143
-:1018200023A4918823A681880967B7E700E023A451
-:10183000E710A38607446FE0FF9DEFE27F9B3971BD
-:101840009307405F3ECA9307405B3ECC8567938712
-:1018500087263ECE930720033ED0930730103ED21A
-:10186000B727554085073ED4B71700009387271543
-:101870003EDAB7573412938787672A8948082EC6FD
-:1018800032C4B68402D602D802DC3EDEEF00303429
-:101890002A8411E92246B245A6864A85EF00302700
-:1018A0002A8426853D3F228521616FE0BF9683A76C
-:1018B000418137177A0013070720B3D7E70293F760
-:1018C000F70F2389F1881307803EB387E702239837
-:1018D000F1888280B7F700E0D8438146799BD8C36E
-:1018E00003C721893306A70290CBD4CB9843136753
-:1018F000070198C398431367170298C3D843058B11
-:1019000075DF9843799B98C38280EFE27F8E011147
-:101910002A84854537050400EFF06FDE85452145B3
-:10192000EFF00FDC930700407C82371501408D47B4
-:101930003EC44C00E147130505C03EC6EFF04FAF73
-:1019400022C837540040B70708000C08130504806C
-:101950003ECC02CA231E0100EFF04FF4854513056B
-:101960000480EFF08FFC05616FE0DF8AEFE2BF8655
-:10197000B7540040AE8932890144938404806345A2
-:1019800024014A856FE07F88930500042685EFF0E7
-:10199000AFFB7DD9B38789008385070026850504C1
-:1019A000C205C181EFF0CFF9D9BFEFE27F84011109
-:1019B0008545714502CA02CC02CE02C602C8EFF0CC
-:1019C0002FD285450965EFF0CFCF371401409147FD
-:1019D0003ECE4C089307006713050480FC82EFF0AD
-:1019E0002FA58567938707B04C0837150140FC8207
-:1019F000EFF00FA44C0893078030130504C0FC825D
-:101A0000EFF00FA393076005854468007C8626C825
-:101A100023070100EFF0CFAD054685450145EFE016
-:101A2000FFF881450145EFE05FF5370405501C20C4
-:101A30008D45054593F7170F1CA0B77700209387B6
-:101A400047371CC4B7770020938747575CC446A02C
-:101A5000930700207EA0EFE0FFF001468145054599
-:101A6000EFE0DFF41C2093E717001CA005616FE096
-:101A70006FFA9387318998231377F70F59CBEFE2E9
-:101A80008FF583A9418903A48189238007009307E7
-:101A9000F00B411163EC870403C541869307F00FF7
-:101AA000630FF5049384C1899E2070002C00139766
-:101AB0008700A183D98F7C8491473EC6230501000E
-:101AC000C085EF10000803C5418693070020700011
-:101AD000CE853EC6EF10E00611E803C641868C4075
-:101AE00037950000130585DEEF7080041306002093
-:101AF00081454E85EFE0CFF241016FE00FF17DF4BB
-:101B000083A5C18937950000130545E0EF704002B9
-:101B1000F1BF8280370705501C2B858B91CB854701
-:101B20001CAB23AC01889387C1899843050798C3F0
-:101B3000B7070550982B098B05C7094798AB9C330D
-:101B4000A18B8DE3B77700209387475723AAF188AD
-:101B5000938781899843050798C30547A389E1883E
-:101B600073002030B777002093874737C5B77325B8
-:101B70001034828073252034828073253034828033
-:101B8000EFE20FE783A7018841113EC6EF1060170F
-:101B90001189630305149387818B9843B246998E0C
-:101BA000378700200327478105836376D7003247B4
-:101BB00098C3EF307037EF30507183A7418D91C7D4
-:101BC000EF30B03819E123AA018C9384418B9840FF
-:101BD000B247998F1307703E6376F700EF20E00E4F
-:101BE000B2479CC09387018A9843B24613064006C9
-:101BF000998E03C7518C3307C70263E6E60032476C
-:101C000098C3EF10206DB77700209387877DD84762
-:101C100011CF1387018B1043B246918E1306703E8D
-:101C20006376D600B246DC4314C38297B7740020B3
-:101C300083A70478A9CB1387C18A1C43B246130635
-:101C4000A00F9D8EB787002083A70785ED83B387FC
-:101C5000C70263E9F600B2471CC3938704789C4B24
-:101C600091C382979387818A9843B246998E3D6744
-:101C70001307F7A56379D70032479384047898C394
-:101C8000DC4891C3829732459384418A752C9C40ED
-:101C900032471D8FBD679387F7A563F5E7008D2C4D
-:101CA000B2479CC003C7018DBE841377F70F0DC7E1
-:101CB00003C7018D1377070C1DE3B787002083A7A7
-:101CC000878599C30545829703A7018823A0E18CE6
-:101CD000930700042388F18C41016FE0AFD303C761
-:101CE000018D1377070415CB83A6018C03A7018808
-:101CF0001389018C158F93064006E3FFE6FCB78736
-:101D0000002083A7878599C30145829783A701880F
-:101D10002320F900930700F875BF03C7018D620700
-:101D20006187E35B07FA83A6018C03A70188158FFF
-:101D300093064006E3F2E6FA2388018C71BFEFE2D6
-:101D40002FCB3785002013058586EF10F0186FE044
-:101D50006FCCEFE2EFC9B77700209387877FD85722
-:101D60003784002088D313674700D8D71189930799
-:101D7000C4839C4F1304C48301CD99C3014582974A
-:101D80005C4C99C3014582970545A5226FE08FC839
-:101D900099C3054582975C4CF5DB05458297FDB7F5
-:101DA00083A78188232005009DCB944363DB060035
-:101DB000D4479042634506029C4363D4070023A4A2
-:101DC000D18883A7818891650146FD153548B708FC
-:101DD0000080944363D7060019C223A4F18801450B
-:101DE000828094431393060163420304944393F661
-:101DF00006108DCE944393F606208DCA9443C1827B
-:101E0000ED8EF11614C16371D802944393F6060265
-:101E100081EA19C223A4F1889C475CC105458280F0
-:101E2000944393F61608F5D62320050023A0170146
-:101E30000546DC4779BF03A78188B706008014C335
-:101E4000584723A4E1888280EFE28FBA83C7018DCF
-:101E500093F7F70F81E785472388F18C03A7018863
-:101E60009387C18B09CB98C3B787002083A7C78509
-:101E700082976FE02FBA0547FDB7B7F7FF1F03D56D
-:101E800067701375050F8280EFE28FB6B787002069
-:101E900083A7C7850149B1C783A4C186B9C09C4047
-:101EA00003A984001384C18B63DB0702F937144054
-:101EB00081471306000813083006A16813030003C6
-:101EC0006304C5006312650203A70188158F63646C
-:101ED000E80063FBF8009C40860785839CC02320B4
-:101EE00004004A856FE00FB39840E35A07FE850768
-:101EF000C1BF03A70188B77700209387477788A3DE
-:101F0000239107002392070098C7A38007008280CF
-:101F1000EFE20FAEB7840020138484865C40411149
-:101F20006C00138584863EC623220400EF10A02D8A
-:101F3000B2476C00138584865CC05C443EC6EF10DB
-:101F4000802C41016FE00FADB77700209387477772
-:101F5000982319E388C7828098479306703E330719
-:101F6000E54063F1E602EFE2AFA8BA2388C79146E5
-:101F700063F6E6000145B53F6FE0CFA90507BAA3B8
-:101F8000413FDDBF8280EFE2AFA62A84014595374D
-:101F9000B77700209387477711C8054798B3B7876D
-:101FA0000020094723A2E7826FE0CFA6A3800700A5
-:101FB000E5BF828003288503630B0802EFE24FA38D
-:101FC000FC5D014791C70507420741839C43DDBF84
-:101FD00083A7050891C70507420741839C43DDBFDE
-:101FE000814601468145029801456FE0AFA2014557
-:101FF000828001458280EFE22F9D5C42032A8500AA
-:102000000329C5000049AA8488239C33B289A2070A
-:102010005D8DEF10A07B9355650093F5C503B30567
-:10202000B0404E85EF20D03159E5DC44984C03DBBD
-:102030008900998F63E4670163180B004E85EF20D8
-:10204000103705456FE0CF9B4A9A4E890356A90089
-:10205000B30A8A40832B490063F4CA045686DE859E
-:102060002285EF6050358357A900984433044441DA
-:102070003E942286B3855B013A85EF60D0332A9483
-:1020800003290900E31409FC4E85EF2050329C4CD3
-:1020900080C8DA979CCC9C4093E747009CC055B71A
-:1020A0002285DE85EF6030318357A9003E94E399A5
-:1020B00057FD8044F1B7014571B761CEEFE2CF9093
-:1020C000832BC5001C4D035B8600BA8AB387FB4097
-:1020D000368A32892A8463E4670163170B004A85D4
-:1020E000EF20F02C6FE0CF911C450449B289BE9BD4
-:1020F00003D6A900338C9B4083AC49006377CC06A0
-:102100006286E6852685EF60102B83D7A9001844E8
-:10211000B3847441BE942686B3858C013A85EF6002
-:102120009029AA9483A90900E39409FC4A85EF2029
-:102130001028032884036305080483451A00834795
-:102140000A001448A205DD8D83472A005A87568667
-:10215000C207CD8F83453A002285E205DD8D0298C6
-:102160001C44232C04001CC8B5BF2685E685EF60FF
-:10217000902483D7A900BE94E39687FB04445DB7FF
-:10218000184C1C4004C85A9793E7470018CC1CC051
-:1021900091BF82801C49F1C7EFE20F83328AAE847F
-:1021A0002A8455CA832A85005845835B8600328974
-:1021B000BA9AC20A93DA0A019399070193D90901DD
-:1021C000338B3A410356A900420B135B0B01032CDE
-:1021D00049006376CB065A86E2853E85EF60B01DE6
-:1021E0000357A9001C44B3056C0133075741BA9942
-:1021F000C20993D909013E854E86EF60D01BB30713
-:10220000350103290900E31909FA184C1CC8528545
-:102210005E9718CC18401367470018C0EF2030199C
-:10222000FE38184C2685B38B77415C44239B74039E
-:10223000998FDEB4EF20307201456FD07FFC3E8570
-:10224000E285EF6050170357A900B307E500E31AD2
-:1022500067FB1C447DB70145EDF22E85EF308038D9
-:10226000E9BF7D558280EFD2BFF82E84B7250000EC
-:10227000AA84938545192285EF20707DB72500003B
-:102280002285938545FBEF20F07CB7250000228551
-:102290000546938525FFEF20B07C9C20014593E700
-:1022A00087009CC06FD01FF719C93305A040A567F0
-:1022B0009387C7E21375F50F3E950821828001458B
-:1022C0008280EFD2FFF29307C003B387F502377421
-:1022D0000020130784332A89AE841306C003814586
-:1022E00013048433BA973E85EFD09FF36307090048
-:1022F0001306C003CA85EF60100C9305C003B385B5
-:10230000B402A2959C459CC9DCC96FD0BFF0EFD246
-:102310009FEC2A8A377500204111AE89B28481452D
-:1023200061461305057836C6EFD09FEFB246377485
-:1023300000201309847FB68519461305C900EF6094
-:1023400090071146D2851305847FEF60D0061146B1
-:10235000CE8513054900EF6010061304847FA1E0C9
-:10236000B7070001FD171CC4814483C7818C63CF6C
-:10237000F402EF10603D85475CD01567B777002009
-:102380009387C77E130707E298C31167130787A9CE
-:10239000D8C3254798C7014541016FD01FE71146B3
-:1023A000A68513058400EF6010017DBF93F5F40F3F
-:1023B0000145013F850455BF1841B7770020938739
-:1023C000C77E98C35841D8C3184598C7828018550E
-:1023D000B757341293878767631AF712EFD2BFDFBC
-:1023E0001C512A842545638B07103779002013067A
-:1023F000400481451305897FEFD09FE2B784002018
-:102400001306C00281451385C483EFD07FE1130614
-:10241000C002A2851385C483EF60E0799389C483E9
-:1024200003A749014A869387C48325EBA56603D792
-:1024300086DC938686DCAE222E97CE22F6222E975D
-:1024400036979316270163DD060AD8CBD84B9356EF
-:10245000E700FD8A89EAB746F8FFFD16758FB706D3
-:102460000500558FD8CBD84B93563701FD8A89EAA2
-:10247000B746F8FFFD16758FB7065000558FD8CBBD
-:10248000D84B9316670063CA0600B70600FEFD1618
-:10249000758FB7060014558FD8CBD84B9356B7011C
-:1024A00089E6B7060040558FD8CBA946A382D18CC8
-:1024B0008D462382D18C9306C0122393D18CD8539E
-:1024C00011E737270000130707DAD8D3D44B0145AB
-:1024D00013D7E6007D8B2384D18C9307867F98CF1A
-:1024E00013D736017D8B130620033307C702D8CFDD
-:1024F00013976600635407000947B8C36FD0FFD035
-:10250000F976FD16758F8966558F81B71305F00F23
-:1025100082806D45828003C6818CB77700209386C8
-:1025200087330147938787336317E6008147631337
-:10253000F7020145828003A807036317A80009C5B5
-:102540000545EDD998A1828005071377F70F93878A
-:10255000C703D9BFD05A6319A60019C50545F9D9D3
-:1025600093E707F89CA18280850793F7F70F93867E
-:10257000C60375BFEFD23FC63779002023000500A0
-:1025800003C7818C4111930789338144130989332F
-:10259000631797001305000241016FD01FC793878F
-:1025A000C70383A647FE63810618850493F4F40FDE
-:1025B000C5B7B777002083A7877F6C003EC6EF20A2
-:1025C000701211469305C4026800EF60C05E6C0093
-:1025D0004E85EF2010131306C0033386C402B725BF
-:1025E0000000938565FF4E854A96EF20701395474E
-:1025F000378500206C00232834031CD01305858602
-:10260000EF007040A6852285EFF0BFCB014569B78A
-:1026100009476390E70AEF50F02BAA89630305127C
-:10262000930AC4021146D6856800EF60C058324A4A
-:10263000370500F0EF10A01C337AAA00370500E040
-:10264000EF10E01B6300AA04B78500209385858600
-:102650006800EF10E0621DE5B777002083A7877F51
-:1026600012346C004E853EC6EF5090031DE1D685B6
-:1026700011466800EF60205452306C004E85EF50D8
-:10268000301D39A01234938541844E85EF5050019E
-:1026900001C5EFF07FC109B71306C0033386C4023A
-:1026A000B72500009385A50B4E854A96EF50302242
-:1026B0003DBF0D4713051002E390E7EEEF30802E8B
-:1026C0005C4412346C005EB9B777002083A7877F23
-:1026D000AA893EC6EF20D0162A8A11C54E85EF2062
-:1026E000707052857DB79305C003B385B4024E85E3
-:1026F000CA95EF209035B72500004E85938525FBC0
-:10270000EF20B0359547A685228523283403232A58
-:1027100034031CD0EFF0FFBA378500206C0013059E
-:102720008586EF00502EDDB504A1DC4DC4C12E849A
-:10273000E39007EE03458402EF20D007AA89E31A4D
-:1027400005E6454591BDEFD2BFAA832785084EB562
-:102750002A8481C79E279D8D4EB52285EF20B01F0C
-:1027600009CD83476402228593E727002303F402FF
-:10277000EF40506405456FD0FFA9B787002083A7BD
-:10278000C784A183858BFDD783476402858BFDD3E6
-:102790008947A303F402054723AAE18CE1BF83C75D
-:1027A000818C6375F5041307C0033305E502B77721
-:1027B0000020938787333E95584D232C050050C544
-:1027C0000CC50CC94CC98D476312F702085919CDC5
-:1027D0005A3993371600631BF700EFD27FA1931588
-:1027E0000601C1814EB985376FD0DFA28280EFD25A
-:1027F0009F9E14426944CDCE23200600328A1306E0
-:10280000C0033306C502B774002013878433AA8936
-:10281000AE87938484333297032B87005047032974
-:102820008701404B329B63F326013689B30A8B4004
-:1028300063F32A0981CB3E855686A285EF60A037D7
-:10284000B30755011307C0033387E9024A943304E1
-:1028500064412697832A870091C72286D6853E85C4
-:10286000EF60603556949307C003B387F9022320C5
-:102870002A01A697984FC0CB3309274123AC2701E3
-:10288000631809009847D8CB98CB98436D9B98C3A1
-:102890009307C003B389F9028D470144CE94D84C05
-:1028A0006318F70063160900CE248858EFF0BFE9DB
-:1028B00022856FD09F9591C74A86A2853E85EF609D
-:1028C000802F4A94E3912AFB9307C003B387F90250
-:1028D000A697804749BFEFD23F8F004223200600D2
-:1028E00055C4AA876945D9C51305C003B387A70294
-:1028F0003775002013058533B77A00208144AA97E5
-:1029000003AB070393878A7FBC43938A8A7F898BB3
-:1029100099E39304700C9307805C63F487001304BD
-:10292000805C931C0401328A2E8993DC0C01130C09
-:10293000800C0146E6850145EF20402CAA8929C973
-:1029400048412286CA8523AE0A02EF60C026CE85A2
-:102950005A85EF202065AA8B4E85EF20402583A75E
-:10296000CA0399CB8504C204C180EFF04FBDE39246
-:1029700084FD4D456FD0DF8863D60B005E85EFF098
-:10298000BF92CDBF23208A000145EDB76945DDB771
-:102990004545CDB7EFD25F8300422320060055C4E2
-:1029A000AA876945D9C51305C003B387A702377540
-:1029B000002013058533B77A00208144AA9703AB22
-:1029C000070393878A7FBC43938A8A7F898B99E325
-:1029D0009304700C9307005C63F487001304005C9D
-:1029E000931C0401328A2E8993DC0C01130C800C99
-:1029F0000146E6850145EF206020AA8929C94841A2
-:102A00002286CA8523AE0A02EF60E01ACE855A8577
-:102A1000EF50E062AA8B4E85EF20601983A7CA03AE
-:102A200099CB8504C204C180EFF06FB1E39284FDBD
-:102A30004D456FD0EFFC63D60B005E85EFF0DF866F
-:102A4000CDBF23208A000145EDB76945DDB7454577
-:102A5000CDB7EFD26FF78329060023200600638EDF
-:102A6000090CAA872E8B6945A1C11305C003B38742
-:102A7000A7023775002013058533378A0020B28BF3
-:102A8000930A900C8144114C130ACA83FD5CAA97E7
-:102A900003A90703FD1AC20A93DA0A0163980A0020
-:102AA00083A70B00C9CB01456FD08FF583270901A0
-:102AB00063978709EFF0AFA80357690719E3454506
-:102AC000E5B783270A01858B99E3E36A37FF03247F
-:102AD0004A00637387003A8463F389004E841316B7
-:102AE00004014182854691E38146DA854A85EF40BB
-:102AF0007022AA844A858DE4EF40D02B83A70B0077
-:102B0000B3898940AA84A29723A0FB00229BE38C6F
-:102B100009F883270A01858BB5FFEFF0EFF869B755
-:102B200063999401EF40102983270A01858BBDF337
-:102B300079B7EF4030282685CDB76945B5B75D45F3
-:102B4000A5B79307C003B307F50237770020130733
-:102B50008733BA9703A8070215476307E800DD47E4
-:102B6000232006003E858280EFD28FE8D84F8D4724
-:102B70006318F700EFF0FFEDAA873E856FD08FE96D
-:102B800001E7EFF05FD5CDBF89469307A00FE316AD
-:102B9000D7FEEFF03FE0CDB7EFD28FE5A147AA8493
-:102BA0000021638AF50263ECB70085476381F50273
-:102BB000894713642400638EF5006FD0AFE5C147E9
-:102BC000638EF5009307000413640404EDB71364E7
-:102BD000140080C0DDB713648400E5BF4859136456
-:102BE000040165D9EF201020EDB7EFD2CFDE4111FF
-:102BF0009305F100AA89A3070100EFF0DF9115C545
-:102C0000848793978401E18763D407021304C00388
-:102C100093F4F407B38484023774002013048433DC
-:102C20002694232A04022320040241016FD0EFDD01
-:102C300083C7818CE3FBF4FE1307C0033387E402F0
-:102C4000B777002013848733138987333A94544C21
-:102C50000D47E39CE6FC83A709010547DD1793F7C1
-:102C6000F70F636EF700C1452285EFF0FFF293077F
-:102C7000C003B384F402CA9423A804026DB71C20D5
-:102C800093E707041CC0E5B73777002083C6818C23
-:102C9000130787338147638FF6001307C7030326A3
-:102CA00047FC11CEB77700209387877FD8571367EB
-:102CB0000701D8D7B787002003C5478282808507E0
-:102CC00093F7F70FC9BFEFD2AFD27D3FB787002090
-:102CD00023A207826FD00FD483C7818C6371F50262
-:102CE0009307C0033305F502B77700209387873336
-:102CF000AA9798431375F70F118B98C382800145EB
-:102D00008280B787002003C5878182809307C00334
-:102D10003305F502B7770020938787333E951C591A
-:102D200095CF145115475D45639BE60285899A2727
-:102D30009DC1136787009AA7377700201307C77EC6
-:102D4000144323A0D70A5443184723A2D70A23A425
-:102D5000E70A014582805D9B9AA7E5BF5D458280B9
-:102D600083C7818C6377F506EFD28FC81304C00345
-:102D700033058502377400201304843341112A94EB
-:102D800004585D4585CC185095476319F7025C548B
-:102D9000232A0402B72600003EC6523093866626D8
-:102DA0006C002685EF20F0432A8901CD2685EF208F
-:102DB00070034A8523200402EFF00FCF41016FD04A
-:102DC0006FC583C76402014593F7F7FB2383F402C1
-:102DD000F5B769458280B787002003A5078535814F
-:102DE00005898280B77700209387877F0547411147
-:102DF000C8CB94DBD0DB8CDFD8D741018280B7878A
-:102E00000020054723AAE7828280EFD26FBEB787F2
-:102E1000002003A6878483A6018213178601618799
-:102E2000630C051483C7818D614889483388070383
-:102E300036980323C8006311131503431500834814
-:102E4000050003280800220333631301834825008B
-:102E5000C20833E3680083483500E208B3E868003D
-:102E6000639C0811E207E1873E856FD0AFBAB38853
-:102E70005702B69803AEC800631A060763180E0619
-:102E800013988701135888418507C207C183E3E07F
-:102E9000C7FE6317060193F81500FD57E38608FC8B
-:102EA0008989FD57F1F193170801636BC8009317E7
-:102EB00003016367C300FD57E378C7FA931707015F
-:102EC000C18361473387E702BA9623A6060001CD86
-:102ED000103118212206598E38214207598E383177
-:102EE0006207518F98C2239806000DA863147E04D0
-:102EF0000DC9834E1500034E0500A20EB3EECE01A0
-:102F0000034E2500420EB36EDE01034E3500620E05
-:102F1000336EDE0183AE08006315DE01238CF18C75
-:102F200091B783D80801E3E1E8F713978701618738
-:102F3000468F99BFE31A8EF415C5834E1500034ED4
-:102F40000500A20EB3EECE01034E2500420EB36E75
-:102F5000DE01034E3500620E336EDE0183AE0800E3
-:102F6000E30EDEFB83D80801E3E0F8F31393870157
-:102F700013538341C68F09BF3A883A83814F014F6B
-:102F80008147E1428543094419B7EFD2CFA4983174
-:102F90009C21368A22075D8FBC215441C2075D8F78
-:102FA000BC31E207D98F639BF60089E6D9573E858D
-:102FB0006FD0AFA50545EFE01FFDCDBFE5DB2E844B
-:102FC0002A89AA852285B289EF00904B65F11C30D1
-:102FD0000420370500F0A207C58F2420C204C58F46
-:102FE0002430E204DD8CEF009001E98C370500E02D
-:102FF000EF00F000E38CA4FAD2852285EFF0FFE029
-:10300000AA87E34605FAE147B307F50203A5018263
-:103010003E9589475CC5232A2501938759001307EC
-:10302000950094237D1714B39386F7FF6396F900F8
-:10303000231805008147A5BFB687E5B721CDEFD29C
-:103040002F9BC4412A84DC34C824A2075D8DEF0085
-:103050000077A16793870710938524016304F50027
-:103060009385E400D835DC2522075D8FFC25C20757
-:103070005D8FFC35E207D98F5840B98F1844F98F1E
-:1030800081EB814613866400B1052285EFF0FFEFE6
-:103090006FD04F98828063070516EFD2CF933A2600
-:1030A000930790024111B2892E8AAA8463E8E7004F
-:1030B0004E85EF10D02F41016FD02F950329460088
-:1030C0008347D9000345C90013042901A2075D8D78
-:1030D000EF00E06EA167938707106304F500130407
-:1030E000E900834A14001C200545A20AB3EAFA004D
-:1030F000EF00E06CE39EAAFA834A54005C201305BB
-:103100004060A20AB3EAFA00EF00606BE392AAFA09
-:10311000834A34003C200565A20A13050580B3EA02
-:10312000FA00EF00C069E395AAF8930AE40011469B
-:10313000D6856800EF503028D44013068400ADC215
-:10314000183C1C2C22075D8F3C2CC2075D8F3C3C39
-:10315000E207D98F6396F60485466C002685EFF06A
-:10316000DFE2054B7C306820A2075D8D892D854705
-:10317000630FF5028947E31DF5F26C002685EF1019
-:10318000803FB777002003A70778E30307F2938710
-:103190000778DC47E38E07F06C002685829709BF2D
-:1031A00081466C002685EFF05FDE014B65BFE301D1
-:1031B0000BF00945292568A0218168B01146D68504
-:1031C00013058401EF50301F114693854400568546
-:1031D000EF50701E350415099547FD5618207D19CE
-:1031E0007D1438B4A300E9003307FA001823FD1753
-:1031F00018B0A303E900E393D7FE9C4CCE85268547
-:1032000082977DB58280EFC21FFD2A89AE89014673
-:103210009305A0020D45EF10701E7D544DC940412D
-:10322000AA840545692B48A8218148B89306E9027C
-:103230009307540015479385C183138641837D55B9
-:1032400003C80600FD17FD16A38B07013388E500B0
-:1032500003480800A38007033308E600034808007A
-:103260007D17A380070103C81600A3830701E31994
-:10327000A7FC1146930549001305C401EF50B01394
-:10328000CE85114613056402EF50F0120545052B5B
-:1032900068A48569218168B4138509800D2308A875
-:1032A000218108B813054060192B28A8218128B86E
-:1032B0001385698029238327890148A4218148B483
-:1032C000A6854A8582972A842685EF10500E22858E
-:1032D0006FC0BFF3EFC25FEFB78400200144938457
-:1032E000C483E14A894B054C930CF00FDC446364C2
-:1032F000F4006FC0FFF0330954039389018283A562
-:103300000900CA959E29D8458507C207C1839EA991
-:10331000631A770103D7618C63FCE700050413741B
-:10332000F40FE9B7E31C87FF03C7418C6375F7000F
-:1033300023A60500E5B7C849EFF0FFEC83C7418C31
-:10334000E39E97FD83A70900CA9723980700F9B762
-:10335000EFC27FE82E8441112A89AA852285B2898D
-:10336000EF00101209C5595541016FC01FEA1C300A
-:103370000420370500F0A207C58F2420C204C58FA2
-:103380002430E204DD8CA529E98C370500E085298D
-:10339000E38BA4FC18301C2022075D8F3C20C20761
-:1033A0005D8F3C30E207D98FDDDF85452285EFF068
-:1033B000DFA5E34B05FAE147B304F50283A70182D9
-:1033C000138A0182A697D84711C77D55639B0902CE
-:1033D000814A31A00547D8C723AA2701854AEFF0C3
-:1033E0001FA2A2854A85EFF01FE201ED83270A00A4
-:1033F0000547A697D4476396E60063940A0023988E
-:10340000070083270A00A697D84785476316F70069
-:103410002AC6EFF0DF9E3245E38809F483270A00CD
-:103420000947A697D447E391E6F403A4490013871C
-:1034300097001306E902930654008D070C237D17AD
-:10344000FD168CB20C227D16ECB2E319F7FE056571
-:1034500013050580AD268327890148A4218148B43E
-:10346000CE854A85829709B7EFC2FFD6AE84411157
-:103470002A89B94526853284EF10806C631E0510B9
-:10348000CA852285EF00C07F631505101C30834973
-:103490000400370500F0A207B3E737018349240091
-:1034A000C209B3E7F90083493400E209B3E9F9003E
-:1034B000B926B3F9A900370500E091261020143091
-:1034C00038203C30639CA90813958600518D420733
-:1034D000598DE20785456C845D8D9305E0054C852B
-:1034E000392E41811375F507C88508301C20220547
-:1034F0005D8D3C20C207C98F283062055D8D012695
-:103500002181488608301C2022055D8D3C20C207A1
-:10351000C98F283062055D8DDD24C8863400C04027
-:1035200095477D5613075400B385F6008C217D170F
-:103530000CB3B305F90083C59502FD176CB3E39591
-:10354000C7FE0565130505809D2C8327890148A4C6
-:10355000218148B4A6854A8582970DA8A206D18EFE
-:103560004207558FE207D98F03274900B98F0327F8
-:103570008900F98F99C78327C900715581CB13043E
-:10358000C9002686A2854A85EFF09FDC41016FC005
-:10359000DFC79386418361B77955CDBFEFC25FC561
-:1035A00044412A842E89DC34C824A2075D8D012C75
-:1035B000A167938707106317F5009C388828A20736
-:1035C0005D8DF52A9307058091CB8567938767808A
-:1035D0006302F5042285EF10805D15A8A2854A8557
-:1035E000EFF0DFA5DC34C824A2075D8DC92AA167EE
-:1035F00093870710B9456313F500C945B305B0407B
-:103600002285EF10E05379F5CA852285A92401456A
-:103610006FC05FC02286930599024A85EFF0BFA76D
-:10362000FDB7EFC2FFBCB7770020938787795CD1E5
-:1036300093075006A309F5029307E006230AF50253
-:10364000B7370000938787465CC9B7370000938778
-:1036500067681CCDB785002099472A842304F502AA
-:10366000232E050019469385158913059502EF5001
-:1036700080549307C05D1EB8930730032309F402FA
-:1036800001456FC03FB9EFC2BFB6B1642E849384C9
-:103690001435EFF00FE7118915CDFD1485CCEFE05F
-:1036A000AFFE2A897DD5AA87814401E8CA8526858F
-:1036B000EFE08FF901456FC0FFB532244C403E85E5
-:1036C000EF50604F3A240040BA94C204B307E500BB
-:1036D000C180E1BF5155C5B7EFC2FFAFB78700202A
-:1036E00083A70786AA891385C18D9384C18D82978C
-:1036F0008C40A9C983C7018D1384C18D93F7F70F3F
-:1037000081E785472388F18CC2050D46C1810D45AF
-:103710004440EF10A04E2A8915C52A84322448401F
-:10372000A685EF5040493E240040BE9465F8EFE086
-:103730008FF083A70901CE854A85829701C54A8506
-:10374000EF10E0466FC07FACEFC29FAA41113784F3
-:10375000002002C202C402C6EF00107A130584865C
-:10376000B785002019469385458013059502EF50D3
-:103770008044B777002003A7877F9387877F13054F
-:1037800084863AC29847DC433AC43EC623AE018ED3
-:1037900023AC018EEF10E03937380000B737000056
-:1037A000740030004C001308C85993872762014702
-:1037B00013058486EF10403241016FC0BFA59317F7
-:1037C000850021815D8D42054181828093178500AE
-:1037D00021815D8D420541818280135785019317B8
-:1037E0008501D98FB706FF0013178500758FD98F14
-:1037F0004167130707F02181798D5D8D8280EFC2CB
-:103800003F9FEFF09FFD6FC0FFA0EFC27F9E03A41C
-:10381000C18FAA8401EC03A5818F11C5EF10C031BF
-:1038200019C103A4818F22856FC0DF9E2285EF100E
-:10383000A03005C198309C2022075D8FBC20C207B4
-:103840005D8FBC30E207D98F5840B98F1844F98F8B
-:10385000F9DB0040C1B7EFC23F974041AA84AE896F
-:103860001C300820A2075D8DEFF05FF63181420524
-:10387000418191476306F5002685EF10403331A45E
-:103880001C300820A2075D8DEFF05FF419813C30F9
-:10389000137AC5032820A2075D8DEFF03FF3BE2405
-:1038A0002A89E3EB47FD9E24E3E8A7FCD285228525
-:1038B000EF40F04B71F1CA852685EF10204837059F
-:1038C00000F0EFF0DFF3370500E0EFF05FF34E8933
-:1038D000054B930B04014A85EF10002611E5631395
-:1038E0000B12032909000DA293074900EDDB832683
-:1038F0004900F5D618381C2822075D8F3C28C207DE
-:103900005D8F3C38E207D98F6382F604CA855E85F5
-:10391000852E0DED1C38834A0401370500F0A207FF
-:10392000B3E75701834A2401C20AB3E7FA00834A86
-:103930003401E20AB3EAFA00EFF07FECB3FAAA002E
-:10394000370500E0EFF0BFEBE39BAAF858345C24A6
-:1039500022075D8F7C24C2075D8F7C34E207D98FFC
-:10396000B9C3CE851305C400212EE31705F05C34DE
-:10397000034AC400370500F0A207B3E74701034A32
-:10398000E400420AB367FA00034AF400620A336AA9
-:10399000FA00EFF0DFE6337AAA00370500E0EFF037
-:1039A0001FE6E30BAAECE30909EC03497400682065
-:1039B00022093369A90011657D15EFF05FE03375C9
-:1039C000A90011C52685ED26AA8461C14041CE8596
-:1039D0002685EF10A04A55E91C340824A2075D8D06
-:1039E000EFF0DFDE1375F50F99476303F50AC5475E
-:1039F0006309F50885476312F50ACE852685EF40F1
-:103A0000007761A003A9C18F63143901032909005C
-:103A1000014BE31209EC1C340824A2075D8DEFF082
-:103A2000FFDA1375F50FC547631EF500B3074401B0
-:103A3000A823BC33A2075D8DEFF05FD99307400444
-:103A4000630DF502854A1C340824A2075D8DEFF052
-:103A5000FFD71375F50FC5476319F508229A8347F9
-:103A60003A0003452A00A2075D8DEFF03FD6930789
-:103A7000C076631CF5064E893DB7E39809F2814A8A
-:103A8000D9B7CE852685EF40201E01456FC04FF780
-:103A9000CE852685EF201032CDBFCE8513050401DB
-:103AA000C522E31B05DC1C3803490401370500F07F
-:103AB000A207B3E72701034924014209B367F900CC
-:103AC0000349340162093369F900EFF05FD33379B8
-:103AD000A900370500E0EFF09FD2E30FA9D8C0C0DE
-:103AE00089452685EF40B00D41BBE3910AE669B3F5
-:103AF000EFC28FEDAA894289630F0612AE8AD145C3
-:103B00003A8AB284B68B3E8BEF10800379576311EB
-:103B1000051203A44900A20B1C340824A2075D8DE2
-:103B2000EFF0DFCA1375F50F33657501EFF03FC98C
-:103B30001357850018B408A4EFF05FC9218142052E
-:103B4000418122053365650142054181EFF03FC7A0
-:103B500098309C2008A422075D8FBC20218108B4E6
-:103B6000C2075D8FBC30116513050550E207D98F80
-:103B700013D787001CA818B813D70701E1833CB8F6
-:103B800038A83365AA00EFF09FC308A0218108B0D0
-:103B900003D58900138A418EEFF07FC228A02181CE
-:103BA00028B003550A0023030400A3030400EFF028
-:103BB0001FC183570A0048A02181850748B0231000
-:103BC000FA0063810A0203C71A0083C70A002207AA
-:103BD0005D8F83C72A00C2075D8F83C73A00E20763
-:103BE000D98F99E713074900814719C383274900F3
-:103BF00013D787005CA458B413D70701E18378A4D6
-:103C00007CB423050400A3050400D1452285EF40C0
-:103C1000101628A4218128B48357090385C303D72C
-:103C2000890063FDE7002686CA854E8585232A879D
-:103C30003A856FC0EFDC4441C104F9BF83274901D5
-:103C40002686CE854A858297DDB7EFC26FDA0111ED
-:103C50002A8432852ECE36CC3ACA3EC832C6EFF020
-:103C6000DFBA09CDC2475247E2463246F2452A88BA
-:103C70002285EFF0FFE705616FC0CFD97155E5BF31
-:103C800018311C2122075D8F3C21C2075D8F3C311A
-:103C9000E207D98F9386F7FF75576366D70203C78C
-:103CA00025030145098B0DC3D841630FF7009445E7
-:103CB0003D8F758F11EB13C5F6FFE98F3385A74054
-:103CC00013351500828005458280EFC2EFCF03A433
-:103CD000818EC544014B1389818E19E06FC04FD28C
-:103CE000FD1493F4F40FFDD87C3C032C040091C721
-:103CF000FD177CBC228B6284CDB783294400814AA6
-:103D000003A549005C315821A207D98F85EF1831EE
-:103D10001C21514622075D8F3C2193058400C20778
-:103D20005D8F3C31E207D98F5CC0EF40D06885459C
-:103D30004E85EF40006A4E85EF10C005AA8A4E8579
-:103D4000EF00F06683294400639609020327090007
-:103D50001C40631CE4042320F900A2851545EF00F4
-:103D6000F0471387618E1E235A84B38A574123106C
-:103D7000570149B703A749004E851C33034A070082
-:103D8000A207B3E74701034A2700420AB367FA00D4
-:103D9000034A3700620A336AFA00EF00B07FAA9A3A
-:103DA0004E85EF00D060D28945B72320FB0075B760
-:103DB000EFC28FC144412A899C308820A2075D8DC3
-:103DC000EFF0DFA019811375C503D1476312F52603
-:103DD000FC30E820A2075D8DEFF05F9FBC302A8B9E
-:103DE000A820A2075D8DEFF07F9E9C30AA8C8820D2
-:103DF000A2075D8DEFF09F9D2A8C4A85EF00907998
-:103E0000B787002083A7C78403D7618E2A8D8D834F
-:103E10002A97FD8B9389618E63ECE72003A4818E42
-:103E2000814A138A818E1DE81545EF0030392A84B6
-:103E3000630005207146814513054400EFC04FBE65
-:103E40008D477CBC83270A0023208A001CC0514672
-:103E5000A68513058400EF40105695ACD834DC24B9
-:103E600022075D8FFC24C2075D8FFC34E207D98FE7
-:103E700058486316F70298389C2822075D8FBC28A3
-:103E8000C2075D8FBC38E207D98F184C6319F70061
-:103E9000DC30D4205A24A207D58F6306F720A28AEB
-:103EA000004051B7CC4203C8550003C34500220867
-:103EB00033686800637C060D93D5860094A38CB3A9
-:103EC00093D50601E182ACA3B4B3630E072A743321
-:103ED0006C23A206CD8E6364D6146362A814935635
-:103EE00089002300270114B393560901135989014E
-:103EF00034A3A3012701782C014B058B630F07180E
-:103F0000638D081858404443D830D4202207558F79
-:103F10006315071894339823A206D98EB823420755
-:103F2000D98EB8336207558F61E75E2C03C9040050
-:103F30005146D1075EAC9C30930584002685A207CC
-:103F4000B3E7270103C924004209B367F90003C995
-:103F5000340062093369F900EF40F0454A2CEFF074
-:103F60001F86A8A02181A8B023830400A383040096
-:103F700023850400A3850400D1452685EF40205FFA
-:103F8000A8A42181A8B4032B4400D5A06309060985
-:103F9000F43103C36500A206B3E666006361D60888
-:103FA00001CB742378332207558F6303E8008148DF
-:103FB000983194212207558FB421C206558FB43110
-:103FC000E206D98E2E8765AA935689002300270121
-:103FD00014B3935609011359890134A3A30127018E
-:103FE000742378332207558FE307E6F0814821B721
-:103FF0005443EC23F833DC32D0222207A2074D8F42
-:10400000D18F631AF7029C329822A207D98FB82267
-:104010004207D98FB83262075D8FB68731B74A85BC
-:10402000EF00505783D709003385A7402390A9009C
-:104030004A85EF00D037014B8DA0B1554A858324C6
-:104040004900EF00F02FCA855A85EF0070569C306A
-:1040500003C90400A207B3E7270103C924004209EA
-:10406000B367F90003C9340062093369F900E31644
-:1040700009FC03270A001C406314E4022320FA0011
-:10408000A2851545EF0090155A85EF00B05083D7F3
-:1040900009003385A7402390A9005A856FC04F9629
-:1040A00023A0FA00F1BFFC30E820896BA2075D8DE8
-:1040B000EFF0CFF1FD1B337575014205418101E938
-:1040C0006A24EFF0AFF033757501E31205D883D79A
-:1040D00009003E9D2390A901FC30E820A2075D8DD8
-:1040E000EFF0CFEE9317250163C2070213153B01D2
-:1040F0007C2C4D810E05135C6C006695137CCC0303
-:1041000093E71700330585417CAC4AAC8324490012
-:10411000BC30A820A2075D8DEFF04FEB9C302A8BBE
-:104120008820A2075D8DEFF06FEAFC30AA8BE820B3
-:10413000A20793DB6B005D8DEFF04FE94E054D81DB
-:10414000131635003305CB0013FBCB03832749003F
-:104150003305654142051357860041815440D8B369
-:1041600013578500F8B323800700A380070023813D
-:104170000700A3810700D0A3E8A385480147E39384
-:1041800006D2E31307E423222401B5B3EFC24F8321
-:10419000032C4500011132CA03477C00AA8D034558
-:1041A0006C00220783DB0503598DAE8CEFF00FE224
-:1041B0008966B377D500138ACBFEA146334ADA026B
-:1041C00083D48D0009677D173EC63379E500B114AD
-:1041D0004209C20413590901C1800144514D3ACC2E
-:1041E000420A135A0A0193163A0093970601C183B3
-:1041F0003EC89387DBFE3ECE89E4014505616FB082
-:10420000FFFFE247A68A337BF900B24733EB670131
-:10421000F24763C6F400C24A8967336BFB0001466C
-:10422000D1450945EF00901DAA8939C94841514639
-:10423000E285EF40501803A64D0083AB49006A9613
-:1042400023A2CD0003D6AD00B306A6412395DD0021
-:10425000568D63090D0403D4AD0063738D006A8429
-:104260004204418001E483AD0D00E5B78145094674
-:104270000D45EF00B018AA8511E54E85EF0030130B
-:104280007D55ADBF03A64D0002A522A550C14E85A8
-:10429000EF001032B3068D40139D0601135D0D0132
-:1042A000E3130DFC5A85EFF08FD12383AB002181FE
-:1042B000A383AB0013854A0142054181EFF02FD063
-:1042C0002381AB002181A381AB00D14523850B0065
-:1042D000A3850B005E85EF40802903A74C01524661
-:1042E0002385AB002181A385AB00CE85668502972F
-:1042F000B384544152994E85C2044209EF00300BF9
-:10430000C18013590901228DC5BD3C296389B700BD
-:10431000B77700202CA9A309050023A20778828083
-:104320005E2D184DB306F7002388B60E938627003E
-:104330008507C207C18356ADBA972388C70E82800E
-:104340005A2D1C4D9306170056ADBA972388B70E09
-:1043500082805E2D184D13D68501B306F7002388A1
-:10436000C60E93861700C206C182BA9613D60501FF
-:104370002388C60E93862700C206C182BA9613D63A
-:1043800085002388C60E938647008D07C207C18328
-:1043900056ADBA972388B70E828015C15E2D184D91
-:1043A000130630049386170056ADBA97FD5623883E
-:1043B000D70E5E2D6376F60093F6370091E2828089
-:1043C0009386170056ADBA972388070EDDB76302B0
-:1043D0000518EFB2FFE10451DD57638904162A89FD
-:1043E0000146930540130145EF005001C8C82A87D4
-:1043F000FD57630D0514BC3899EFBC280546638C46
-:10440000C700F11793F7F70F6377F60083A7C18111
-:10441000850723AEF180404303A5C181854780CC49
-:1044200088C01CA01CB099473CA0A3010400EFF079
-:10443000CFBA9357850048A05CB0935705016181BE
-:104440007CA068B0804C294723040400A304040026
-:1044500023050400A305040023060400A3060400AA
-:1044600023070400A3070400BC286388E700F117B2
-:1044700093F7F70F0547636EF700834749005CA485
-:10448000834759005CB4834769007CA48347790063
-:104490007CB423080400A308040023090400A30932
-:1044A0000400230A0400A30A0400230B0400A30B46
-:1044B0000400230C0400A30C0400230D0400A30D2E
-:1044C00004008345890281474146139707014183D0
-:1044D00081466376B7003307F900834697023307B6
-:1044E000F40054AF8507E392C7FE1307C402930795
-:1044F000C406230007000507E39DE7FE1307C40E6B
-:10450000238007008507E39DE7FE37558263130587
-:104510003536EFF08FAC935785002306A40EA30623
-:10452000F40E904C9357050161812307F40EA30705
-:10453000A40E239E0400814713074004B306F6002F
-:104540002388F60E8507E39BE7FE81473E856FB023
-:104550007FCCD9573E85828011CDEFB27FC9005103
-:1045600001C8484811C1A125232A0400232C0400B6
-:104570006FB05FCA828063000518EFB27FC7005139
-:10458000630904163828A1476315F71698319C2152
-:1045900022075D8FBC21C2075D8FBC31E207D98F36
-:1045A00018546398E714AA84B1452285EFF0FFD52B
-:1045B0002685EFF0DFE163190512054693055003E8
-:1045C0002285EFF0FFD591452285EFF07FD7114688
-:1045D000930520032285EFF0BFD40854EFF02FA2FB
-:1045E000AA852285EFF0FFD6114693056003228548
-:1045F000EFF01FD34850EFF08FA0AA852285EFF08F
-:104600005FD51D469305D0032285EFF07FD15E2C48
-:10461000184C05462285B306F7002388C60E13867C
-:1046200027004206418252AC9386170083C594024C
-:10463000C206C182BA962388B60E93863700C20698
-:10464000C18256AC83C5A4023A96BA962308B60E28
-:10465000138647004206418252AC83C5B4023A96A3
-:104660002388B60E93865700C206C18256AC83C516
-:10467000C402BA962308B60E13866700420641822A
-:1046800052AC83C5D4029D0732972388B60E5EAC28
-:1046900083C7E4022308F70EEFF03FD04E2C4848C2
-:1046A0009385050FC205C181512D034784021C4C1F
-:1046B0004C484840D8A70347940203A94400D8B700
-:1046C0000347A4029306300413868184F8A70347A6
-:1046D000B402F8B723A204002687EF30100626851F
-:1046E00023A22401EFF05FE73C3885073CB88547FB
-:1046F0007EAC6FB03FB28280EFB29FAF1128BD2475
-:10470000B777002083A7077E91C382976FB09FB0D1
-:10471000374700201307B77A719B23A8E18EB7872C
-:10472000002083A74784231107008D07F19B9396F0
-:104730000701C182BA9716A32302070023AAF18EAC
-:104740000546D0A396A3B6A323A6E18E828049C1D5
-:1047500083A7018F636EF50683A5418F637AB50643
-:1047600083A6C18E130685FF230E05FE1387C18E17
-:104770006373D60010C3835685FFBE966304D602CA
-:1047800003C8460063100802638ED5000C43639390
-:10479000B60010C38E22231CB5FE9622B305F64048
-:1047A000BE96AEA28355A5FFB386B7006302D602BC
-:1047B00003C84600631E08000328070063130601B0
-:1047C00014C3035785FF9AA2035785FFBA97AEA378
-:1047D00082808D05C205C181F199C205C181314731
-:1047E000AE8763F3E500B14737870020032647848F
-:1047F000C207C1830D06719A6360F60A03A7018F91
-:10480000636DE50883A6418F6379D508930685FF1C
-:10481000835885FF998EC206C182938588FF958D46
-:10482000C205C18163EAF5066389F5063303170102
-:104830000348430063140802938586001388C18EE1
-:10484000AE97032E0800C207C18383580300B30547
-:10485000F70063166E022320B80015A013884701E5
-:1048600063ED050393858600AE971388C18EC2075A
-:1048700003230800C183B305F700E3EE65FC239032
-:104880001501B6A123820500231CF5FE96216306BF
-:10489000D60036973EA382800145828039C5130732
-:1048A000350042074183719B42074183B146BA8775
-:1048B0006373D700B1473787002003264784C207B8
-:1048C000C1830D06719A01456362F60203A7C18E8A
-:1048D00083AE018F9385C18E3303F640B306D74173
-:1048E000C206C182615E63E4660001458280338551
-:1048F000DE000348450083580500631708063308A7
-:10490000DE4046986362F8061383470163626804D9
-:10491000A107B697C207C1833388FE002310180190
-:104920002311D8002302080085461EA154A18356F6
-:1049300008006304D600F696BEA26319A70083A6FA
-:10494000418F8147502301EE91C398C12105828098
-:1049500085475CA1DDB71A2385477697E5B7E39CC9
-:10496000E6FEEDD794C1DDB7C686B5BF83A541820B
-:1049700083A68182B76700209387B7A1378700207D
-:10498000F19B1307078A1385060103D8050023202E
-:10499000070001466318C800890611078905E396D8
-:1049A000A6FE8280832807000506420623A0170181
-:1049B00083D806001CC34182C697E9BF9D4763EDBB
-:1049C000A700B78700200A059387078AAA9788431C
-:1049D00009C5184198C382800145828099C99317FF
-:1049E0002500378500201305058A3E951C419CC192
-:1049F0000CC18280EFB22FFE98319C21AA8422073D
-:104A00005D8FBC212E84C2075D8FBC31E207D98F38
-:104A10005841639FE70018301C2022075D8F3C201F
-:104A2000C2075D8F3C30E207D98FDCC06FB0EFFD6D
-:104A300003A5819001499309400605C11841DC4056
-:104A4000032AC5006311F7048545EF00D05793078B
-:104A5000190093F7F70F63F7290383A70191C5DFC7
-:104A6000984319CFD440631DD70014301820A206F4
-:104A7000D98E38204207D98E38306207558F98C3B7
-:104A8000DC47F1BF3E8952854DBFEFB26FF6411151
-:104A900032C636C42A84EFF0FFF53246A24681477B
-:104AA00019CA18321C2222075D8F3C22C2075D8F73
-:104AB0003C32E207D98F1CC4814799CA98329C22A4
-:104AC00022075D8FBC22C2075D8FBC32E207D98FFF
-:104AD0005CC441016FB00FF4EFB28FF158CD138772
-:104AE000019083480700411123220500232405007B
-:104AF000232605002309050223200502138318003D
-:104B0000A30A1503232805012A843EC62300670053
-:104B1000EFF0BFF7B2472285829711E99387C18FE3
-:104B2000984318C080C3228541016FB0AFEE0144A5
-:104B3000DDBF23ACA18E82800345250305898280D9
-:104B4000AA870145A5C5BDC31396050141823288D8
-:104B500063DB05003308C040BA2742081358080138
-:104B6000054563650705D427D84381C60D45639184
-:104B7000A6020D8F9386070105456369D702D8C346
-:104B8000BA2701453297BAA79A273A9692A7828008
-:104B9000FD16C206C1828548054563E9D80063D782
-:104BA0000500B62763E406010D8FD1BF8280EFB206
-:104BB0008FE201440DCDAA8501440D498549FE25AA
-:104BC000FD17C207C183FEA59DE3DC2584411D4579
-:104BD00063882701FD17C207C18363EDF9001945FA
-:104BE000EFF0DFDF05041374F40FA685E9F82285E2
-:104BF0006FB0AFE12E85EFF09FB5EDB7EFB2AFDD4F
-:104C00008547630DF50031C589476306F5048D4777
-:104C10006305F504014422856FB02FDF8144D10480
-:104C2000B904C204C1808947B2892E8963E9C702E9
-:104C300079CA1945EFF09FD82A8469DD232205003F
-:104C40002314250123152501232005002306350102
-:104C5000B5A0D144E9B78144E1B78144E9B78D47B4
-:104C60000144E31AF6FA1D45EFF05FD52A845DD1C1
-:104C7000B3079500CD07F19B378700205CC19307F0
-:104C8000C783DC438D04F19893879703F19B230638
-:104C900035012320050023142501B384974093098F
-:104CA000C78363739900CA84854726A47EA4B3048E
-:104CB00099400D4A2289854A6347900085477EA422
-:104CC000A306040089BF1D45EFF05FCF09E52285EB
-:104CD000EFF0FFED81B783A749002316450123209C
-:104CE00005002320A9009387970306A5F19B63F392
-:104CF000F400A687130705013EA558C123175501E7
-:104D00009D8C2A8955BF9387350013853401F19B0B
-:104D100071993E9542054181EFF05FB82A84E30B1B
-:104D200005EEAA94CD04F19844C12314250123155E
-:104D30002501232005002306050049B71E2563FA37
-:104D4000F504EFB2EFCA2A84AE84B387F5402E246F
-:104D500063E995025C2481EF638B95004C402285CA
-:104D6000818DA695C205C181EFF0BFA62A840840B7
-:104D700026A406A419C1EFF09FE3232004006FB01E
-:104D80006FC91A248D8CC2043E971AA4C1800040BA
-:104D90007DBF8280814719E13E858280850793F738
-:104DA000F70F0841CDBF01C57E2585077EA582800E
-:104DB00009CD99E182803A859E2516251841B6973E
-:104DC000C207C1831EA565FB0CC18280EFB24FC232
-:104DD0002E84EFF0FFFD2285EFF0FFFC6FB08FC354
-:104DE0003DCDEFB24FBF2A84AE845955ADC51A24CC
-:104DF0009E256362F7060149014A8359A400BE2437
-:104E0000B3894941B387274163C9F90493990701DD
-:104E10004840CC4093D909015295CA954E86EF304F
-:104E200090594E9A3E24420A4E994209135A0A0159
-:104E300013590901639447010040014ABE24636588
-:104E4000F900844099CC0149BA249E246316F702E4
-:104E50009C409DC35D556FB04FBBC20955BF5955AE
-:104E6000828009C801493A241E246314F7001C40BB
-:104E7000F5F3C1F40145C5B77DF441B7EFB2AFB565
-:104E800003294500AA898347990003458900014AFF
-:104E9000A2075D8DEFE09F93937AF50F03A44190F5
-:104EA00031099384419001E401456FB00FB61C288D
-:104EB0000145639457035C488DC3084CCA864E86EF
-:104EC000A285829719C963080A005C442326FA0068
-:104ED0009C4080C05CC4054581495C44228A71F5D0
-:104EE0003E84D1B7814799C998319C2122075D8FB3
-:104EF000BC21C2075D8FBC31E207D98F1CC10145BF
-:104F00008280814799C998319C2122075D8FBC21FD
-:104F1000C2075D8FBC31E207D98F5CC10145828039
-:104F20004CC910CD8280EFB20FABAE842A89D14537
-:104F30002685B289EFF0DFC015C9014681450545D8
-:104F4000EFF0DFCB2A8409E57D594A856FB0EFABDE
-:104F5000A685EFF0BFE74E85EFE03F8B19ED715965
-:104F6000E30594FE2285EFF09FC4C5B7B1552685B1
-:104F7000EFF01FBD71F92684F9BFCA8563050900EA
-:104F80008327090099E393054500834709010347F7
-:104F9000A9008346B9002A884E862285EFE05FB5D6
-:104FA0002A897DBFEFB2CFA413064500EFF0BFF70B
-:104FB0006FB04FA6EFB2CFA3AA840145EFF01FA0B8
-:104FC0002A8411CD71468145EFB08FA5930700F873
-:104FD0003CB493874190984304A880C358C4228569
-:104FE0006FB04FA383A6819003A6019283A5019180
-:104FF00003D5018393870183130715001315070158
-:10500000131807014181635308000565368719E7C6
-:10501000328719EB2E8719EF8AA382800358C701C4
-:10502000E30CA8FC5847E5B70358C701E306A8FC02
-:105030005847C5B70358C701E300A8FC5847E1BF6C
-:105040001C4963960710EFB20F994111AA8432846C
-:1050500011E62EC6EFF01FF9B2452A8403A701918D
-:1050600031E703A7819025EB83A9C1901389C190F3
-:105070004E8759E783A70192CDEB85C198319C21DA
-:1050800022075D8FBC21C2075D8FBC31E207D98F3B
-:1050900089C711462685EF301032C2AC23A63401F1
-:1050A00023209900014541016FB02F965E2F639236
-:1050B0008702104359CED1CD94319C21A206DD8EBA
-:1050C000BC21C207DD8EBC31E207D58FD9C3630294
-:1050D000F608584771B75E2F63928702104335CAAE
-:1050E000ADC994319C21A206DD8EBC21C207DD8EA4
-:1050F000BC31E207D58FB1CF630DF6045847A5B791
-:105100005E2F63928702104329C6A1C594319C216A
-:10511000A206DD8EBC21C207DD8EBC31E207D58F31
-:105120008DCB6308F6025847A9B7DA2F631F8700B3
-:1051300094319821A206D98EB8214207D98EB83170
-:105140006207558F94436386E600DC4735B74D55BB
-:105150008280555589BFAA870358C5021459D23B8E
-:105160000C5583D807043305D84005822E95328725
-:1051700063F3C8004687420741833307E540634530
-:1051800007002397070382803387D5406356E000EA
-:1051900023970702014582808D8EF6B7E5BFEFB2F7
-:1051A0002F855E352A84BE95C2055E39C1814EB514
-:1051B00063F3B7005EB52285EFF0FFF95E388983AF
-:1051C000634BF50083476402228593E7270023039E
-:1051D000F402EF20203E6FB0EF83EFB26F814111F8
-:1051E000014409CDAA854841014411C52EC6EFF0FE
-:1051F0001F9CB2452A841145EFF04FFE22854101E4
-:105200006FB04F81EFA2DFFE014401E522856FB050
-:105210006F800441EFF07FFC2A941374F40F26850D
-:10522000EDB7EFA2FFFC41112AC61145EFF00FF9CF
-:105230002A8401C9B2455146EF30F0174840EFF0DB
-:105240009FB6228541016FA0FFFC0CCD82802328F0
-:10525000B50882802326B5088280232EB508828077
-:10526000232CB508A30EC50282801C490547637430
-:10527000F70429476381E704EFA29FF72A840325F7
-:10528000850809C5EFF0BF922324040803254408CC
-:10529000FD577EBCEFF01FF7685C23220408EFF097
-:1052A0007FF603250408EFF0FFF5232E04062320E4
-:1052B00004086FA03FF68280EFA29FF0B774002031
-:1052C0009387847F1387419103CC87011C43A56A90
-:1052D000850703AD81901CC313096006014A9384BE
-:1052E000847F13844191938981908D4C938ACAE580
-:1052F000138BC184631A0D0003A40192938401925D
-:10530000631904246FA09FEF7D191379F90FE30B44
-:1053100009FE03462D0583260D01854D6302CC024F
-:10532000834D0D0B63840D100327CD0AB306BB011B
-:1053300083C6F6FF05072326ED0A637CD70C814D53
-:1053400003270D019946631DD70003268D031440E2
-:10535000918E904C6376D60093871D0093FDF70FD6
-:1053600083568D00814BA18A95CE91466305D70067
-:105370009D466319D70283284D0A83268D0A03258B
-:105380000D0ACC4CB386D802104003278D03198E2A
-:10539000AA96B3D6B60263FCC61093871D0093FD90
-:1053A000F70F854B03254D0805C103278D031440D6
-:1053B0001946998E03170D053307C70263E6E60009
-:1053C000EFF05FE423220D0803270D01631497110A
-:1053D00083268D031840158F944C63E8E61063967E
-:1053E0000D108347CD030347DD03850793F7F70FC0
-:1053F000230EFD0263EBE70083278D09230E0D02C8
-:10540000639207146A85EF20E01A6A8A032DCD00A3
-:10541000D5B523260D0A19476366B70193871D008A
-:105420002308FD0A6A85EF20007711BF0317ED03FB
-:10543000634507000507231FED0203270D08E3005E
-:1054400007F08315ED0303170D05E35AB7EE63F478
-:10545000DC020317CD048316ED04B1470D873697A0
-:105460009376F60F63F3C700B146D69694223317AE
-:10547000D7002318ED048356AD0503574D06231FAF
-:105480000D0263F3E60036874207418383560D041D
-:105490000583231EED046376D70013971600231EA1
-:1054A000ED04231DDD046A85EF20C05751BD03477D
-:1054B0001D0B814B330717032A973357B702E3734A
-:1054C000C7EE6A85EF20406703471D0B0507A30859
-:1054D000ED0AC9BDA546E314D7F003278D03144098
-:1054E000998E984C0607E37CD7EE6A85EFD0EFEFF4
-:1054F0006A85EFF09FD78327CD0063020A04232635
-:10550000FA008327CD0989C703258D01ED558297C0
-:10551000638F0B0083574D020357CD0183258D0206
-:1055200003250D0693064D006A86EF20203F832B4E
-:10553000CD00EA850945EFF06FCA5E8D65BB23A0FB
-:10554000F900C1B703258D01EA858297E30C05EACE
-:105550006DBD2285EFD06FE92285EFF01FD10329C1
-:10556000C400A285094523A024014A84EFF00FC797
-:1055700041BBEFA2FFC71C412E846390B704DC45FA
-:105580001CC1232604002285EFF03FCE1C4829478A
-:105590006381E7020547638EE7008347640213F7E0
-:1055A000170001CB93E727002303F4022285EF20A5
-:1055B0006000232804006FA0FFC523AEF190814650
-:1055C0001387C19189E7D5DE232007005DBFD0474F
-:1055D0006317860091C21CC35844D8C75DB785467F
-:1055E000B287CDB71C491D476365F70AEFA25FC0BC
-:1055F00025678A071307C7E3BA979C432A848287E3
-:10560000EFD0AFDE1387C1901C43639987005C44E1
-:105610001CC323260400A28509453DA823AEF190B2
-:1056200081461387C19189E7EDD623200700D5B7BE
-:10563000D0476317860091C21CC35844D8C7D1BF56
-:105640008546B287CDB7EFD04FDAA2851385019199
-:10565000EFF03FF2A2850D45EFF04FB8014531A8BC
-:10566000EFD0AFD8A28513858190EFF09FF065B79A
-:105670008545EF10D068954701C96FA0BFB9854532
-:10568000EF10F0677DF9A5471CC82285EF109072D6
-:10569000F1B701458280EFA2BFB541112E8511CE31
-:1056A0000E2632C6EFF0BFAF32463285EFF02FD074
-:1056B00081473E8541016FA0FFB58147FDFAEFF0BC
-:1056C0007FF2AA87FDB7EFA2BFB203A48190930433
-:1056D000500619E06FA01FB40326840819CA832757
-:1056E00004098146A2858DCF084C829719E12324B5
-:1056F0000408FD1493F4F40FF1DC8347640213F7FC
-:10570000170009CF93E727002303F4022285EF1047
-:10571000706A83476402F19B2303F402404455BF3F
-:105720000145EFF05FF7D9B7EFA29FACEFF0BFF9FB
-:10573000138781911C23850793F7F70F1CA3858B93
-:1057400099C3EFF07FB76FA0FFACEFA27FAA03A4CD
-:10575000819093045006014901E44A856FA09FABF4
-:105760000326840819CA832704098146A285B1C784
-:10577000084C829719E123240408FD1493F4F40FD4
-:10578000E9DC8347740285CB0347640293761700F4
-:105790009DC2FD1793F7F70FA303F4029DE3136770
-:1057A00027002303E4022285EF10D06083476402C0
-:1057B000F19B2303F402404445B70145EFF0BFEDF0
-:1057C00055BF0509CDBFEFA23FA01849A947411118
-:1057D0002A84631EF700AA8513850192EFF07FD912
-:1057E000A2850945EFF08F9F41016FA07FA11C4169
-:1057F0002E8B032905063EC65C4183298502035A88
-:10580000C5013EC4835A45028324C509832B850103
-:10581000EFD0AFBD13858190A285EFF09FD5032512
-:10582000040819C1EFF01F9E685C19C1EFF09F9D3D
-:105830000325440819C1EFF0FF9CA2850945EFF04C
-:10584000EF9981C4ED555E858294E30F0BF8D687FE
-:10585000528734007000CE854A85EF20200C69B74E
-:105860009387C182884303A741913A9588C3828078
-:10587000EFA27F962A890945EFF04F94B784002064
-:105880009384C4832A8425E19C488983858B89E796
-:10589000014422856FA07F9783A7019203A64191BF
-:1058A0000145814693894191F1E701C58545EFF0B6
-:1058B0009FF10945EFF08F902A8415E583A7819029
-:1058C00003A509007D191379F90F1306F007814527
-:1058D000DDEB09C485452285EFF0FFEE0945EFF0C9
-:1058E000EF8D2A8455D51306400B81452285EFA004
-:1058F0003F93930700045CA89C44231C04061307F1
-:105900008021231BF4065E385EB47EB4E1773EA4AA
-:10591000DC406374F700930780212310F404C1670F
-:105920007D577CC485472318F4047ABC231DF404F6
-:10593000EFF01FF383A7419168D428D01CDCB75740
-:105940000000938767692328F408B777002003A72E
-:10595000C77E9387C77E68C82320E40AD8439C4744
-:1059600028D8230E04022322E40A2324F40AA308DD
-:10597000040A05B7985F3307E6406364D700BA8628
-:105980003E85DC4715B7D42B636CD900636AD6001B
-:10599000985F3307E5406365B7003686BA853E8475
-:1059A000DC473DB7EFA2DF8413050004EFF05FECA6
-:1059B0006FA05F86EFA2DF832A842E85EFD0FFE4FD
-:1059C00011CD1E3981CF938787FD3E87C207C183E2
-:1059D0006373F400228713140701418022856FA0AE
-:1059E0007F83EFA24FFF1849CD5445EBAE89DD54BC
-:1059F000CDC52A84B284110511463689EF30A01B2B
-:105A00005E2C46B081E7EFF0EFDD4AACEFF05FE5EA
-:105A10005E3828D07D155EB47EB42312F406B787B5
-:105A2000002068C828D803A507842324040223285B
-:105A300004029307802163F4A70013058021420527
-:105A400041812310A404CE85EFF0DFF68547231DA6
-:105A5000F404A9472310A4043305F50289471387EA
-:105A6000C1901CC81C43232A2409231EA404639943
-:105A700087025C441CC3938781909843894680C306
-:105A800058C485470147014681452285EF10A06231
-:105A9000AA8401E52285EF10F03126856FA0EFF68C
-:105AA00023AEF19081461387C19189E7E9D623207F
-:105AB0000700D1B7D0476317860091C21CC3584472
-:105AC000D8C755BF8546B287CDB7EFA26FF203A402
-:105AD00001929384019219E06FA0CFF32285EFD059
-:105AE000CF902285EFF06FF80329C400A285094505
-:105AF00023A024014A84EFE07FEEF1BFEFA2AFEDD7
-:105B00001C49AA842E8AC827DC37A2075D8DEFD0F6
-:105B1000FFCB058929E94169130909FC03270A011B
-:105B200003A68193DE2454334C23B297A206D58D6D
-:105B30007423C206CD8E6C33E205D58D8356CA0020
-:105B4000AE96B386D74063D506028D8F6359F000B9
-:105B5000918DC205C840C181CEA4EFF02F9E23A035
-:105B600044016FA08FEA5285EFF0CFE9014AC5BF2B
-:105B70005C374827A2075D8DEFD05FC5058915CD3D
-:105B80009C48C037C8272204498C4A85EFD03FC3C0
-:105B90009C48698CC827DC37A2075D8DEFD01FC3F6
-:105BA0001375E50313651500EFD07FC19C48418D47
-:105BB00042054181C8A72181C8B703240A00528544
-:105BC000EFF0AFE145D4228A91BFEFA2EFDF83C7A8
-:105BD00081922A84C18B93898193F1C783A509009F
-:105BE00038558356450670553305B74083A7419213
-:105BF00093844192634405026316B7003307F6406D
-:105C0000634E0700631EF60203A50194783503482E
-:105C1000E50022073367070163F4E60203A5019458
-:105C200078350348E5002CD4220733670701231297
-:105C3000E4067CD411C70347040B19C32308040AE4
-:105C40006C483387B7406342E02E03D74194231A50
-:105C500004066319072C035744066854B2962A9722
-:105C60006312D72C0317E403634E072A639CF52ABB
-:105C7000834784050D47850793F7F70F230CF4043A
-:105C8000637CF7280357A40583570404BA97C20717
-:105C9000C1836374F700231DF4047C5C639F073A9F
-:105CA0007040631A064403D6419483A70900145434
-:105CB000138A4194E3000604B385F6401387F5FF89
-:105CC000634B074A05471D8F118F36976345E04A9E
-:105CD000378900209307098CC4431397050141833A
-:105CE000BE241309098C63D3B7489E24998FC20739
-:105CF000C183BA246346B746B305B040C205C18527
-:105D00002685EFE0FFE3DC408356C90003A70900C6
-:105D10002324F9001C5436971D8F2316E90003270E
-:105D2000090193D6870023A0F9005CA354B393D64E
-:105D30000701E18374A37CB383A609001854B387D9
-:105D4000E64063C90700523493871600998F918FFC
-:105D50006350F044B787002083A7078DC827DC373E
-:105D6000A2075D8DEFD09FA60589630105781854C1
-:105D700083A70900631CF776B7840020938A048CFC
-:105D800083A70A0103D9CA009384048CC827DC378F
-:105D9000A2075D8DEFD09FA30D893335A0002A990E
-:105DA00083A70A0142091359090123102A01C827B0
-:105DB000DC37A2075D8DEFD07FA10589631C053E0E
-:105DC0005E3463F0270B9C48C827DC37A2075D8D43
-:105DD000EFD0DF9F058931C19C4803C9D700C82790
-:105DE00022093369A9004165130505FCEFD03F9DE9
-:105DF0009C483379A900C827DC37A2075D8DEFD016
-:105E0000FF9C1375E503EFD09F9B9C483365A90069
-:105E100042054181C8A72181C8B75E34DEA49C48F1
-:105E2000C827DC37A2075D8DEFD05F9A098901C5CD
-:105E3000DE24FD17DEA4CE24C840EFE03FF09C48EE
-:105E400003D9C400C827DC37A2075D8DEFD01F98A7
-:105E50000D893335A0002A994209135909012310ED
-:105E60002A0183274408638407369C48C827DC3707
-:105E7000A2075D8DEFD09F95058963170534032B2D
-:105E80004408C16B938B0BFC03A5090003570A0060
-:105E90002A9763000B0803260B014C325422A205FB
-:105EA000D58D7422C206D58D7432E206CD8E83550F
-:105EB000CB00B695B305B74063D20536158F635A4C
-:105EC000E00483274408984B5C335423A207D58F02
-:105ED000898FDEA49C48C827DC37A2075D8DEFD0F0
-:105EE000FF8E098901C5DE24FD17DEA4CE24C8403B
-:105EF000EFE0DFE49C4883DAC400C827DC37A20760
-:105F00005D8DEFD0BF8C0D893335A000AA9A231088
-:105F10005A012322640965ACE391E7D82285EF108A
-:105F2000903BA5BB230C04048DBB3450B386D740F3
-:105F30006342D0128346640213F6460001CAED9A0A
-:105F40002303D4028356C405231DD4048316C4043A
-:105F50000356E40442078D86B2962318D404835670
-:105F600064074183231AE4063697231BE406184886
-:105F70007CC823090404230C04048D4763F1E70261
-:105F80000357A4058356C405835704046376D702D8
-:105F9000BA97C207C1836374F700231DF4048327F3
-:105FA000040885E383270408230E040293B717002F
-:105FB000B307F0407EBCD5B1B387F702B3C7E702A1
-:105FC000C1BF984B48335C2322055D8D7C23C207FB
-:105FD000C98F683362055D8DEFD07F828327040807
-:105FE0002A8903DAC7009C4BC827DC37A2075D8DDE
-:105FF000EFD0CFFD9C400D893335A0005295330979
-:10600000F9404A95E340A0FA0329040883270900D0
-:106010002320F4088357440785C383270901C82731
-:10602000DC37A2075D8DEFD06FFA058911C5835764
-:106030004407FD17231AF40603254900EFE09FD516
-:10604000835784073385A740231CA4064A85EFF0B5
-:10605000CF98B1B7231A040689B1984B03A904005D
-:1060600048335C2322055D8D7C23C207C98F6833CA
-:1060700062055D8DEFD0AFF87C5CAA8A3309594187
-:1060800003DAC7009C4BC827DC37A2075D8DEFD031
-:10609000EFF30D893335A00052953309A940E34150
-:1060A00009C09C403850998FE34CF0BE0329C407C7
-:1060B000832709007CDC8357440785C383270901B4
-:1060C000C827DC37A2075D8DEFD04FF0058911C5D9
-:1060D00083574407FD17231AF40603254900EFE010
-:1060E0007FCB835784073385A740231CA4064A85AA
-:1060F000EFF0AF8E5DB63C449840998FE3D507BA78
-:106100008316C40403D74191420693D53640418299
-:10611000C205C181B307C7408D8FC207C1831395E4
-:106120000701B697C207C18741852316F404635758
-:106130000500198E2E961315060141858316E40479
-:106140008D872322040413D726403387E6402A97FD
-:1061500042074183BA972317E4042318F404A1B635
-:106160009EA423950400998D844061B63307E040D6
-:106170009315070169B6958FE3D007BC8347640286
-:10618000228593E727002303F402EF10A0426DB6A7
-:10619000E384E6BE2285EF10E03A8324440863944A
-:1061A000041E378500201305058CEFF08F8723220E
-:1061B000A408C1AA7D1942091359090111B11C4152
-:1061C0002322F408EFF06F81032544086DF903A73B
-:1061D000090083570A002285BA971CD45E3433899C
-:1061E000274123162403EFE01FF7DC409A2709C755
-:1061F00023A8F19223A204009C48C827DC37A207F9
-:106200005D8DEFD0AFDC058919C593874193982345
-:106210001367070298A3914A1D4B39AA5C3648269A
-:10622000A2075D8DEFD08FDA058935C59C48C82758
-:10623000DC37A2075D8DEFD06FD9098929ED9C4825
-:1062400083CAD700C827A20AB3EAAA005E85EFD0A6
-:106250000FD79C48B3FAAA00C827DC37A2075D8D88
-:10626000EFD0CFD61375E50313651500EFD02FD50A
-:1062700033E5AA009C484205418113578500C8A711
-:10628000D8B783DAC400EFD06FD40D893335A000BE
-:10629000AA9A23105A01832A0B005A85EFE0FFF3D4
-:1062A000568BDDB623A0F9005C37482783DBC4009A
-:1062B000A2075D8DEFD08FD11C540D893335A0001E
-:1062C0005E953E959C4808D483DBC400C827DC3724
-:1062D000A2075D8DEFD08FCF5E340D893335A000DE
-:1062E0005E953385A7404AB42285EFE0DFE6CC40D7
-:1062F0009E2589CB93870193884335CDEFE05FAB33
-:1063000023A204009C48C827DC37A2075D8DEFD08C
-:10631000EFCB058901CD138741931C2393E7070237
-:106320001CA31C4863945701232864019C402685C4
-:106330002322F408EFE07FEA8324440899CC9848AC
-:1063400054335C23A206DD8E7C23C207DD8E7C33B2
-:10635000E207D58F1454E387D7F48347640213F719
-:10636000170001CFF99B93E727002303F40222854E
-:10637000EF10402439A08CC361B793E717002303C3
-:10638000F4026F90FFE703A7090001491305F7FF27
-:1063900013081700904854325C22A206DD8E7C223E
-:1063A000C207DD8E7C32E207D58F639CE70237851A
-:1063B00000209307058CDA27DE24E3F4E7FC1305BD
-:1063C000058CEFE01FE655DD630A09002320A900D4
-:1063D000A685EFF0AFF275B7B6846DBF2322A4088F
-:1063E000C5BF63100902B306F74063DE06083785B0
-:1063F00000201305058CEFE0DFE241D52322A4083D
-:10640000C1BF8328090183C5580083C64800A2057F
-:10641000D58D83C66800C206D58D83C67800E20696
-:10642000CD8EB306D54063C00606B306F840634C74
-:10643000D004378500201305058CEFE09FDE2A8409
-:1064400029D1032709015C334C23A207DD8D7C236E
-:10645000C207CD8F6C330357C900E205CD8F83A5EA
-:1064600009003E970D8F635BE0009D8DC2050325FB
-:106470004900C1812316B900EFE05F8C2320890019
-:10648000A6852285B9B794402689B9F6B307F740A7
-:10649000E359F0EE5C364826A2075D8DEFD00FB3CE
-:1064A0000589E31005EE378500201305058CEFE024
-:1064B0005FD788C0E30705EC98485C334C23A207FC
-:1064C000DD8D7C23C207CD8F6C33DA24E205CD8FBE
-:1064D00083A509003E970D8FE355E0EA9D8DC20527
-:1064E000C840C181CEA4EFE07F8561BD2285EF1059
-:1064F000600541BD3387D740634807005A3485079C
-:10650000958F998FE35FF0E683476402A9BDEF9210
-:106510003FCE9384019403A904002A848347D900C1
-:106520000345C900A2075D8DEFD04FAA3181420516
-:106530004181954763FCA7029C405109C827DC377D
-:10654000A2075D8DEFD08FA8B787002003A6078430
-:1065500031816D150A054205931506014181C181FE
-:10656000814705488948114363E4A7006F909FCA9B
-:10657000B306F9009822630907016DDB630A17016E
-:1065800098326DD7BA9711A08507C207C183E9BFBA
-:106590009832E31D67FC13873700E359A7FCB82244
-:1065A000B4322207558F6363E60011E32E871AA0E9
-:1065B0009107E1BFEF92DFC04041AA8B1C30082059
-:1065C0004111A2071389C1925D8DAE8923208900F4
-:1065D000EFD0CF9F8327090019811375C5032A9433
-:1065E00088239C3323A08194A2075D8DEFD00F9E5A
-:1065F0009355650093F5C503B305B0405E85EFE0A4
-:106600002FD411E503D78B00CD4763E8E7005E8503
-:10661000EFE0EFD941016F907FBE138BC19203254C
-:106620000B00CE854105EFD0AFE575F103270B00D8
-:10663000370500F01C3B002BA207C18F202B420422
-:10664000C18F203B62045D8CEFD06F9B698C370556
-:1066500000E0EFD0CF9AE30CA4FA83250B0003D718
-:106660008B009946138605015E85B105EF10905F9A
-:1066700059FD938401949C40C827DC37A2075D8DA7
-:10668000EFD0CF943181F155B305B5025E85C205D7
-:10669000C185EFE0EFCA25FD80401C300820A2072D
-:1066A0005D8DEFD0AF9208A0218108B080403C30D2
-:1066B0002820A2075D8DEFD06F9128A0218128B0FE
-:1066C000804048305C2022055D8D7C20C207C98F48
-:1066D000683062055D8DEFD08F92935785005CB076
-:1066E000935705017CA09357850148A07CB080405A
-:1066F00023ACA192938A819308341C2422055D8DDA
-:106700003C24C207C98F283462055D8DEFD02F8FDE
-:10671000935785001CB4935705013CA493578501FA
-:1067200008A43CB4804023A2A192138941927C34F6
-:106730006824A2075D8DEFD06F899C4068A42181F9
-:1067400068B4C827DC37A2075D8DEFD02F88937817
-:10675000F50F03D58B0093F53800B335B000AA953B
-:1067600003A38190C205944003280B0093F7F8031C
-:10677000C1812384F1922392B1941A840146938CAF
-:106780008192138C419401E403A50192D9AA9C3211
-:1067900003CE06005A30A207B3E7C7016319F70E0C
-:1067A000BC3203CE26005A2CA207B3E7C701631000
-:1067B000F70E0347D8008347C80022075D8F834741
-:1067C000E800C2075D8F8347F800E207D98F584081
-:1067D000631FF70A034718018347080122075D8FEB
-:1067E00083472801C2075D8F83473801E207D98FAD
-:1067F0001840631EF70819C65C4423A481905CC648
-:106800002326640003A74B00B78D002003268408CD
-:1068100093870D8C23A80192238A019223A007005D
-:10682000CAA798C723A2770194CB138A4193138DEB
-:106830000193938D0D8C09CE832704098146A2858F
-:10684000638F072E084C8297E31305DC232404088A
-:1068500083C70C0023AE819213F74700938BC1933B
-:106860006302073418488947631FF72C3850832781
-:1068700009006314F72E83470A0093E7870023007B
-:10688000FA0083476402F99B2303F402F9A42286E9
-:106890004044D5BD98329C2222075D8F5E316391C2
-:1068A000E70CB032B8222206598E5A2D631AC70A55
-:1068B0000343D8000346C80022033363C3000346E2
-:1068C000E8004206336366000346F800620633665A
-:1068D0006600032345006315C308034318010346FC
-:1068E000080122033363C3000346280142063363D1
-:1068F000660003463801620633666600032305001E
-:106900006310C30693F64800E39306D093F628007D
-:1069100095C683A80A001455B386D84063C70602FB
-:106920005235918E6343D0029306C80013060801C6
-:10693000C69503250900EF00707ED1B993F81800C1
-:106940006385080083A741911CDDE38205CC834762
-:10695000650293E727002303F502EF00B04545B930
-:1069600048450DF903A301913E8E1A8A631C0A0063
-:10697000DC36C826A2075D8DEFC05FE51189E318FC
-:1069800005C845A003260A000DC203471801834726
-:10699000080122075D8F83472801C2075D8F834767
-:1069A0003801E207D98F6318F618B832B02283573E
-:1069B000CA012207518F6390E71801C98327CA00D3
-:1069C00023A841915CC523266A0093F7080189CF6B
-:1069D0009C32902203A50A00A207D18F9306C8001B
-:1069E00013060801AA95B1B793F82800E38108C2FD
-:1069F00083A8C18C638E08040345D8008347C80070
-:106A00008C2222055D8D8347E80094323A86C207C6
-:106A1000C98F0345F800A206D58D62055D8D829869
-:106A200005C9944003260B0003550C009C32B83274
-:106A300083C8060003C82600A20722079306C600E3
-:106A400083A50A00B3E7170133670701410659BF61
-:106A500003454A01EFE0DFE12A84E30A05BA832710
-:106A60000B0001479386070199CA943B982BA20615
-:106A7000D98EB82B4207D98EB83B6207558F18C004
-:106A80000357CA019386C7005AAC014799CAD43745
-:106A9000D827A206D98EF8274207D98EF837620781
-:106AA000558F944058C0130504049C329822A207C5
-:106AB000D98F03A70A005EB08D471CC89307170043
-:106AC0001CD41CD8FC36F0267D17A207D18F2312C8
-:106AD000F406231EF40483278A0138D41CCCB7871C
-:106AE000002083D707845EB47EB483270A021CD0BB
-:106AF00083578A0093F797191EA483A7819023A434
-:106B000081905CC4EFF0BFA00355040493054400DA
-:106B1000EFE05FEA2310A40485470147C946014618
-:106B200081452285492B11C581452285EFE0BFC9EA
-:106B3000F9BC22851DB55285032ACA0005BD014551
-:106B4000EFE07FB511B383A70A001854998F63C68D
-:106B500007005A34998FE350F0D283470A0013F7A5
-:106B600087006300073E9305F1002285EFB0BF9ACE
-:106B700085476316F500184889476301F71C22858D
-:106B8000EFC0AF868327C40981C7084CE9558297B7
-:106B9000A28513858190EFE0DF9DA2850945EFD0A6
-:106BA000FFE369AA898B85C31C480547F917637CF5
-:106BB000F70083476402228593E727002303F4024A
-:106BC000EF00501F59BF83A74191A308040A130582
-:106BD00004041CDCEFF0BF931C481D47F917E36E5B
-:106BE000F7F625678A071307C7E6BA979C4382879B
-:106BF00083C70C004947C98B6392E70C83270408BD
-:106C0000984B48335C2322055D8D7C23C207C98FD6
-:106C1000683362055D8DEFC09FBE832709000505BF
-:106C2000631EF5088357640703A70A00944085078D
-:106C3000231BF4069307170068C81CD41CD8FC3625
-:106C4000F02603550404A207D18F7D172312F40602
-:106C5000914738D41CC893054400EFE0BFD5A9473D
-:106C6000B307F5020357A4052310A404231EF4045C
-:106C700085476315F7000605420541818357840760
-:106C8000231DA40403250408FD17231CF4061C413E
-:106C900023090404232204042320F40893B71700D3
-:106CA000B307F0407EBCEFE04FD383274409E38273
-:106CB00007F0084C0146A2858297E5BD83C70C000A
-:106CC000C18BE38C07E8944003550C0083A50A00B0
-:106CD0009C32B83203260B0083C8060003C8260086
-:106CE000AA9503250900A20722079306C600B3E769
-:106CF0001701336707014106EF005042B9BD83C752
-:106D00000C0013F7070169C70325090078489307AA
-:106D1000F5FF998F63C607083C50B307F540634100
-:106D2000F00891471CC81C508DC7084C0146A2852D
-:106D3000829705C185452285EFE0FFA803A54D0098
-:106D400023A00B00E308058CEFD07FE623A20D0003
-:106D5000D1B022858354A405EFE03FE78357440771
-:106D600081C7FD17231AF40605478357040463956A
-:106D7000E4008607C207C183231DF40483470A0089
-:106D800093F70702E38B07DC83476402228593E7CE
-:106D900027002303F402EF00F0019D471CC875BBD8
-:106DA000944003260B0003580C009C32B83203C3F6
-:106DB000060083C8260083A50A00A20722079306BF
-:106DC000C600B3E76700336717014106C2952DB7C8
-:106DD000898BE38407D81C5403A70A00FD17E39EA0
-:106DE000E7D62285EF0070478DBB2285EFE0FFDDFF
-:106DF00071B72285EFE07FDD83470A0093F7070232
-:106E0000C1C303C70C0083476402418B93E727008B
-:106E10002DC3345003270900639DE6042303F402C5
-:106E20002285EF0020792285EFE02FC483A781908F
-:106E3000631DF4005C4423A4F190A9471CC803A778
-:106E4000019223A0819258C409BB23AEF1908146E0
-:106E500089E7E5D623AE0190CDB7D0476318C400CB
-:106E600099C223AEF1905844D8C7C1BF8546B287B6
-:106E7000C5B72303F4022285EF00C073A14739BFD1
-:106E800083C70C00C18BE38A07CC385083270900E5
-:106E9000E315F7CC994719B72285EFE01FD3834755
-:106EA0000A0093F70702E38A07CA83476402228530
-:106EB00093E727002303F402EF00C06F2285EFE081
-:106EC000CFBA83A78190E307F4F623AEF190814611
-:106ED000C9D3D047E306C4F88546B287D5BF22851B
-:106EE000EFE0BFCE83C70C00C18BE38807C63850E4
-:106EF00083270900E313F7C62285EFE00FB783A7C6
-:106F00008190E309F4F223AEF1908146B9D3D047E2
-:106F1000E308C4F48546B287D5BF2285EFE0FFCAF7
-:106F200083C70C00C18BE38A07C23850832709004E
-:106F3000E315F7C283470A0093E707012300FA002D
-:106F400029B9C18B85C72285EFB03FCAA2851385B9
-:106F50008190EFE00FE20945A285EFD03FA803251D
-:106F60000D00E30D05DCEFD09FC4C9BB03564407F9
-:106F700019C68327C40881C7084CA28582970326B7
-:106F80000D000DC683C70C00A18B89C75C3693E743
-:106F900017005CB6832704098146A2859DCB084C67
-:106FA000829709C583270D002324F40883470A002C
-:106FB00093F7070289CB8327040981460146A285FE
-:106FC00089CF084C8297228523A00B00EF00805EBA
-:106FD000B5B30145EFE02FECE9B70145EFE0AFEBCA
-:106FE000DDB7EF92EFA02A894A2D41112E8432C6D7
-:106FF000EFC0EFFC08A0218108B003554902EFC0A3
-:107000000FFC324628A0218128B093578600032523
-:10701000890250A05CB093570601618270B07CA0D9
-:10702000EFC0AFFB9357850008A41CB444349357BA
-:107030000501618128B44824A2043CA4C98C41659F
-:10704000130505FCEFC0AFF7E98C4145EFC02FF702
-:10705000458D4205418148A4218148B40355E90288
-:10706000EFC0EFF58357E90268A4218168B4231BC0
-:10707000F9025C34482423090400A207A309040090
-:107080005D8DEFC0AFF495671375F5035D8DEFC0AF
-:107090000FF30357E9028327890248A4218148B4EA
-:1070A00023080400A3080400BA972328F9022285C4
-:1070B00041016F902F96EF92AF9079712EC63ACA28
-:1070C0002A89B28A368BBE8D01EE93F73600B3E77C
-:1070D000FD00595A91C38DC1528545616F900F9241
-:1070E0008357650763FAC700834769027D5A93E7B0
-:1070F00007F82303F902CDB793972D0013F72D005E
-:10710000918BB14611E38146B6973EC283270907AA
-:10711000378D00201307CD833EC41C47584383544A
-:1071200089078A07B3D7E702130DCD83E3FEF4FA8C
-:1071300041679306C7FFE3E996FA92473082130747
-:1071400007FC898393F7F70F950732C85246B207B9
-:10715000C2073AD2B24C13170B01C183058A41838F
-:107160003ECCD68B8149814732CE36D03AD4035AB1
-:1071700009041247330AEA4063D34B015E8A114582
-:107180003ED6131C0A01EFD07F83135C0C012A84C6
-:1071900063060518232005002322050063840914D3
-:1071A000B25788C3F24763810714C24701460145BD
-:1071B000B305FC00C205C181EFD05FA448C0630FD6
-:1071C0000514EFD03FBDB247AA94C204C18081CF5D
-:1071D0005C40E685C843C167FD173376FA009247E5
-:1071E0003E95EF10501D5C40DC431CC483278D008E
-:1071F00003274D008A07B3D7E70263E1971282574E
-:1072000063EE9710484023168401D145EFD05F9379
-:10721000631605105C400355C901B38B8B41DC43F9
-:10722000C20B93DB0B011CC83ED6EFC04FD9B2573F
-:1072300088A3218188B31C48035549023ED6EFC07C
-:107240000FD8B257A8A32181A8B31C4822453ED627
-:10725000EFC0AFD8B25713578500D8B31357050105
-:10726000F8A31848C8A36181E8B35C37482723090D
-:107270000700A207C98F1255A30907003ED6EFC029
-:107280000FD4B257E98F22553ED6EFC04FD3B25735
-:107290005D8D42051C48418113578500D8B7C8A7AA
-:1072A0002307B401EFC08FD21C481375F5033ED6F7
-:1072B000E2475D8DEFC0AFD0B257C8A72181C8B7F4
-:1072C000C167FD17337AFA00A247D29CD2973EC419
-:1072D000A287E39E0BE8032AC90763190A06232E37
-:1072E000390751A2AA897DBDC24501460145EFD0AB
-:1072F000FF9048C005C5EFD0FFA9AA94C204C18081
-:10730000E3860BEEE28505460D45EFD03F8FAA855B
-:10731000484095E1EFD0BF892322040083476902EA
-:107320007D5A93E707F82303F902E38709DA4E85CC
-:10733000EFD05FED55B323A295018504C204232449
-:107340009401C180EFD0DFA655B53E8A83270A009D
-:10735000EDFF83270A01835BCA00C827DC37A20739
-:107360005D8DEFC0AFC60D893335A0005E95630516
-:10737000051883270A01C827DC37A2075D8DEFC0F7
-:10738000EFC40D89631A051693773B0081C78547C3
-:107390006314FB1603D7C9008357CA00BA97035773
-:1073A0000904634BF7140347EA0083C7E900631538
-:1073B000F71403270A0148335C2322055D8D7C23E3
-:1073C000C207C98F683362055D8DEFC04FC303A745
-:1073D0000901835BCA005C23AA9B483322055D8DAB
-:1073E0007C23C207C98F683362055D8DEFC02FC152
-:1073F0006394AB10C247B15503A549009D8DC205EA
-:10740000C185EFD0EFF3E31B05F003A549003E254E
-:1074100099EB1C41FD14C20423A2F90023200500AE
-:10742000C180EFD0CFF893771B00CDC783270A0127
-:1074300083CBD700C827A20BB3EBAB000545EFC049
-:107440000FB883270A0133E5AB0042054181C8A785
-:107450002181C8B763958900035CCA005284CE8538
-:107460001145EFD0AFD793773B0089C7850AC20A91
-:1074700093DA0A01137B1B0063080B008347690240
-:1074800093E707022303F90283270907231C9906C0
-:10749000014AD6972328F90683576907B38A5741CB
-:1074A000231B5907E30A0CC21C48E38707C2524753
-:1074B000098BE31307C2C437C827A204C98C21452E
-:1074C000EFC0EFAF1C48458D42054181C8A721811F
-:1074D000C8B719B183A5490003254A00EFD05F8DD5
-:1074E00003D7C9008357CA00BA972316FA0083A7A7
-:1074F00009002320FA00B9BF23203A01ADB7EF827B
-:107500003FCFAE868147054701468145EFF0BFBAC0
-:107510006F805FD0AA8708491D476308E5001308FC
-:10752000E5FF09476155636E0701014519CAEF82FE
-:107530003FCC36873E8581468147EFF0DFB76F80CD
-:107540007FCD8280EF823FC92A840146D14505451F
-:10755000EFD0CFEA31CD83476402AA842850F19B53
-:107560002303F402EFC06FA7CC402A862285EFF0F8
-:107570005FA79A2413094400AA8999464A86A285DE
-:107580002685EF00306E2388A9002181A388A900F9
-:107590003824343499474A86A2852685EFC0EFEA1D
-:1075A0002685EFD0CFE00145A30304026F80FFC51D
-:1075B0007955EDBF83A7C1936380A736EF825FC083
-:1075C00083574506035AA50563F347013E8A83475F
-:1075D0006502420A2A84898B135A0A01645D95CB9D
-:1075E00091E42285EFF01FF66F805FC19848483321
-:1075F0005C2322055D8D7C23C207C98F6833620539
-:107600005D8DEFC0CF9FDE247848998F3E95E36A69
-:10761000AAFC8329040863960908B78A0020894BCD
-:10762000938ACA83370C0402130B4400FD5CADC07F
-:10763000984848335C2322055D8D7C23C207C98F9F
-:10764000683362055D8DEFC08F9BDE247848998F8B
-:107650003E95637CAA048347040B9DEB984848330E
-:107660005C2322055D8D7C23C207C98F68336205C8
-:107670005D8DEFC0CF98DE247848998F3E95835773
-:10768000440663F7A70085472326040A2308F40A63
-:1076900083476402014593F7F7072303F402A9B770
-:1076A000BE8983A70900EDFF8DBF8327040895C31A
-:1076B0008347640213F7470409EF785C01CB144356
-:1076C00089EA56270357040463F5E60093F7070A8F
-:1076D000D9D39C407CDC1C48638977039C4803C950
-:1076E000D700C82722093369A9004145EFC02F8D73
-:1076F0009C483365A90042054181C8A72181C8B7CC
-:1077000083476402F19B2303F402085403A9040194
-:10771000EFC0AF8C935785002304A900A304F900A0
-:10772000935705016181A305A9006A342305F90077
-:1077300003A90401EFC0AF887A341C542307A900C1
-:107740002181A307A900BA977AB81CD8FC24858B9D
-:1077500099CB03A54A0003A904013365AC00EFC02F
-:10776000CF87232AA9001C4099E75A85EFC0EF89EB
-:1077700059C55C411CC08317E40363949701231F20
-:1077800004027C4095E383A7419198487CC048332C
-:107790005C2322055D8D7C23C207C98F6833620597
-:1077A0005D8DEFC0CF8528C4C84003A90401994668
-:1077B0005841232225015A863307E94093170701D0
-:1077C0003A25C183A2851D8F3AA51A251D8F420730
-:1077D00041831AA523080900A3080900EF00904877
-:1077E0002308A9002181A308A90038243434C84003
-:1077F00099475A86A285EFC04FC5A3030402984853
-:1078000048335C2322055D8D7C23C207C98F683312
-:1078100062055D8DEFB0BFFE9C482A8983DDC40000
-:10782000C827DC37A2075D8DEFB05FFA0D893335CD
-:10783000A0003C506E954A95898F63D3070028D0ED
-:107840009C4803D9C400C827DC37A2075D8DEFB080
-:10785000FFF70D893335A0004A955DC983270408D9
-:1078600023A0040089E723209408A68999A89848B2
-:1078700048335C2322055D8D7C23C207C98F6833A2
-:1078800062055D8DEFB0BFF703A709012A89483370
-:107890005C2322055D8D7C23C207C98F6833620596
-:1078A0005D8DEFB0DFF53305A94063500506130980
-:1078B00004088327090081EB832709009CC023204B
-:1078C0009900645CADB3984B48335C2322055D8D11
-:1078D0007C23C207C98F683362055D8DEFB03FF22C
-:1078E0009848AA8D48335C2322055D8D7C23C2070E
-:1078F000C98F683362055D8DEFB07FF03385AD4091
-:10790000E35C05FA032909006DB723A09900B1BF14
-:107910002685EFD09F8C75B701458280EF82BF8BA3
-:107920004111AA8AAE84B289D14501460545368AFD
-:107930003AC63E8BEFD08FAC6303050E3247404111
-:107940002A893A85EFB0BFE708A0218108B05A859F
-:10795000EFB0FFE628A0218128B05685EFB0FFE701
-:107960009357850048A05CB09357050161817CA0C6
-:1079700068B02685EFB07FE69357850008A41CB455
-:10798000443493570501618128B44824A2043CA4DF
-:10799000C98C4165130505FCEFB07FE2E98C5145C8
-:1079A000EFB0FFE1458D42054181B787002048A433
-:1079B000218148B403D50784EFB07FE068A45C342C
-:1079C000218168B44824A207230904005D8DA3091E
-:1079D0000400EFB0BFDF95671375F5035D8DEFB061
-:1079E0001FDE0357890048A4218148B49946528676
-:1079F000CE8523080400A30804004A85EF009026E2
-:107A000008A8218108B899470147930600085286C3
-:107A1000CE854A85EFC06FA34A85EFD04F994101CB
-:107A20006F80AFFE8327050885CBEF826FFC3E8712
-:107A300014438DE2745D14C37CDD83472505232048
-:107A400005082322050485072309F504EFF09FB6F6
-:107A50006F804FFC3687E9BF8280EF82CFF78324A7
-:107A6000050895C49C402A841309C5072320F508FE
-:107A70008327090099EF832709009CC023209900E0
-:107A8000834724052322040485072309F4046F8017
-:107A9000CFF7984B48335C2322055D8D7C23C207CA
-:107AA000C98F683362055D8DEFB07FD59848AA898C
-:107AB00048335C2322055D8D7C23C207C98F683360
-:107AC00062055D8DEFB0BFD33385A940E35505FA5C
-:107AD0000329090071BF83270508B1CFEF824FF159
-:107AE000834765022A84918BA9E7EFF01FF783563D
-:107AF000A4058357440613D7160063F4D70013D7A1
-:107B0000170083570404231EE4049396170063545C
-:107B1000D700231ED4040D47B387E7020357C405DB
-:107B2000BA97231DF4048347640293E747002303B5
-:107B3000F4026F802FEE8280EF82EFE9AA84014683
-:107B4000D1450545EFD08F8B29C52A84A8501389CC
-:107B500044007D15EFB07FC84C402A862685EFF0A3
-:107B60004FC81A24AA8999464A86A6852285EF001D
-:107B7000700F2388A9002181A388A900B4349947F4
-:107B800001474A86A6852285EFC02F8C2285EFD03B
-:107B90000F826F808FE7EF820FE40324050819E05E
-:107BA000605D5DC41C48AA84C827DC37A2075D8DD0
-:107BB000EFB0DFC1058959CD5E24C9EF054AD14533
-:107BC00001460545EFD08F832A8959C118484C4199
-:107BD000268550335C2322065D8E7C23C207D18F1D
-:107BE000703362065D8EEFF0CFBFAA8963070A0685
-:107BF00040355C2541652204130505FC5D8CEFB022
-:107C00001FBC698C4545EFB09FBB498C931704019D
-:107C1000C1832386F900A183A386F9000357890055
-:107C20001384440099462286A6854A85EF00900376
-:107C30002388A9002181A388A900B434994701476A
-:107C40002286A6854A85EFC04F804A85EFC03FF661
-:107C50006F80AFDB014AD545A5B71844832749009B
-:107C600003070700D8AB5DBFEF828FD540410625E3
-:107C70002A891C3008204111A2075D8D2E8AEFB0A1
-:107C8000FFB421813D8909050A0563C2A4021C30A5
-:107C90000820A2075D8DEFB07FB39355650093F583
-:107CA000C503B305B0404A85EFC09FE919C54A85B1
-:107CB000EFC0FFEF41016F806FD4832A4900130C9E
-:107CC0000401D2856285EFB0BFFB83C71A002A8BFF
-:107CD00003C50A00A2075D8DEFB05FAF83C73A000E
-:107CE000AA8B03C52A00A2075D8DEFB03FAE9307B4
-:107CF0004004AA86631DF506930730046399FB12BE
-:107D000083270A0263850712C44363820412D440A6
-:107D100089CE58345C2422075D8F7C24C2075D8F96
-:107D20007C34E207D98F6394F61083C77A0003C7C7
-:107D30006A00A207D98F99CB03578900C54662868E
-:107D40009305C4004A85EF00E07135F1E1554A859D
-:107D5000EFC01FDF29FD638C040E9C4CA9DBC84CCF
-:107D60005E879306C4004A86A6858297A1B783A43E
-:107D70008194014D814D938C81941306C07689E4E2
-:107D800063070D0AEA8455B7BE28639CD70898405C
-:107D900063150B0439E363160D009C28918B91E366
-:107DA000268DDE2863927709CC4089CD58345C2437
-:107DB00022075D8F7C24C2075D8F7C34E207D98F58
-:107DC0006394F506E3830DF6DC4423A6FD0083A748
-:107DD0000C0023A09C00DCC489BF1C38834904012B
-:107DE000A207B3E7370183492401C209B3E7F900C9
-:107DF00083493401E209B3E9F900E38EE9F8370574
-:107E000000F036C6EFB0BF9FB3F9A900370500E018
-:107E1000EFB0FF9EB2461306C076E38EA9F6E31CD0
-:107E20000BF6A68DC444A1BFE39DC6FEFDBD183868
-:107E30001C2822075D8F3C28C2075D8F3C38E20773
-:107E4000D98F03274A00E314F7E68144F9BDE31014
-:107E50000BE61C380428370500F0A207C58F24283C
-:107E6000C204C58F2438E204DD8CEFB05F99E98C41
-:107E7000370500E0EFB0BF98E38BA4E21C30082088
-:107E8000A2075D8DEFB09F9493558500BD8989054C
-:107E90008A054A85EFC0DFCA8D454A850D2301BD9D
-:107EA00083A88194AA860143C687138881949DE79D
-:107EB00099C998319C2122075D8FBC21C2075D8F33
-:107EC000BC31E207D98F9CC225C6B2AA0145631610
-:107ED000030023A616012320D8008280638BD702DB
-:107EE000BA2B6316C70203AE070063140E00555584
-:107EF0008280F5DD883198212205598DB82142070D
-:107F0000598DB8316207498F7DD3E302EEFEDC471D
-:107F100079BF0543EDBFAE2B639AC5000506420647
-:107F20004182C687DDD3E318E6FED1B7DC47DDBF6B
-:107F30002167C68705667D17F5B7EF82CFA93E2971
-:107F40002A89AE89B28A368B3A8AADC7A1454E8559
-:107F5000EFC01FBFCE8401CD0146A1450545EFC04E
-:107F6000FFC9AA847D5429CDCE85EFC03FE60355D5
-:107F70002901C040EFB0BF8408A0218108B05A8514
-:107F8000EFB0FF838327090028A0218128B02303B5
-:107F90000400A3030400130B4A0095C703274A00FB
-:107FA0004A8B6382E7025D54638C34012685EFC0FF
-:107FB0001FC039A00146AA85EFF09FEE2A8459D54B
-:107FC00022856F808FA48A24EFB06FFF48A02181A3
-:107FD00048B083470901858B99EB9A24C54656869C
-:107FE000DA85268541210DC168A0218168B003474B
-:107FF000A9008346B9005288C5475686DA8526858A
-:10800000EFB01FAF2A844DB7FD577CA07CB0C5B739
-:10801000EF820F9E41112A8432852EC636C432C2A9
-:10802000EFB0AFFE19C9A2461246B2452A87228593
-:10803000EFF0BFF041016F80EF9D7155E5BFEF821A
-:108040002F9B562913064500EFF09FFC6F808F9CF5
-:10805000EF820F9A3E292A84AE843289B1CB8147C0
-:1080600099C898309C2022075D8FBC20C2075D8F85
-:10807000BC30E207D98F18285CC0231A240113678B
-:10808000470018A8184005EF85CF13054400EFB04E
-:10809000CFF7AA87715595C3DC431CC083A6819492
-:1080A00093878194368705E354C480C3014531A08A
-:1080B0000146AA85EFF0DFDE5DD16F80AF95F9FF55
-:1080C00023200400E1BFE30387FE5847E9BF0CCD3E
-:1080D00050CD8280EF82CF910545EFC03F8E2A843C
-:1080E00009C9130600028145EF808F93930700F8BA
-:1080F0003CB422856F800F92EF82EF8D2A842E8A06
-:10810000B2899305400201460545EFC03FAF31CD2E
-:10811000032904004041AA847146CA852300440112
-:10812000A300340123020400A3020400230304007B
-:10813000A303040013058400EF00F027AE242301FD
-:108140000400A301040022851D2128A0218128B05C
-:1081500085470147930600081306C9008145268517
-:10816000EFB0BFAE2685EFC09FA46F800F8AEF826D
-:10817000AF854041AA8441111C300820AE89A20776
-:108180005D8DEFB0AFE4135965001379C903B30AED
-:108190002041C20A93DA0A41D6852685EFC05F9A4C
-:1081A00039E19E248D4663F0F604DC409823631287
-:1081B000D704982793868700883F3D8B0A07369718
-:1081C0002C2303483700982F22059433598DB82F5C
-:1081D000903BA2054207498FA83FB3E50501620520
-:1081E000598DEFA03FC02685EFC07F9C41016F8075
-:1081F0002F81A147E319F7FE1C38034A0401370514
-:1082000000F0A207B3E74701034A2401014B420AE9
-:10821000B367FA00034A3401620A336AFA00EFB026
-:108220000FDE2A8C370500E0EFB06FDDAA8BCE851C
-:1082300013050401EFB0DFA419E533758A01330596
-:108240007541333BA000EFA01FB951DDE30D0BF8E2
-:108250009A249D47E3F9E7F82685252649F5420942
-:1082600093052002268513590941EFC07F8D6304D1
-:108270000512CA852685EFC0BF8C35F58E240146D0
-:108280000945EFC0BF972A8A39DDA685EFC05FB5E3
-:1082900039F9D685528503244A00EFC07F8A21F53B
-:1082A0002685EFC0DF90D28458345C24143822072E
-:1082B0005D8F7C24A20603AA4400C2075D8F7C3434
-:1082C0003D651305F57FE207D98F18281CA8D98EC4
-:1082D00038284207D98E38386207558F9356870061
-:1082E00058A454B493560701618378B413D7870018
-:1082F00018B813D70701E18374A438A83CB8834A9F
-:108300003A0083472A0023000A00A20AB3EAFA00CF
-:10831000EFB0EFCA63E9AA08056513050580EFB061
-:108320000FCA83473A0003472A00A207D98F85075F
-:108330003E95420541812301AA002181A301AA00A3
-:108340001C340824A2075D8DEFB04FC8A1671375D8
-:10835000F50F5D8DEFB0AFC608A4218108B4D145FB
-:1083600023050400A30504002285112428A42181EB
-:1083700028B4CA852685EFC0AFFCE31605E64E8813
-:10838000854701479306000801469305C4002685EA
-:10839000EFB00FF689BD9305E0FD2685EFC04FFADB
-:1083A000E30405F089B5056513050580EFB02FC11D
-:1083B00083473A0003472A00A207D98F95BFEF727F
-:1083C0003FE313F6F50F11058D45EFF0FFD26F7007
-:1083D0007FE4EF72FFE113F6F50F1105AD45EFF005
-:1083E000BFD16F703FE3EF72BFE03308B5004208C2
-:1083F000AA860147135808018548B307D840C20729
-:10840000C18363E4F80493D715009396170036955B
-:10841000F956B387D702BE95C205C18181C51C211B
-:10842000A2073E9741659306F5FF93570701758FA5
-:108430003385E700C177E98F99C3758D050542053E
-:108440004181EFB0CFB76F70FFDC9C32902289067C
-:10845000A207D18F13968700A183D18FC207C18352
-:108460003E9761BFEF725FD6B787002083A707856D
-:10847000BA844111139757006349070E416B2A894B
-:10848000AE8A328A814901447D1B854B631E0908EF
-:10849000638B09004167931784007D172180F98F52
-:1084A0001374F40F5D8C03C51A0083C70A000347D9
-:1084B0000A0022055D8D83C72A0003463A00416900
-:1084C000C2075D8D83C73A0062067D19E207C98F36
-:1084D00003451A002205498F03452A004205598D9C
-:1084E000498E33752601418233F7270132953A953B
-:1084F000C1833E952A943685EFB06FAC2A942685C9
-:10850000EFB0EFAB229513540501337525012A9482
-:10851000135504013374240122951345F5FF4205D8
-:10852000418141016F70DFCD8355A90003254900CA
-:1085300036C6EFF05FEB2A9493570401337464015D
-:108540003E948357A900B246858B89CF9317840048
-:108550002180B3893B41B3F767011374F40F93F99A
-:10856000F90F5D8C0329090015B701455DBFEF7256
-:108570003FC8EFF05FE71345F5FF420541816F709B
-:108580007FC9EF725FC5C169AA8401490144FD1921
-:10859000054A95E0630B09004167931784007D1736
-:1085A0002180F98F1374F40F5D8C1345F4FF42059D
-:1085B00041816F709FC5AE24C840EFF0DFE22A947E
-:1085C00093570401337434013E94BE24858B89CFC4
-:1085D00093178400218033092A41B3F737011374BC
-:1085E000F40F1379F90F5D8C844065B7011106CE45
-:1085F0002EC60DCD1841AA8705C358417D5511CB14
-:108600008546631BD70098472300070023A2070075
-:108610000545F240056182809847B24614A3984709
-:10862000050798C7D8437D17D8C3DDB705466C004A
-:10863000EF90CFB3F1BF797122D426D24ECE52CC77
-:1086400056CA06D64AD05AC82A8AAE8A328481448B
-:108650009309000263440602B3879A0083870700E8
-:108660009DE363D6840263D2E402198C93F726005B
-:108670009309000281C719E393090003858A014920
-:1086800085EA228931A88504C1BF058CC5B701449C
-:10869000F1BFCE8552853AC6EFF05FF532477D19BE
-:1086A000E34920FF22896353040001493304244134
-:1086B00063CBE402CA84B3872441D697838507003D
-:1086C000A1E122896343200563530400014433057B
-:1086D0009400B250225492540259F249624AD24A4A
-:1086E000424B45618280B3049740268B930500037B
-:1086F00052857D1BEFF09FEFE31A0BFE26995DBFBD
-:108700005285EFF0BFEE85047DB7CE855285EFF040
-:10871000FFED7D1945BF5D71A6C252DC86C6A2C4BD
-:10872000CAC04EDE56DABA843E8A9DE19307000342
-:108730000147D28626862C08FC84EFF0DFEFB64096
-:10874000264496440649F259625AD25A616182809F
-:108750002A893684C68A91CAA94701446317F6005C
-:1087600063D50500B305B0400544A3070102930794
-:10877000F102A546130568FC33F7C50263D3E60092
-:108780002A9713070703A38FE7FE9389F7FF33D7D1
-:10879000C50263FBC50409CCB9C813772A0021CBF5
-:1087A0009305D0024A8542C6EFF05FE43248FD14DB
-:1087B00093774A008DC393071006930500034A85FB
-:1087C000631FF802EFF09FE2930580074A85EFF000
-:1087D000FFE10904F9145687D2862686CE854A859C
-:1087E000EFF07FE52295A1BFBA85CE8771B7130759
-:1087F000D002A38FE9FE01449389E7FF55BFEFF054
-:10880000FFDE93058005D9B701458280014582804E
-:1088100039715AD0379B000022DC26DA4AD84ED66E
-:1088200052D456D25ECE62CC06DE66CAAA892E89A2
-:108830003284014A8144930B5002930AB002294CBE
-:10884000130BCBE8830509008DE56386090081459C
-:108850004E85EFF0BFD9F250625426854259D2546A
-:10886000B259225A925A025BF24B624CD24C2161AD
-:108870008280638875014E85EFF05FD78504050916
-:10888000D1B783071900930C1900639A77019305F8
-:1088900050024E85EFF09FD585046689CDB7D5D7B8
-:1088A0006387570563C8FA00130730026384E7043F
-:1088B000814705A01307D002638AE700130700036E
-:1088C000E398E7FE930C2900894721A0930C290027
-:1088D000854703870C006303570563C1EA029306CB
-:1088E0003002630BD70266890146A54535A8930C73
-:1088F00029007DBF930C29009147E1BF9306D00268
-:108900006309D70093060003E31FD7FC93E7270012
-:1089100031A0850C8547C1BF93E74700850CE1B7BF
-:10892000330686030509369603070900930607FDFB
-:1089300013F5F60FE3F6A5FE9305E0029946631ED4
-:10894000B70005098146A54503070900130707FD80
-:108950001375F70F63F5A502368A0307090093051F
-:10896000A0066301B70A63C1E5029305C004630B67
-:10897000B708930580066300B70881452DA0B3862C
-:1089800086030509BA96C9B793054007630CB70675
-:108990009305A0076308B7061305C0068145631455
-:1089A000A7000509914503070900130500061308F0
-:1089B00010066344E50013081004130570066340B5
-:1089C000E506130550066355A71413057004634D9F
-:1089D000E50293055004635DB71293063004E3107B
-:1089E000D7EA1840930C4400A30601005886BE86BF
-:1089F00001476C0041A0030519008145E315E5FA24
-:108A0000090955B7050995BF93063006E30BD7FC56
-:108A100063C6E606930680056303D7028DB5930609
-:108A200030076301D70463C8E6029306F006630EBD
-:108A3000D70A9306000793E74700E312D7E4D9CD9E
-:108A40001D04937584FFC288138485003E88014706
-:108A5000B287C1463DA8930650076300D706930628
-:108A600080075DBF1840930C4400DA8511C3BA85B6
-:108A70005287BE864E85EFF01FBC2DA895C11D0400
-:108A8000937584FFC288138485003E880547B287AA
-:108A9000A946D0418C414E85EFF01FD7AA94C5B3AB
-:108AA000930C4400D2883287854629460C404E8577
-:108AB000EFF07FC6AA946684D9B399C91D04937553
-:108AC00084FFC288138485003E880147B287C9B7F6
-:108AD000930C4400D28832878146C1BF3287930C01
-:108AE0004400D28881464146D1B781CD1D0493759B
-:108AF00084FFC288138485003E880147B287A1465F
-:108B000049BF3287930C4400D2888146214679BF01
-:108B10001D04937584FF138485003287D0418C41F6
-:108B2000C2884E853E88B687A946EFF03FCEBDB7D6
-:108B300039712ED232D4AA855010014506CE36D6D0
-:108B40003AD83EDA42DC46DE32C6EFF07FCCF24065
-:108B500021618280011122CC26CA06CE1C21AA8462
-:108B60000144DC878307F100050499EFA9479305C9
-:108B7000F10005460145DC87EF805FDF2285F2408A
-:108B80006244D2440561828005469305F1000145A7
-:108B9000EF80DFDDB38784009C23DC87E1B7011120
-:108BA0002AC66C000546014506CEEF803FDCF24048
-:108BB000054505618280B3C7A5008D8B3307C500CD
-:108BC00081E78D4763EDC700AA87637EE50894219E
-:108BD00085078505A38FD7FEE3EBE7FE82809376BA
-:108BE0003500AA8789CA942185078505A38FD7FEFA
-:108BF00093F63700C5BF9376C7FF138606FE63F072
-:108C0000C70683A3050083A2450083AF850003AF99
-:108C1000C50083AE050103AE450103A3850183A80A
-:108C2000C5019385450223A0770003A8C5FF23A2B1
-:108C3000570023A4F70123A6E70123A8D70123AAFD
-:108C4000C70123AC670023AE17019387470223AE09
-:108C500007FF75B790419107910523AEC7FEE3EB7F
-:108C6000D7FEE3E6E7F68280204E0000983A000047
-:108C700009000000486172644661756C745F486168
-:108C80006E646C65720D00006D65706320203A257E
-:108C90003038780D0A0000006D63617573653A2500
-:108CA0003038780D0A0000006D7476616C203A252A
-:108CB0003038780D0A000000536F636B65744964A7
-:108CC0002025640D0A00000047494E545F5354416B
-:108CD000545F554E52454143480D000047494E549C
-:108CE0005F535441545F49505F434F4E464C490DCA
-:108CF00000000000504859204C696E6B205375638A
-:108D0000636573730D00000054435020436F6E6E13
-:108D100065637420537563636573732C20736F638D
-:108D20006B65742069643A2025640D0A0000000018
-:108D300054435020446973636F6E6E6563740D0015
-:108D40005443502054696D656F75740D0000000028
-:108D50004572726F723A20253032580D0A000000B9
-:108D6000544350436C69656E7420546573740D0AE6
-:108D700053797374656D436C6B3A25640D0A00007A
-:108D80006E65742076657273696F6E3A25780A0095
-:108D900076657273696F6E206572726F722E000055
-:108DA0006D616320616464723A00000025782000E0
-:108DB0005743484E45545F4C6962496E697420536D
-:108DC0007563636573730D0000000000010000000F
-:108DD00002000000040004001C002000B400240075
-:108DE00014002000100000065B4456505D2066729F
-:108DF000616D653D256C7520736F636B65743D25F2
-:108E0000640D0A005B4456505D206672616D653DDD
-:108E1000256C752077616974696E6720666F7220B2
-:108E20005443502E2E2E0D0A000000000011121384
-:108E30001415161718191A1B1C1D1E1F00560000AA
-:108E40004656000060560000705600007056000044
-:108E50005C5600005C5600007E56000001020304D0
-:108E6000050607070707070707000000F06B00006B
-:108E7000FE6C0000EA6D0000F26D0000986E0000CC
-:108E8000EA6D0000DE6E00001A6F0000286E756C3F
-:048E90006C29000049
-:108E940000000000000000000102030406070809A6
-:108EA400000000000102030401020304060708098C
-:108EB400C0A80132C0A80101C0A8010AFFFFFF0039
-:108EC4008815871500449508020406080000CDABF8
-:108ED400F8420020C88D0000D88D00006E190000F3
-:108EE40000100000FFFFFFFFFFFF00000000000074
-:108EF4000000000000000000FFFFFFFF03060C1845
-:088F040030607800000000005D
-:00000001FF
diff --git a/prj/TCPClient/obj/TCPClient.lst b/prj/TCPClient/obj/TCPClient.lst
deleted file mode 100644
index 89efd96..0000000
--- a/prj/TCPClient/obj/TCPClient.lst
+++ /dev/null
@@ -1,17414 +0,0 @@
-
-TCPClient.elf: file format elf32-littleriscv
-TCPClient.elf
-architecture: riscv:rv32, flags 0x00000112:
-EXEC_P, HAS_SYMS, D_PAGED
-start address 0x00000000
-
-Program Header:
- LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12
- filesz 0x00008e94 memsz 0x00008e94 flags r-x
- LOAD off 0x0000a000 vaddr 0x20000000 paddr 0x00008e94 align 2**12
- filesz 0x00000078 memsz 0x000078d4 flags rw-
- LOAD off 0x0000a800 vaddr 0x2001f800 paddr 0x2001f800 align 2**12
- filesz 0x00000000 memsz 0x00000800 flags rw-
-
-Sections:
-Idx Name Size VMA LMA File off Algn Flags
- 0 .init 00000004 00000000 00000000 00001000 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE
- 1 .vector 000001bc 00000004 00000004 00001004 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .text 00008cd4 000001c0 000001c0 000011c0 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE
- 3 .fini 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS, ALLOC, LOAD, CODE
- 4 .dalign 00000000 20000000 20000000 0000a078 2**0 CONTENTS
- 5 .dlalign 00000000 00008e94 00008e94 0000a078 2**0 CONTENTS
- 6 .data 00000078 20000000 00008e94 0000a000 2**2 CONTENTS, ALLOC, LOAD, DATA
- 7 .bss 0000785c 20000078 00008f0c 0000a078 2**2 ALLOC
- 8 .stack 00000800 2001f800 2001f800 0000a800 2**0 ALLOC
- 9 .debug_info 000148ff 00000000 00000000 0000a078 2**0 CONTENTS, READONLY, DEBUGGING
- 10 .debug_abbrev 00003264 00000000 00000000 0001e977 2**0 CONTENTS, READONLY, DEBUGGING
- 11 .debug_aranges 00000cf8 00000000 00000000 00021be0 2**3 CONTENTS, READONLY, DEBUGGING
- 12 .debug_ranges 00000cb8 00000000 00000000 000228d8 2**3 CONTENTS, READONLY, DEBUGGING
- 13 .debug_line 0000f2ca 00000000 00000000 00023590 2**0 CONTENTS, READONLY, DEBUGGING
- 14 .debug_str 000046a0 00000000 00000000 0003285a 2**0 CONTENTS, READONLY, DEBUGGING
- 15 .comment 00000033 00000000 00000000 00036efa 2**0 CONTENTS, READONLY
- 16 .debug_frame 00001c0c 00000000 00000000 00036f30 2**2 CONTENTS, READONLY, DEBUGGING
- 17 .debug_loc 00004c11 00000000 00000000 00038b3c 2**0 CONTENTS, READONLY, DEBUGGING
-SYMBOL TABLE:
-00000000 l d .init 00000000 .init
-00000004 l d .vector 00000000 .vector
-000001c0 l d .text 00000000 .text
-00008e94 l d .fini 00000000 .fini
-20000000 l d .dalign 00000000 .dalign
-00008e94 l d .dlalign 00000000 .dlalign
-20000000 l d .data 00000000 .data
-20000078 l d .bss 00000000 .bss
-2001f800 l d .stack 00000000 .stack
-00000000 l d .debug_info 00000000 .debug_info
-00000000 l d .debug_abbrev 00000000 .debug_abbrev
-00000000 l d .debug_aranges 00000000 .debug_aranges
-00000000 l d .debug_ranges 00000000 .debug_ranges
-00000000 l d .debug_line 00000000 .debug_line
-00000000 l d .debug_str 00000000 .debug_str
-00000000 l d .comment 00000000 .comment
-00000000 l d .debug_frame 00000000 .debug_frame
-00000000 l d .debug_loc 00000000 .debug_loc
-00000000 l df *ABS* 00000000 ./Startup/startup_ch32v30x_D8C.o
-00000004 l .vector 00000000 _vector_base
-00000000 l df *ABS* 00000000 ch32v30x_it.c
-00000000 l df *ABS* 00000000 main.c
-00000000 l df *ABS* 00000000 system_ch32v30x.c
-00000000 l df *ABS* 00000000 ch32v30x_dbgmcu.c
-00000000 l df *ABS* 00000000 ch32v30x_dvp.c
-00000000 l df *ABS* 00000000 ch32v30x_eth.c
-00000000 l df *ABS* 00000000 ch32v30x_exti.c
-00000000 l df *ABS* 00000000 ch32v30x_gpio.c
-00000000 l df *ABS* 00000000 ch32v30x_misc.c
-00000000 l df *ABS* 00000000 ch32v30x_rcc.c
-20000010 l O .data 00000010 APBAHBPrescTable
-20000038 l O .data 00000004 ADCPrescTable
-00000000 l df *ABS* 00000000 ch32v30x_tim.c
-00000000 l df *ABS* 00000000 ch32v30x_usart.c
-00000000 l df *ABS* 00000000 eth_driver_RGMII.c
-00000000 l df *ABS* 00000000 debug.c
-200000b0 l O .bss 00000002 p_ms
-200000b2 l O .bss 00000001 p_us
-00000000 l df *ABS* 00000000 dvp.c
-200000bc l O .bss 00000004 frame_count
-00000000 l df *ABS* 00000000 core_riscv.c
-00000000 l df *ABS* 00000000 eth_api.c
-00000000 l df *ABS* 00000000 ipcheck.c
-00000000 l df *ABS* 00000000 socket.c
-00000000 l df *ABS* 00000000 etharp.c
-00002e0a l F .text 00000180 find_entry
-00002f8a l F .text 000000b2 update_arp_entry
-200000f8 l O .bss 00000001 etharp_cached_entry
-00000000 l df *ABS* 00000000 ethernetif.c
-00003686 l F .text 00000052 low_level_output
-00000000 l df *ABS* 00000000 inet.c
-00000000 l df *ABS* 00000000 ip.c
-20000104 l O .bss 00000002 ip_id.2947
-00000000 l df *ABS* 00000000 ip_addr.c
-00000000 l df *ABS* 00000000 ip_frag.c
-20000106 l O .bss 00000002 ip_reass_pbufcount
-20000108 l O .bss 00000004 reassdatagrams
-00000000 l df *ABS* 00000000 dhcp.c
-0000430a l F .text 00000016 dhcp_set_state
-00004320 l F .text 00000020 dhcp_option
-00004340 l F .text 00000012 dhcp_option_byte
-00004352 l F .text 00000048 dhcp_option_long
-0000439a l F .text 00000034 dhcp_option_trailer
-000043ce l F .text 0000018a dhcp_create_request
-00004558 l F .text 0000001e dhcp_delete_request
-00000000 l df *ABS* 00000000 init.c
-00000000 l df *ABS* 00000000 mem.c
-2000010c l O .bss 00000004 lfree
-20000110 l O .bss 00000004 ram
-20000114 l O .bss 00000004 ram_end
-00000000 l df *ABS* 00000000 memp.c
-200078a0 l O .bss 00000020 memp_tab
-00000000 l df *ABS* 00000000 netif.c
-20000120 l O .bss 00000001 netifnum.2482
-00000000 l df *ABS* 00000000 pbuf.c
-00000000 l df *ABS* 00000000 raw.c
-20000124 l O .bss 00000004 raw_pcbs
-00000000 l df *ABS* 00000000 tcp.c
-00004fe4 l F .text 0000005c tcp_new_port
-20000138 l O .bss 00000001 tcp_timer
-2000004c l O .data 00000004 iss.3197
-20000050 l O .data 00000002 port.3029
-00000000 l df *ABS* 00000000 tcp_in.c
-00005afc l F .text 000000ce tcp_oos_insert_segment
-00005bca l F .text 00000944 tcp_receive
-0000650e l F .text 000000a6 tcp_parseopt.isra.0
-200078c0 l O .bss 00000014 inseg
-20000144 l O .bss 00000004 ackno
-20000148 l O .bss 00000001 flags
-2000014c l O .bss 00000004 iphdr
-20000150 l O .bss 00000004 recv_data
-20000154 l O .bss 00000001 recv_flags
-20000158 l O .bss 00000004 seqno
-20000160 l O .bss 00000004 tcphdr
-20000164 l O .bss 00000002 tcplen
-00000000 l df *ABS* 00000000 tcp_out.c
-00006fe2 l F .text 000000d4 tcp_output_set_header.isra.0.constprop.1
-00000000 l df *ABS* 00000000 udp.c
-00000000 l df *ABS* 00000000 icmp.c
-000080f8 l F .text 00000076 icmp_send_response.isra.0
-00000000 l df *ABS* 00000000 inet_chksum.c
-000083e6 l F .text 0000007e lwip_standard_chksum
-00000000 l df *ABS* 00000000 wchprintf.c
-00000000 l df *ABS* 00000000 memcpy.c
-00000000 l df *ABS* 00000000 net_dhcp.c
-0000880c w F .text 00000004 printDouble
-000008ca w .text 00000000 EXTI2_IRQHandler
-00008b9e g F .text 00000018 putchar
-0000856e g F .text 00000014 inet_chksum
-00000568 g F .text 0000005e WCHNET_HandleGlobalInt
-000008ca w .text 00000000 TIM8_TRG_COM_IRQHandler
-00004ee4 g F .text 0000001e raw_bind
-00003db0 g F .text 000003dc ip_reass
-000008ca w .text 00000000 TIM8_CC_IRQHandler
-00004d3c g F .text 00000058 pbuf_realloc
-000009ac g F .text 00000062 DVP_Cfg
-20000032 g O .data 00000002 srcport
-00005860 g F .text 00000010 tcp_next_iss
-00005156 g F .text 00000048 tcp_update_rcv_ann_wnd
-00001e36 g F .text 00000012 setRxBuffAddr
-00000b98 g F .text 00000010 ETH_FlushTransmitFIFO
-00000f1c g F .text 0000001e RCC_AHBPeriphResetCmd
-2000011c g O .bss 00000004 netif_list
-000008ca w .text 00000000 UART8_IRQHandler
-0000791c g F .text 00000108 tcp_rst
-00008810 w F .text 00000320 print
-200000d8 g O .bss 00000004 TCPTimer
-00003206 g F .text 000000ce etharp_request
-00008b30 w F .text 00000024 printf
-20000820 g .data 00000000 __global_pointer$
-000001c8 g F .text 00000028 .hidden __riscv_save_8
-0000525a g F .text 00000006 tcp_err
-20000064 g O .data 00000004 ip_addr_any
-000008ca w .text 00000000 TIM1_CC_IRQHandler
-00008464 g F .text 0000010a inet_chksum_pseudo
-000023b8 g F .text 00000016 WCHNET_ConfigKeepLive
-000074fe g F .text 00000016 tcp_send_ctrl
-000002ca g F .text 00000052 HardFault_Handler
-00003af0 g F .text 0000015a ip_output_if
-000049dc g F .text 00000018 memp_free
-00008716 w F .text 000000f2 printInt
-00004bae g F .text 0000004e pbuf_free
-00000214 g F .text 0000000c .hidden __riscv_restore_3
-00002cc6 g F .text 00000012 WCHNET_GetGlobalInt
-0000524e g F .text 00000006 tcp_recv
-000008ca w .text 00000000 TIM6_IRQHandler
-000017e2 g F .text 00000058 ETH_Init
-000008ca w .text 00000000 SysTick_Handler
-00004db0 g F .text 0000001c pbuf_cat
-00000cf0 g F .text 0000005c NVIC_Init
-000008ca w .text 00000000 PVD_IRQHandler
-000008ca w .text 00000000 SDIO_IRQHandler
-200000e4 g O .bss 00000001 ARP_Retry_Cnt
-00003c4a g F .text 00000036 ip_output
-000008ca w .text 00000000 TIM9_BRK_IRQHandler
-00000200 g F .text 00000020 .hidden __riscv_restore_10
-0000164e g F .text 00000110 ReInitMACReg
-00008010 g F .text 0000002e udp_sendto
-00001152 g F .text 00000040 ETH_TxPktChainMode
-200000e0 g O .bss 00000004 phydatatime
-000008ca w .text 00000000 DMA2_Channel8_IRQHandler
-000002c8 g F .text 00000002 NMI_Handler
-00007b38 g F .text 0000005e tcp_keepalive
-000008ca w .text 00000000 CAN2_RX1_IRQHandler
-000008ca w .text 00000000 EXTI3_IRQHandler
-0000230e g F .text 000000aa WCHNET_Init
-000032d4 g F .text 0000007c etharp_tmr
-000001c8 g F .text 00000028 .hidden __riscv_save_11
-0000095a g F .text 0000000a DBGMCU_GetCHIPID
-00005870 g F .text 00000134 tcp_alloc
-00001d3e g F .text 00000014 WCHNET_NetInput
-00008dd8 g O .text 00000010 MemSize
-00007f3a g F .text 000000d6 udp_sendto_if
-00001790 g F .text 00000052 WCHNET_ETHIsr
-0000524a g F .text 00000004 tcp_arg
-000008ca w .text 00000000 USBHS_IRQHandler
-00003096 g F .text 00000170 etharp_arp_input
-20000128 g O .bss 00000004 tcp_active_pcbs
-00001148 g F .text 0000000a USART_GetFlagStatus
-000008ca w .text 00000000 DMA2_Channel9_IRQHandler
-20000168 g O .bss 00000004 udp_pcbs
-000008ca w .text 00000000 TIM10_CC_IRQHandler
-2000007c g O .bss 00000006 MACAddr
-0000359c g F .text 00000086 ethernet_input
-20000078 g .bss 00000000 _sbss
-00000800 g *ABS* 00000000 __stack_size
-00004da6 g F .text 0000000a pbuf_ref
-0000190a g F .text 00000062 USART_Printf_Init
-00002b42 g F .text 00000056 WCHNET_SocketSend
-20000094 g O .bss 00000004 ChipId
-00005696 g F .text 00000030 tcp_recv_null
-200000e8 g O .bss 00000001 SockNumber
-000008ca w .text 00000000 USBFS_IRQHandler
-000055e4 g F .text 000000b2 tcp_close
-20007774 g O .bss 0000000c SelARP
-0000519e g F .text 0000003c tcp_recved
-000004ce g F .text 0000009a WCHNET_HandleSockInt
-00000214 g F .text 0000000c .hidden __riscv_restore_2
-0000526a g F .text 0000004e tcp_pcb_purge
-2000006c g O .data 00000007 tcp_persist_backoff
-00000a0e g F .text 00000014 ETH_DeInit
-00008bb6 g F .text 000000b2 memcpy
-0000474e g F .text 00000084 mem_free
-20000134 g O .bss 00000004 tcp_ticks
-20000130 g O .bss 00000004 tcp_listen_pcbs
-00007a24 g F .text 00000036 tcp_rexmit_rto
-200000b8 g O .bss 00000004 current_line_idx
-00003c80 g F .text 0000004a ip_addr_isbroadcast
-00008808 w F .text 00000004 printLongLongInt
-20000088 g O .bss 00000004 DMARxDescToGet
-000059a4 g F .text 00000010 tcp_new
-000008ca w .text 00000000 EXTI0_IRQHandler
-00000f54 g F .text 00000024 RCC_ETH1G_125Mcmd
-000008ca w .text 00000000 I2C2_EV_IRQHandler
-00001e7a g F .text 0000000e GetChipID
-000008ca w .text 00000000 TIM10_TRG_COM_IRQHandler
-00001f48 g F .text 0000003e IPCheckTmr
-00001066 g F .text 00000018 TIM_Cmd
-00008b54 g F .text 0000004a puts
-20007780 g O .bss 00000018 DHCPCtrl
-20000034 g O .data 00000004 SystemCoreClock
-00004fa4 g F .text 00000010 raw_send
-00008582 g F .text 0000006a inet_chksum_pbuf
-0000041c g F .text 00000068 WCHNET_CreateTcpSocket
-0000816e g F .text 00000250 icmp_input
-00000004 g .init 00000000 _einit
-00001090 g F .text 0000000c TIM_ClearITPendingBit
-00004ad8 g F .text 0000005a netif_add
-00000ee0 g F .text 0000001e RCC_APB2PeriphClockCmd
-000001c0 g F .text 00000030 .hidden __riscv_save_12
-00005204 g F .text 0000001e tcp_segs_free
-00002c88 g F .text 0000003e WCHNET_QueryGlobalInt
-000008ca w .text 00000000 CAN2_SCE_IRQHandler
-000008ca w .text 00000000 ADC1_2_IRQHandler
-00002d0c g F .text 00000054 WCHNET_SocketSetKeepLive
-00000c30 g F .text 000000c0 GPIO_Init
-000008ca w .text 00000000 Break_Point_Handler
-000049f4 g F .text 00000096 netif_set_ipaddr
-00000200 g F .text 00000020 .hidden __riscv_restore_11
-20000090 g O .bss 00000004 NVIC_Priority_Group
-000008ca w .text 00000000 SPI1_IRQHandler
-0000112a g F .text 00000016 USART_Cmd
-00002cd8 g F .text 0000002a WCHNET_GetSocketInt
-00007514 g F .text 00000030 tcp_write
-000008ca w .text 00000000 TAMPER_IRQHandler
-000001f0 g F .text 0000000c .hidden __riscv_save_1
-20000084 g O .bss 00000001 socket
-2000783c g O .bss 0000002c WCHCfg
-00000214 g F .text 0000000c .hidden __riscv_restore_0
-0000574a g F .text 0000007c tcp_fastsendack
-00001492 g F .text 00000094 ETH_RegInit
-000001d6 g F .text 0000001a .hidden __riscv_save_7
-000008ca w .text 00000000 CAN2_RX0_IRQHandler
-2000003c g O .data 00000004 DHCPXid
-00005040 g F .text 00000116 tcp_bind
-000083d2 g F .text 00000014 icmp_time_exceeded
-20000d64 g O .bss 000029ac MACRxBuf
-000008ca w .text 00000000 TIM8_UP_IRQHandler
-0000418c g F .text 0000017e ip_frag
-00000efe g F .text 0000001e RCC_APB1PeriphClockCmd
-000027ee g F .text 000000e8 WCHNET_SocketRecv
-200000a8 g O .bss 00000004 pDMARxSet
-000008ca w .text 00000000 Ecall_M_Mode_Handler
-2001f800 g .stack 00000000 _heap_end
-20007798 g O .bss 00000040 dhcp_host_name
-00004f26 g F .text 0000007e raw_sendto
-000018d4 g F .text 00000036 Delay_Us
-0000020a g F .text 00000016 .hidden __riscv_restore_5
-20000082 g O .bss 00000001 SocketId
-000008ca w .text 00000000 DMA2_Channel2_IRQHandler
-00000ec2 g F .text 0000001e RCC_AHBPeriphClockCmd
-000008ca w .text 00000000 DMA1_Channel4_IRQHandler
-00004de0 g F .text 0000009c pbuf_copy
-00007a5a g F .text 0000007c tcp_rexmit
-00001ff2 g F .text 00000004 LwipTCPPollCallBack
-2000008c g O .bss 00000004 DMATxDescToSet
-00000acc g F .text 00000014 ETH_MACTransmissionCmd
-2000002c g O .data 00000004 IPMask
-200000b3 g O .bss 00000001 Line_Ready_Flag
-000008ca w .text 00000000 TIM9_UP_IRQHandler
-0000020a g F .text 00000016 .hidden __riscv_restore_6
-000008ca w .text 00000000 USART3_IRQHandler
-00000c26 g F .text 0000000a EXTI_ClearITPendingBit
-000008ca w .text 00000000 RTC_IRQHandler
-2000013c g O .bss 00000004 tcp_tmp_pcb
-200078d4 g .bss 00000000 _ebss
-200047a8 g O .bss 00001270 Mem_Heap_Memory
-000008ca w .text 00000000 DMA1_Channel7_IRQHandler
-200000c8 g O .bss 00000004 DHCPcoarseTimer
-00000bf8 g F .text 0000002e RGMII_TXC_Delay
-000008ca w .text 00000000 CAN1_RX1_IRQHandler
-000018ae g F .text 00000026 Delay_Init
-00004710 g F .text 0000003e mem_init
-00000b90 g F .text 00000008 ETH_DMAClearITPendingBit
-00001b14 g F .text 0000005a DVP_IRQHandler
-000008ca w .text 00000000 UART5_IRQHandler
-200000a4 g O .bss 00000002 gPHYAddress
-000075b4 g F .text 00000368 tcp_output
-000008ca w .text 00000000 TIM4_IRQHandler
-2000015c g O .bss 00000004 tcp_input_pcb
-00004e7c g F .text 00000068 raw_input
-00007544 g F .text 00000070 tcp_send_empty_ack
-000001c8 g F .text 00000028 .hidden __riscv_save_9
-00007ad6 g F .text 00000062 tcp_rexmit_fast
-000008ca w .text 00000000 DMA2_Channel1_IRQHandler
-20005a18 g O .bss 0000191f Memp_Memory
-00000bda g F .text 0000001e ETH_DMAITConfig
-00003748 g F .text 00000076 wch_ethernetif_init
-00001e88 g F .text 0000006a getTxBuffAddr
-000037fe g F .text 0000000c ntohl
-00000b82 g F .text 0000000e ETH_SoftwareReset
-000001d6 g F .text 0000001a .hidden __riscv_save_4
-00004b32 g F .text 00000006 netif_set_default
-000022c2 g F .text 0000004c WCHSocketInit
-00000a7a g F .text 00000052 ETH_WritePHYRegister
-000080ce g F .text 00000006 udp_recv
-000008ca w .text 00000000 I2C1_EV_IRQHandler
-00001f86 g F .text 0000002c IPConflictHandle
-00004bfc g F .text 00000140 pbuf_alloc
-00001f10 g F .text 00000038 SelIPARPSend
-00002b98 g F .text 00000052 WCHScokedIntHandle
-00000d4c g F .text 00000176 RCC_GetClocksFreq
-000008ca w .text 00000000 DMA1_Channel6_IRQHandler
-000008ca w .text 00000000 UART4_IRQHandler
-200000ec g O .bss 00000004 TCPVerifyConnCallback
-000008ca w .text 00000000 DMA2_Channel4_IRQHandler
-20000068 g O .data 00000004 ip_addr_broadcast
-00003cca g F .text 000000e6 ip_reass_tmr
-0000109c g F .text 0000008e USART_Init
-20000048 g O .data 00000004 memp_sizes
-00001192 g F .text 00000020 WCHNET_GetMacAddr
-000008ca w .text 00000000 TIM3_IRQHandler
-000008ca w .text 00000000 RCC_IRQHandler
-20000d44 g O .bss 00000020 DMATxDscrTab
-000001f0 g F .text 0000000c .hidden __riscv_save_3
-00008050 g F .text 0000007e udp_connect
-000008ca w .text 00000000 TIM1_TRG_COM_IRQHandler
-00008e2c g O .text 00000010 ErrTable
-000008ca w .text 00000000 DMA1_Channel1_IRQHandler
-00004a8a g F .text 0000004e netif_set_addr
-00004576 g F .text 00000182 dhcp_arp_reply
-200000f4 g O .bss 00000004 tcpSendAckFlag
-00000000 g .init 00000000 _start
-000008ca w .text 00000000 DMA2_Channel7_IRQHandler
-20000000 g O .data 00000010 AHBPrescTable
-000049bc g F .text 00000020 memp_malloc
-00007b96 g F .text 000000d2 tcp_zero_window_probe
-00008636 w F .text 000000e0 prints
-00001a72 g F .text 000000a2 DVP_Task
-000008ca w .text 00000000 EXTI15_10_IRQHandler
-0000107e g F .text 00000012 TIM_ITConfig
-200077ec g O .bss 0000000c KeepLiveCfg
-00002574 g F .text 000001d2 WCHNET_SocketCreat
-0000279e g F .text 00000050 WCHNET_ModifyRecvBuf
-20007868 g O .bss 00000038 WCHNetIf
-2000012c g O .bss 00000004 tcp_bound_pcbs
-000037da g F .text 00000024 htonl
-000051da g F .text 0000002a tcp_seg_free
-200000b4 g O .bss 00000004 Ready_Line_Ptr
-00002bea g F .text 0000009e LwipRemoveTcpPcb
-00001b74 g F .text 00000006 __get_MCAUSE
-000008ca w .text 00000000 TIM7_IRQHandler
-000059e2 g F .text 000000e8 tcp_connect
-0000489c g F .text 000000d0 mem_malloc
-000008ca w .text 00000000 CAN2_TX_IRQHandler
-20000000 g .dalign 00000000 _data_vma
-00000964 g F .text 00000016 DVP_INTCfg
-000008ca w .text 00000000 TIM5_IRQHandler
-00000b36 g F .text 0000004c ETH_DMARxDescChainInit
-00000a22 g F .text 00000058 ETH_ReadPHYRegister
-0000031c g F .text 00000054 EXTI9_5_IRQHandler
-000070b6 g F .text 00000448 tcp_enqueue
-000059b4 g F .text 0000002e tcp_eff_send_mss
-00002516 g F .text 0000005e WCHFindCorrectTCBPcb
-000001c8 g F .text 00000028 .hidden __riscv_save_10
-0000183a g F .text 00000074 ETH_LibInit
-00002194 g F .text 000000d2 WCHSocketTCPReceive
-000008ca w .text 00000000 ETH_WKUP_IRQHandler
-0000020a g F .text 00000016 .hidden __riscv_restore_4
-00001b7a g F .text 00000006 __get_MTVAL
-00000200 g F .text 00000020 .hidden __riscv_restore_8
-00001b6e g F .text 00000006 __get_MEPC
-000001d6 g F .text 0000001a .hidden __riscv_save_6
-00004f02 g F .text 0000001e raw_connect
-000008ca w .text 00000000 SPI2_IRQHandler
-200000e6 g O .bss 00000002 Arp_Entry_timeout
-20000020 g O .data 00000004 DESIP
-00000220 g F .text 000000a8 memset
-00000200 g F .text 00000020 .hidden __riscv_restore_9
-0000020a g F .text 00000016 .hidden __riscv_restore_7
-000005c6 g F .text 000000e2 main
-200000a0 g O .bss 00000004 LocalTime
-20000044 g O .data 00000004 memp_num
-000008ca w .text 00000000 TIM10_BRK_IRQHandler
-20000024 g O .data 00000004 GWIPAddr
-00000396 g F .text 00000018 mStopIfError
-000008ca w .text 00000000 TIM9_CC_IRQHandler
-000083be g F .text 00000014 icmp_dest_unreach
-00001ff6 g F .text 000000c4 SocketIPRAWReceive
-00005254 g F .text 00000006 tcp_sent
-00004b38 g F .text 00000008 netif_is_up
-000008ca w .text 00000000 DMA2_Channel5_IRQHandler
-000037cc g F .text 0000000e ntohs
-00004fb4 g F .text 00000030 raw_new
-200000d4 g O .bss 00000004 IPFragTimer
-00001fb2 g F .text 00000002 NET_TCPError
-000036d8 g F .text 00000070 ethernetif_input
-000008ca w .text 00000000 DMA1_Channel5_IRQHandler
-000008ca w .text 00000000 EXTI4_IRQHandler
-000008ca w .text 00000000 USB_LP_CAN1_RX0_IRQHandler
-20007574 g O .bss 00000200 DMA_LineBuf1
-200077d8 g O .bss 00000014 DNSInf
-20007374 g O .bss 00000200 DMA_LineBuf0
-00002994 g F .text 000000be SocketUdpSend
-00007ea0 g F .text 0000009a udp_bind
-00005728 g F .text 00000022 tcp_tmr
-00003350 g F .text 00000118 etharp_query
-00001480 g F .text 00000012 WCHNET_MainTask
-000046f8 g F .text 00000018 lwip_init
-00001e48 g F .text 00000032 WCHNET_Tx
-00003468 g F .text 00000134 etharp_output
-000006a8 g F .text 000000f8 SystemInit
-000008ca w .text 00000000 RNG_IRQHandler
-000019aa g F .text 000000c8 DVP_Init
-20000cd4 g O .bss 00000070 DMARxDscrTab
-000085ec w F .text 0000004a printchar
-00002a52 g F .text 000000f0 SocketTcpSend
-000008ca w .text 00000000 USB_HP_CAN1_TX_IRQHandler
-00004d94 g F .text 00000012 pbuf_clen
-00000000 g .init 00000000 _sinit
-2000009c g O .bss 00000004 LastQueryPhyTime
-000022a8 g F .text 0000001a ErrorEncode
-0000803e g F .text 00000012 udp_send
-000008ca w .text 00000000 DMA1_Channel3_IRQHandler
-00001636 g F .text 00000018 ETH_Stop
-00004f20 g F .text 00000006 raw_recv
-00000484 g F .text 0000004a WCHNET_DataLoopback
-200000fc g O .bss 00000008 frame
-00008dc8 g O .text 00000010 MemNum
-00000370 g F .text 00000008 ETH_IRQHandler
-000008ca w .text 00000000 TIM1_UP_IRQHandler
-000052b8 g F .text 000002ba tcp_slowtmr
-00001da0 g F .text 00000096 WCHNET_Rx
-00000f3a g F .text 0000001a RCC_ETH1GCLKConfig
-20000028 g O .data 00000004 IPAddr
-0000097a g F .text 00000032 DVP_Mode
-000008ca w .text 00000000 WWDG_IRQHandler
-000008ca w .text 00000000 USBHSWakeup_IRQHandler
-20000098 g O .bss 00000002 LastPhyStat
-000008ca w .text 00000000 DMA2_Channel11_IRQHandler
-00000ba8 g F .text 00000032 ETH_Start
-000008ca w .text 00000000 Ecall_U_Mode_Handler
-00003622 g F .text 00000064 ethernetif_init
-000008ca w .text 00000000 DMA2_Channel6_IRQHandler
-00000378 g F .text 0000001e TIM2_IRQHandler
-20020000 g .stack 00000000 _eusrstack
-000001f0 g F .text 0000000c .hidden __riscv_save_2
-000008ca w .text 00000000 SW_Handler
-20000078 g O .bss 00000004 sys_tick_ms
-00002746 g F .text 00000058 tcp_recved_socket
-20003710 g O .bss 00000be8 MACTxBuf
-200000ac g O .bss 00000004 pDMATxSet
-00002d02 g F .text 0000000a WCHNET_GetPHYStatus
-00001ef2 g F .text 0000001e IPCheckParaInit
-000008ca w .text 00000000 TIM1_BRK_IRQHandler
-00001140 g F .text 00000008 USART_SendData
-20000140 g O .bss 00000004 tcp_tw_pcbs
-000008ca w .text 00000000 DMA2_Channel10_IRQHandler
-000008ca w .text 00000000 EXTI1_IRQHandler
-00007c68 g F .text 00000238 udp_input
-000001d6 g F .text 0000001a .hidden __riscv_save_5
-200000cc g O .bss 00000004 DHCPfineTimer
-200000dc g O .bss 00000004 TxTimer
-0000196c g F .text 0000003e _write
-20000078 g .data 00000000 _edata
-200078d4 g .bss 00000000 _end
-000037be g F .text 0000000e htons
-200000d0 g O .bss 00000004 DNSTimer
-00001526 g F .text 00000110 ETH_Configuration
-200000c4 g O .bss 00000004 ArpCheckTime
-00000f78 g F .text 000000ee TIM_TimeBaseInit
-0000380a g F .text 0000004c ip_route
-000008ca w .text 00000000 RTCAlarm_IRQHandler
-00008e94 g .dlalign 00000000 _data_lma
-000008ca w .text 00000000 TIM10_UP_IRQHandler
-000008ca w .text 00000000 TIM9_TRG_COM_IRQHandler
-000008ca w .text 00000000 UART7_IRQHandler
-00004b40 g F .text 0000006e pbuf_header
-000047d2 g F .text 000000ca mem_realloc
-20000118 g O .bss 00000004 netif_default
-00005572 g F .text 00000072 tcp_pcb_remove
-000008ca w .text 00000000 USART2_IRQHandler
-000008ca w .text 00000000 UART6_IRQHandler
-000011be g F .text 0000014c ETH_RGMIIPinInit
-00004dcc g F .text 00000014 pbuf_chain
-200042f8 g O .bss 000004b0 Mem_ArpTable
-0000142c g F .text 00000054 WCHNET_QueryPhySta
-200000c0 g O .bss 00000004 ARPTimer
-20000030 g O .data 00000002 desport
-000057c6 g F .text 0000009a tcp_abandon
-20000040 g O .data 00000004 arp_table
-000020ba g F .text 000000da SocketUdpReceive
-00000ae0 g F .text 00000014 ETH_MACReceptionCmd
-00002266 g F .text 00000042 LwipTcpConnectedCallBack
-000007a0 g F .text 0000012a SystemCoreClockUpdate
-20007338 g O .bss 0000003c SocketInf
-0000496c g F .text 00000050 memp_init
-000056c6 g F .text 00000062 tcp_fasttmr
-000028d6 g F .text 000000be SocketIPRawSend
-00002512 g F .text 00000004 WCHNET_GetVer
-000008ca w .text 00000000 I2C2_ER_IRQHandler
-200000f0 g O .bss 00000001 phydata
-000008ca w .text 00000000 DMA1_Channel2_IRQHandler
-0000303c g F .text 0000005a etharp_ip_input
-000001fc g F .text 00000024 .hidden __riscv_restore_12
-000008ca w .text 00000000 TIM8_BRK_IRQHandler
-000008cc w .text 00000000 handle_reset
-000008ca w .text 00000000 CAN1_SCE_IRQHandler
-2000016c g O .bss 00000b68 SocketRecvBuf
-0000130a g F .text 00000122 ETH_PHYLink
-000008ca w .text 00000000 FLASH_IRQHandler
-000001f0 g F .text 0000000c .hidden __riscv_save_0
-00002dd6 g F .text 0000000e QueryPingEnable
-00005222 g F .text 00000028 tcp_seg_copy
-000003ae g F .text 0000006e TIM2_Init
-000008ca w .text 00000000 USART1_IRQHandler
-00005260 g F .text 0000000a tcp_poll
-000008ca w .text 00000000 SPI3_IRQHandler
-000080d4 g F .text 00000024 udp_new
-000008ca w .text 00000000 I2C1_ER_IRQHandler
-20000054 g O .data 00000006 ethbroadcast
-00008e5c g O .text 0000000d tcp_backoff
-000011b2 g F .text 0000000c WCHNET_TimeIsr
-00000214 g F .text 0000000c .hidden __riscv_restore_1
-200077f8 g O .bss 00000044 NetInf
-00001fb4 g F .text 0000003e LwipTCPSendCallBack
-00002dfe g F .text 0000000c LwipArpCheck
-00002d60 g F .text 00000076 WCHNET_SocketConnect
-0000175e g F .text 00000032 WCHNET_RecProcess
-000065b4 g F .text 00000a2e tcp_input
-00005aca g F .text 00000032 RemoveTimeWaiTCP
-00003856 g F .text 0000029a ip_input
-2000005c g O .data 00000006 ethzero
-000008ca w .text 00000000 USBWakeUp_IRQHandler
-000023ce g F .text 00000144 WCHNET_ConfigLIB
-00002de4 g F .text 0000001a LwipUnreachPort
-200000e5 g O .bss 00000001 ARP_Retry_Period
-000008ca w .text 00000000 DMA2_Channel3_IRQHandler
-00001d52 g F .text 0000004e WCHNET_PhyStatus
-00001b80 g F .text 000001be WCHNET_PeriodicHandle
-00000af4 g F .text 00000042 ETH_DMATxDescChainInit
-
-
-
-Disassembly of section .init:
-
-00000000 <_sinit>:
-_start():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:17
-
- .section .init,"ax",@progbits
- .global _start
- .align 1
-_start:
- j handle_reset
- 0: 0cd0006f j 8cc
-
-Disassembly of section .vector:
-
-00000004 <_vector_base>:
- ...
-_vector_base():
- c: 02c8 addi a0,sp,324
- e: 0000 unimp
- 10: 02ca slli t0,t0,0x12
- 12: 0000 unimp
- 14: 0000 unimp
- 16: 0000 unimp
- 18: 08ca slli a7,a7,0x12
- ...
- 22: 0000 unimp
- 24: 08ca slli a7,a7,0x12
- 26: 0000 unimp
- 28: 08ca slli a7,a7,0x12
- ...
- 32: 0000 unimp
- 34: 08ca slli a7,a7,0x12
- 36: 0000 unimp
- 38: 0000 unimp
- 3a: 0000 unimp
- 3c: 08ca slli a7,a7,0x12
- 3e: 0000 unimp
- 40: 0000 unimp
- 42: 0000 unimp
- 44: 08ca slli a7,a7,0x12
- 46: 0000 unimp
- 48: 08ca slli a7,a7,0x12
- 4a: 0000 unimp
- 4c: 08ca slli a7,a7,0x12
- 4e: 0000 unimp
- 50: 08ca slli a7,a7,0x12
- 52: 0000 unimp
- 54: 08ca slli a7,a7,0x12
- 56: 0000 unimp
- 58: 08ca slli a7,a7,0x12
- 5a: 0000 unimp
- 5c: 08ca slli a7,a7,0x12
- 5e: 0000 unimp
- 60: 08ca slli a7,a7,0x12
- 62: 0000 unimp
- 64: 08ca slli a7,a7,0x12
- 66: 0000 unimp
- 68: 08ca slli a7,a7,0x12
- 6a: 0000 unimp
- 6c: 08ca slli a7,a7,0x12
- 6e: 0000 unimp
- 70: 08ca slli a7,a7,0x12
- 72: 0000 unimp
- 74: 08ca slli a7,a7,0x12
- 76: 0000 unimp
- 78: 08ca slli a7,a7,0x12
- 7a: 0000 unimp
- 7c: 08ca slli a7,a7,0x12
- 7e: 0000 unimp
- 80: 08ca slli a7,a7,0x12
- 82: 0000 unimp
- 84: 08ca slli a7,a7,0x12
- 86: 0000 unimp
- 88: 08ca slli a7,a7,0x12
- 8a: 0000 unimp
- 8c: 08ca slli a7,a7,0x12
- 8e: 0000 unimp
- 90: 08ca slli a7,a7,0x12
- 92: 0000 unimp
- 94: 08ca slli a7,a7,0x12
- 96: 0000 unimp
- 98: 08ca slli a7,a7,0x12
- 9a: 0000 unimp
- 9c: 08ca slli a7,a7,0x12
- 9e: 0000 unimp
- a0: 031c addi a5,sp,384
- a2: 0000 unimp
- a4: 08ca slli a7,a7,0x12
- a6: 0000 unimp
- a8: 08ca slli a7,a7,0x12
- aa: 0000 unimp
- ac: 08ca slli a7,a7,0x12
- ae: 0000 unimp
- b0: 08ca slli a7,a7,0x12
- b2: 0000 unimp
- b4: 0378 addi a4,sp,396
- b6: 0000 unimp
- b8: 08ca slli a7,a7,0x12
- ba: 0000 unimp
- bc: 08ca slli a7,a7,0x12
- be: 0000 unimp
- c0: 08ca slli a7,a7,0x12
- c2: 0000 unimp
- c4: 08ca slli a7,a7,0x12
- c6: 0000 unimp
- c8: 08ca slli a7,a7,0x12
- ca: 0000 unimp
- cc: 08ca slli a7,a7,0x12
- ce: 0000 unimp
- d0: 08ca slli a7,a7,0x12
- d2: 0000 unimp
- d4: 08ca slli a7,a7,0x12
- d6: 0000 unimp
- d8: 08ca slli a7,a7,0x12
- da: 0000 unimp
- dc: 08ca slli a7,a7,0x12
- de: 0000 unimp
- e0: 08ca slli a7,a7,0x12
- e2: 0000 unimp
- e4: 08ca slli a7,a7,0x12
- e6: 0000 unimp
- e8: 08ca slli a7,a7,0x12
- ea: 0000 unimp
- ec: 08ca slli a7,a7,0x12
- ee: 0000 unimp
- f0: 08ca slli a7,a7,0x12
- f2: 0000 unimp
- f4: 08ca slli a7,a7,0x12
- f6: 0000 unimp
- f8: 08ca slli a7,a7,0x12
- fa: 0000 unimp
- fc: 08ca slli a7,a7,0x12
- fe: 0000 unimp
- 100: 08ca slli a7,a7,0x12
- 102: 0000 unimp
- 104: 0000 unimp
- 106: 0000 unimp
- 108: 08ca slli a7,a7,0x12
- 10a: 0000 unimp
- 10c: 08ca slli a7,a7,0x12
- 10e: 0000 unimp
- 110: 08ca slli a7,a7,0x12
- 112: 0000 unimp
- 114: 08ca slli a7,a7,0x12
- 116: 0000 unimp
- 118: 08ca slli a7,a7,0x12
- 11a: 0000 unimp
- 11c: 08ca slli a7,a7,0x12
- 11e: 0000 unimp
- 120: 08ca slli a7,a7,0x12
- 122: 0000 unimp
- 124: 08ca slli a7,a7,0x12
- 126: 0000 unimp
- 128: 08ca slli a7,a7,0x12
- 12a: 0000 unimp
- 12c: 08ca slli a7,a7,0x12
- 12e: 0000 unimp
- 130: 08ca slli a7,a7,0x12
- 132: 0000 unimp
- 134: 08ca slli a7,a7,0x12
- 136: 0000 unimp
- 138: 0370 addi a2,sp,396
- 13a: 0000 unimp
- 13c: 08ca slli a7,a7,0x12
- 13e: 0000 unimp
- 140: 08ca slli a7,a7,0x12
- 142: 0000 unimp
- 144: 08ca slli a7,a7,0x12
- 146: 0000 unimp
- 148: 08ca slli a7,a7,0x12
- 14a: 0000 unimp
- 14c: 08ca slli a7,a7,0x12
- 14e: 0000 unimp
- 150: 08ca slli a7,a7,0x12
- 152: 0000 unimp
- 154: 08ca slli a7,a7,0x12
- 156: 0000 unimp
- 158: 08ca slli a7,a7,0x12
- 15a: 0000 unimp
- 15c: 1b14 addi a3,sp,432
- 15e: 0000 unimp
- 160: 08ca slli a7,a7,0x12
- 162: 0000 unimp
- 164: 08ca slli a7,a7,0x12
- 166: 0000 unimp
- 168: 08ca slli a7,a7,0x12
- 16a: 0000 unimp
- 16c: 08ca slli a7,a7,0x12
- 16e: 0000 unimp
- 170: 08ca slli a7,a7,0x12
- 172: 0000 unimp
- 174: 08ca slli a7,a7,0x12
- 176: 0000 unimp
- 178: 08ca slli a7,a7,0x12
- 17a: 0000 unimp
- 17c: 08ca slli a7,a7,0x12
- 17e: 0000 unimp
- 180: 08ca slli a7,a7,0x12
- 182: 0000 unimp
- 184: 08ca slli a7,a7,0x12
- 186: 0000 unimp
- 188: 08ca slli a7,a7,0x12
- 18a: 0000 unimp
- 18c: 08ca slli a7,a7,0x12
- 18e: 0000 unimp
- 190: 08ca slli a7,a7,0x12
- 192: 0000 unimp
- 194: 08ca slli a7,a7,0x12
- 196: 0000 unimp
- 198: 08ca slli a7,a7,0x12
- 19a: 0000 unimp
- 19c: 08ca slli a7,a7,0x12
- 19e: 0000 unimp
- 1a0: 08ca slli a7,a7,0x12
- ...
-
-Disassembly of section .text:
-
-000001c0 <__riscv_save_12>:
-__riscv_save_12():
- 1c0: 7139 addi sp,sp,-64
- 1c2: 4301 li t1,0
- 1c4: c66e sw s11,12(sp)
- 1c6: a019 j 1cc <__riscv_save_10+0x4>
-
-000001c8 <__riscv_save_10>:
- 1c8: 7139 addi sp,sp,-64
- 1ca: 5341 li t1,-16
- 1cc: c86a sw s10,16(sp)
- 1ce: ca66 sw s9,20(sp)
- 1d0: cc62 sw s8,24(sp)
- 1d2: ce5e sw s7,28(sp)
- 1d4: a019 j 1da <__riscv_save_4+0x4>
-
-000001d6 <__riscv_save_4>:
- 1d6: 7139 addi sp,sp,-64
- 1d8: 5301 li t1,-32
- 1da: d05a sw s6,32(sp)
- 1dc: d256 sw s5,36(sp)
- 1de: d452 sw s4,40(sp)
- 1e0: d64e sw s3,44(sp)
- 1e2: d84a sw s2,48(sp)
- 1e4: da26 sw s1,52(sp)
- 1e6: dc22 sw s0,56(sp)
- 1e8: de06 sw ra,60(sp)
- 1ea: 40610133 sub sp,sp,t1
- 1ee: 8282 jr t0
-
-000001f0 <__riscv_save_0>:
-__riscv_save_1():
- 1f0: 1141 addi sp,sp,-16
- 1f2: c04a sw s2,0(sp)
- 1f4: c226 sw s1,4(sp)
- 1f6: c422 sw s0,8(sp)
- 1f8: c606 sw ra,12(sp)
- 1fa: 8282 jr t0
-
-000001fc <__riscv_restore_12>:
-__riscv_restore_12():
- 1fc: 4db2 lw s11,12(sp)
- 1fe: 0141 addi sp,sp,16
-
-00000200 <__riscv_restore_10>:
- 200: 4d02 lw s10,0(sp)
- 202: 4c92 lw s9,4(sp)
- 204: 4c22 lw s8,8(sp)
- 206: 4bb2 lw s7,12(sp)
- 208: 0141 addi sp,sp,16
-
-0000020a <__riscv_restore_4>:
- 20a: 4b02 lw s6,0(sp)
- 20c: 4a92 lw s5,4(sp)
- 20e: 4a22 lw s4,8(sp)
- 210: 49b2 lw s3,12(sp)
- 212: 0141 addi sp,sp,16
-
-00000214 <__riscv_restore_0>:
- 214: 4902 lw s2,0(sp)
- 216: 4492 lw s1,4(sp)
- 218: 4422 lw s0,8(sp)
- 21a: 40b2 lw ra,12(sp)
- 21c: 0141 addi sp,sp,16
- 21e: 8082 ret
-
-00000220 :
-memset():
- 220: 433d li t1,15
- 222: 872a mv a4,a0
- 224: 02c37363 bgeu t1,a2,24a
- 228: 00f77793 andi a5,a4,15
- 22c: efbd bnez a5,2aa
- 22e: e5ad bnez a1,298
- 230: ff067693 andi a3,a2,-16
- 234: 8a3d andi a2,a2,15
- 236: 96ba add a3,a3,a4
- 238: c30c sw a1,0(a4)
- 23a: c34c sw a1,4(a4)
- 23c: c70c sw a1,8(a4)
- 23e: c74c sw a1,12(a4)
- 240: 0741 addi a4,a4,16
- 242: fed76be3 bltu a4,a3,238
- 246: e211 bnez a2,24a
- 248: 8082 ret
- 24a: 40c306b3 sub a3,t1,a2
- 24e: 068a slli a3,a3,0x2
- 250: 00000297 auipc t0,0x0
- 254: 9696 add a3,a3,t0
- 256: 00a68067 jr 10(a3)
- 25a: 00b70723 sb a1,14(a4)
- 25e: 00b706a3 sb a1,13(a4)
- 262: 00b70623 sb a1,12(a4)
- 266: 00b705a3 sb a1,11(a4)
- 26a: 00b70523 sb a1,10(a4)
- 26e: 00b704a3 sb a1,9(a4)
- 272: 00b70423 sb a1,8(a4)
- 276: 00b703a3 sb a1,7(a4)
- 27a: 00b70323 sb a1,6(a4)
- 27e: 00b702a3 sb a1,5(a4)
- 282: 00b70223 sb a1,4(a4)
- 286: 00b701a3 sb a1,3(a4)
- 28a: 00b70123 sb a1,2(a4)
- 28e: 00b700a3 sb a1,1(a4)
- 292: 00b70023 sb a1,0(a4)
- 296: 8082 ret
- 298: 0ff5f593 andi a1,a1,255
- 29c: 00859693 slli a3,a1,0x8
- 2a0: 8dd5 or a1,a1,a3
- 2a2: 01059693 slli a3,a1,0x10
- 2a6: 8dd5 or a1,a1,a3
- 2a8: b761 j 230
- 2aa: 00279693 slli a3,a5,0x2
- 2ae: 00000297 auipc t0,0x0
- 2b2: 9696 add a3,a3,t0
- 2b4: 8286 mv t0,ra
- 2b6: fa8680e7 jalr -88(a3)
- 2ba: 8096 mv ra,t0
- 2bc: 17c1 addi a5,a5,-16
- 2be: 8f1d sub a4,a4,a5
- 2c0: 963e add a2,a2,a5
- 2c2: f8c374e3 bgeu t1,a2,24a
- 2c6: b7a5 j 22e
-
-000002c8 :
-NMI_Handler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:38 (discriminator 1)
- */
-void NMI_Handler(void)
-{
- while (1)
- {
- }
- 2c8: a001 j 2c8
-
-000002ca :
-HardFault_Handler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:50
- *
- * @return none
- */
-void HardFault_Handler(void)
-{
- printf("HardFault_Handler\r\n");
- 2ca: 00009537 lui a0,0x9
- 2ce: c7450513 addi a0,a0,-908 # 8c74
- 2d2: 083080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:51
- printf("mepc :%08x\r\n", __get_MEPC());
- 2d6: 099010ef jal ra,1b6e <__get_MEPC>
- 2da: 85aa mv a1,a0
- 2dc: 00009537 lui a0,0x9
- 2e0: c8850513 addi a0,a0,-888 # 8c88
- 2e4: 04d080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:52
- printf("mcause:%08x\r\n", __get_MCAUSE());
- 2e8: 08d010ef jal ra,1b74 <__get_MCAUSE>
- 2ec: 85aa mv a1,a0
- 2ee: 00009537 lui a0,0x9
- 2f2: c9850513 addi a0,a0,-872 # 8c98
- 2f6: 03b080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:53
- printf("mtval :%08x\r\n", __get_MTVAL());
- 2fa: 081010ef jal ra,1b7a <__get_MTVAL>
- 2fe: 85aa mv a1,a0
- 300: 00009537 lui a0,0x9
- 304: ca850513 addi a0,a0,-856 # 8ca8
- 308: 029080ef jal ra,8b30
-NVIC_SystemReset():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:382
- *
- * @return none
- */
-__attribute__( ( always_inline ) ) RV_STATIC_INLINE void NVIC_SystemReset(void)
-{
- NVIC->CFGR = NVIC_KEY3|(1<<7);
- 30c: beef07b7 lui a5,0xbeef0
- 310: e000e737 lui a4,0xe000e
- 314: 08078793 addi a5,a5,128 # beef0080 <_eusrstack+0x9eed0080>
- 318: c73c sw a5,72(a4)
-HardFault_Handler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:55 (discriminator 1)
- NVIC_SystemReset();
- while(1);
- 31a: a001 j 31a
-
-0000031c :
-EXTI9_5_IRQHandler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:66
- * @brief This function handles GPIO exception.
- *
- * @return none
- */
-void EXTI9_5_IRQHandler(void)
-{
- 31c: 7139 addi sp,sp,-64
- 31e: de06 sw ra,60(sp)
- 320: dc16 sw t0,56(sp)
- 322: da1a sw t1,52(sp)
- 324: d81e sw t2,48(sp)
- 326: d62a sw a0,44(sp)
- 328: d42e sw a1,40(sp)
- 32a: d232 sw a2,36(sp)
- 32c: d036 sw a3,32(sp)
- 32e: ce3a sw a4,28(sp)
- 330: cc3e sw a5,24(sp)
- 332: ca42 sw a6,20(sp)
- 334: c846 sw a7,16(sp)
- 336: c672 sw t3,12(sp)
- 338: c476 sw t4,8(sp)
- 33a: c27a sw t5,4(sp)
- 33c: c07e sw t6,0(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:67
- ETH_PHYLink( );
- 33e: 7cd000ef jal ra,130a
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:68
- EXTI_ClearITPendingBit(EXTI_Line7); /* Clear Flag */
- 342: 08000513 li a0,128
- 346: 0e1000ef jal ra,c26
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:69
-}
- 34a: 50f2 lw ra,60(sp)
- 34c: 52e2 lw t0,56(sp)
- 34e: 5352 lw t1,52(sp)
- 350: 53c2 lw t2,48(sp)
- 352: 5532 lw a0,44(sp)
- 354: 55a2 lw a1,40(sp)
- 356: 5612 lw a2,36(sp)
- 358: 5682 lw a3,32(sp)
- 35a: 4772 lw a4,28(sp)
- 35c: 47e2 lw a5,24(sp)
- 35e: 4852 lw a6,20(sp)
- 360: 48c2 lw a7,16(sp)
- 362: 4e32 lw t3,12(sp)
- 364: 4ea2 lw t4,8(sp)
- 366: 4f12 lw t5,4(sp)
- 368: 4f82 lw t6,0(sp)
- 36a: 6121 addi sp,sp,64
- 36c: 30200073 mret
-
-00000370 :
-ETH_IRQHandler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:80
- *
- * @return none
- */
-void ETH_IRQHandler(void)
-{
- WCHNET_ETHIsr();
- 370: 420010ef jal ra,1790
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:81
-}
- 374: 30200073 mret
-
-00000378 :
-TIM2_IRQHandler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:92
- *
- * @return none
- */
-void TIM2_IRQHandler(void)
-{
- sys_tick_ms += WCHNETTIMERPERIOD; /* 绱姞瀹為檯闂撮殧姣鏁 */
- 378: 85818793 addi a5,gp,-1960 # 20000078 <_edata>
- 37c: 4398 lw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:93
- WCHNET_TimeIsr(WCHNETTIMERPERIOD);
- 37e: 4529 li a0,10
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:92
- sys_tick_ms += WCHNETTIMERPERIOD; /* 绱姞瀹為檯闂撮殧姣鏁 */
- 380: 0729 addi a4,a4,10
- 382: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:93
- WCHNET_TimeIsr(WCHNETTIMERPERIOD);
- 384: 62f000ef jal ra,11b2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:94
- TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
- 388: 4585 li a1,1
- 38a: 40000537 lui a0,0x40000
- 38e: 503000ef jal ra,1090
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/ch32v30x_it.c:95
-}
- 392: 30200073 mret
-
-00000396 :
-mStopIfError():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:22
-u8 socket[WCHNET_MAX_SOCKET_NUM];
-u8 SocketRecvBuf[WCHNET_MAX_SOCKET_NUM][RECE_BUF_LEN];
-
-void mStopIfError(u8 iError)
-{
- if (iError == WCHNET_ERR_SUCCESS) return;
- 396: c919 beqz a0,3ac
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:21
-{
- 398: e59ff2ef jal t0,1f0 <__riscv_save_0>
- 39c: 85aa mv a1,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:23
- printf("Error: %02X\r\n", (u16)iError);
- 39e: 00009537 lui a0,0x9
- 3a2: d5050513 addi a0,a0,-688 # 8d50
- 3a6: 78a080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:24
-}
- 3aa: b5ad j 214 <__riscv_restore_0>
- 3ac: 8082 ret
-
-000003ae :
-TIM2_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:27
-
-void TIM2_Init(void)
-{
- 3ae: e43ff2ef jal t0,1f0 <__riscv_save_0>
- 3b2: 1141 addi sp,sp,-16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:29
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0};
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
- 3b4: 4585 li a1,1
- 3b6: 4505 li a0,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:28
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure = {0};
- 3b8: c202 sw zero,4(sp)
- 3ba: c402 sw zero,8(sp)
- 3bc: 00011623 sh zero,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:29
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
- 3c0: 33f000ef jal ra,efe
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:31
- TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1;
- TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1;
- 3c4: 8141a783 lw a5,-2028(gp) # 20000034
- 3c8: 000f4737 lui a4,0xf4
- 3cc: 24070713 addi a4,a4,576 # f4240 <_data_lma+0xeb3ac>
- 3d0: 02e7d7b3 divu a5,a5,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:34
- TIM_TimeBaseStructure.TIM_ClockDivision = 0;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
- 3d4: 004c addi a1,sp,4
- 3d6: 40000537 lui a0,0x40000
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:33
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- 3da: 00011323 sh zero,6(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:31
- TIM_TimeBaseStructure.TIM_Prescaler = SystemCoreClock / 1000000 - 1;
- 3de: 17fd addi a5,a5,-1
- 3e0: 827c sh a5,4(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:30
- TIM_TimeBaseStructure.TIM_Period = WCHNETTIMERPERIOD * 1000 - 1;
- 3e2: 6789 lui a5,0x2
- 3e4: 70f78793 addi a5,a5,1807 # 270f
- 3e8: c43e sw a5,8(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:34
- TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
- 3ea: 38f000ef jal ra,f78
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:35
- TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
- 3ee: 4605 li a2,1
- 3f0: 4585 li a1,1
- 3f2: 40000537 lui a0,0x40000
- 3f6: 489000ef jal ra,107e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:36
- TIM_Cmd(TIM2, ENABLE);
- 3fa: 4585 li a1,1
- 3fc: 40000537 lui a0,0x40000
- 400: 467000ef jal ra,1066
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:37
- TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
- 404: 4585 li a1,1
- 406: 40000537 lui a0,0x40000
- 40a: 487000ef jal ra,1090
-NVIC_EnableIRQ():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:170
- NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
- 40e: e000e7b7 lui a5,0xe000e
- 412: 6705 lui a4,0x1
- 414: 10e7a223 sw a4,260(a5) # e000e104 <_eusrstack+0xbffee104>
-TIM2_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:39
- NVIC_EnableIRQ(TIM2_IRQn);
-}
- 418: 0141 addi sp,sp,16
- 41a: bbed j 214 <__riscv_restore_0>
-
-0000041c :
-WCHNET_CreateTcpSocket():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:42
-
-void WCHNET_CreateTcpSocket(void)
-{
- 41c: dd5ff2ef jal t0,1f0 <__riscv_save_0>
- 420: 7139 addi sp,sp,-64
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:45
- u8 i;
- SOCK_INF TmpSocketInf;
- memset((void *)&TmpSocketInf, 0, sizeof(SOCK_INF));
- 422: 03c00613 li a2,60
- 426: 4581 li a1,0
- 428: 0048 addi a0,sp,4
- 42a: 3bdd jal 220
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:46
- memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4);
- 42c: 200007b7 lui a5,0x20000
- 430: 0207a783 lw a5,32(a5) # 20000020
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
- TmpSocketInf.DesPort = desport;
- TmpSocketInf.SourPort = srcport++;
- TmpSocketInf.ProtoType = PROTO_TYPE_TCP;
- TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
- i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
- 434: 86218413 addi s0,gp,-1950 # 20000082
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:46
- memcpy((void *)TmpSocketInf.IPAddr, DESIP, 4);
- 438: d83e sw a5,48(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:47
- TmpSocketInf.DesPort = desport;
- 43a: 8101d783 lhu a5,-2032(gp) # 20000030
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
- i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
- 43e: 004c addi a1,sp,4
- 440: 86218513 addi a0,gp,-1950 # 20000082
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:47
- TmpSocketInf.DesPort = desport;
- 444: d43e sw a5,40(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:48
- TmpSocketInf.SourPort = srcport++;
- 446: 81218793 addi a5,gp,-2030 # 20000032
- 44a: 239a lhu a4,0(a5)
- 44c: 00170693 addi a3,a4,1 # 1001
- 450: a396 sh a3,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:49
- TmpSocketInf.ProtoType = PROTO_TYPE_TCP;
- 452: 478d li a5,3
- 454: d03e sw a5,32(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:50
- TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
- 456: 6785 lui a5,0x1
- 458: b6878793 addi a5,a5,-1176 # b68
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:48
- TmpSocketInf.SourPort = srcport++;
- 45c: d63a sw a4,44(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:50
- TmpSocketInf.RecvBufLen = RECE_BUF_LEN;
- 45e: c83e sw a5,16(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
- i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
- 460: 114020ef jal ra,2574
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:52
- printf("SocketId %d\r\n", SocketId);
- 464: 200c lbu a1,0(s0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:51
- i = WCHNET_SocketCreat(&SocketId, &TmpSocketInf);
- 466: 84aa mv s1,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:52
- printf("SocketId %d\r\n", SocketId);
- 468: 00009537 lui a0,0x9
- 46c: cb850513 addi a0,a0,-840 # 8cb8
- 470: 6c0080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:53
- mStopIfError(i);
- 474: 8526 mv a0,s1
- 476: 3705 jal 396
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:54
- i = WCHNET_SocketConnect(SocketId);
- 478: 2008 lbu a0,0(s0)
- 47a: 0e7020ef jal ra,2d60
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:55
- mStopIfError(i);
- 47e: 3f21 jal 396
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:56
-}
- 480: 6121 addi sp,sp,64
- 482: bb49 j 214 <__riscv_restore_0>
-
-00000484 :
-WCHNET_DataLoopback():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:60
-
-/* PC -> MCU 鏀跺埌鏁版嵁鍚庡洖鐜紝鍚屾椂鍙湪姝ゅ鐞哖C涓嬪彂鐨勬寚浠 */
-void WCHNET_DataLoopback(u8 id)
-{
- 484: d6dff2ef jal t0,1f0 <__riscv_save_0>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
- u32 len;
- u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
- 488: 03c00713 li a4,60
- 48c: 02e50733 mul a4,a0,a4
- 490: 200077b7 lui a5,0x20007
- 494: 33878793 addi a5,a5,824 # 20007338
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:60
-{
- 498: 1141 addi sp,sp,-16
- 49a: 842a mv s0,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
- u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
- 49c: 97ba add a5,a5,a4
- 49e: 47d4 lw a3,12(a5)
- 4a0: 4798 lw a4,8(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:64
-
- if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr)
- 4a2: 4bcc lw a1,20(a5)
- 4a4: 4f9c lw a5,24(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:62
- u32 endAddr = SocketInf[id].RecvStartPoint + SocketInf[id].RecvBufLen;
- 4a6: 9736 add a4,a4,a3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:64
- if ((SocketInf[id].RecvReadPoint + SocketInf[id].RecvRemLen) > endAddr)
- 4a8: 00f586b3 add a3,a1,a5
- 4ac: 00d77463 bgeu a4,a3,4b4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:65
- len = endAddr - SocketInf[id].RecvReadPoint;
- 4b0: 40b707b3 sub a5,a4,a1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:69
- else
- len = SocketInf[id].RecvRemLen;
-
- if (WCHNET_SocketSend(id, (u8 *)SocketInf[id].RecvReadPoint, &len) == WCHNET_ERR_SUCCESS)
- 4b4: 0070 addi a2,sp,12
- 4b6: 8522 mv a0,s0
- 4b8: c63e sw a5,12(sp)
- 4ba: 688020ef jal ra,2b42
- 4be: e511 bnez a0,4ca
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:70
- WCHNET_SocketRecv(id, NULL, &len);
- 4c0: 0070 addi a2,sp,12
- 4c2: 4581 li a1,0
- 4c4: 8522 mv a0,s0
- 4c6: 328020ef jal ra,27ee
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:71
-}
- 4ca: 0141 addi sp,sp,16
- 4cc: b3a1 j 214 <__riscv_restore_0>
-
-000004ce :
-WCHNET_HandleSockInt():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:74
-
-void WCHNET_HandleSockInt(u8 socketid, u8 intstat)
-{
- 4ce: d23ff2ef jal t0,1f0 <__riscv_save_0>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:77
- u8 i;
-
- if (intstat & SINT_STAT_RECV)
- 4d2: 0045f793 andi a5,a1,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:74
-{
- 4d6: 842a mv s0,a0
- 4d8: 84ae mv s1,a1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:77
- if (intstat & SINT_STAT_RECV)
- 4da: c391 beqz a5,4de
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:79
- {
- WCHNET_DataLoopback(socketid);
- 4dc: 3765 jal 484
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:81
- }
- if (intstat & SINT_STAT_CONNECT)
- 4de: 0084f793 andi a5,s1,8
- 4e2: c3a9 beqz a5,524
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:84
- {
-#if KEEPALIVE_ENABLE
- WCHNET_SocketSetKeepLive(socketid, ENABLE);
- 4e4: 4585 li a1,1
- 4e6: 8522 mv a0,s0
- 4e8: 025020ef jal ra,2d0c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:86
-#endif
- WCHNET_ModifyRecvBuf(socketid, (u32)SocketRecvBuf[socketid], RECE_BUF_LEN);
- 4ec: 6605 lui a2,0x1
- 4ee: b6860613 addi a2,a2,-1176 # b68
- 4f2: 02c405b3 mul a1,s0,a2
- 4f6: 200007b7 lui a5,0x20000
- 4fa: 16c78793 addi a5,a5,364 # 2000016c
- 4fe: 8522 mv a0,s0
- 500: 95be add a1,a1,a5
- 502: 29c020ef jal ra,279e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:88
- for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
- if (socket[i] == 0xff) { socket[i] = socketid; break; }
- 506: 86418793 addi a5,gp,-1948 # 20000084
- 50a: 2394 lbu a3,0(a5)
- 50c: 0ff00713 li a4,255
- 510: 00e69363 bne a3,a4,516
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:88 (discriminator 1)
- 514: a380 sb s0,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:90
- }
- printf("TCP Connect Success, socket id: %d\r\n", socketid);
- 516: 00009537 lui a0,0x9
- 51a: 85a2 mv a1,s0
- 51c: d0850513 addi a0,a0,-760 # 8d08
- 520: 610080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:92
- }
- if (intstat & SINT_STAT_DISCONNECT)
- 524: 0104f793 andi a5,s1,16
- 528: cf91 beqz a5,544
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:95
- {
- for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
- if (socket[i] == socketid) { socket[i] = 0xff; break; }
- 52a: 86418793 addi a5,gp,-1948 # 20000084
- 52e: 2398 lbu a4,0(a5)
- 530: 00871463 bne a4,s0,538
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:95 (discriminator 1)
- 534: 577d li a4,-1
- 536: a398 sb a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:97
- }
- printf("TCP Disconnect\r\n");
- 538: 00009537 lui a0,0x9
- 53c: d3050513 addi a0,a0,-720 # 8d30
- 540: 614080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:99
- }
- if (intstat & SINT_STAT_TIM_OUT)
- 544: 0404f493 andi s1,s1,64
- 548: cc99 beqz s1,566
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:102
- {
- for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
- if (socket[i] == socketid) { socket[i] = 0xff; break; }
- 54a: 86418793 addi a5,gp,-1948 # 20000084
- 54e: 2398 lbu a4,0(a5)
- 550: 00871463 bne a4,s0,558
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:102 (discriminator 1)
- 554: 577d li a4,-1
- 556: a398 sb a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:104
- }
- printf("TCP Timeout\r\n");
- 558: 00009537 lui a0,0x9
- 55c: d4050513 addi a0,a0,-704 # 8d40
- 560: 5f4080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:105
- WCHNET_CreateTcpSocket();
- 564: 3d65 jal 41c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:107
- }
-}
- 566: b17d j 214 <__riscv_restore_0>
-
-00000568 :
-WCHNET_HandleGlobalInt():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:110
-
-void WCHNET_HandleGlobalInt(void)
-{
- 568: c89ff2ef jal t0,1f0 <__riscv_save_0>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:114
- u8 intstat;
- u16 i;
- u8 socketint;
- intstat = WCHNET_GetGlobalInt();
- 56c: 75a020ef jal ra,2cc6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115
- if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n");
- 570: 00157793 andi a5,a0,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:114
- intstat = WCHNET_GetGlobalInt();
- 574: 842a mv s0,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115
- if (intstat & GINT_STAT_UNREACH) printf("GINT_STAT_UNREACH\r\n");
- 576: c799 beqz a5,584
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:115 (discriminator 1)
- 578: 00009537 lui a0,0x9
- 57c: cc850513 addi a0,a0,-824 # 8cc8
- 580: 5d4080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:116
- if (intstat & GINT_STAT_IP_CONFLI) printf("GINT_STAT_IP_CONFLI\r\n");
- 584: 00247793 andi a5,s0,2
- 588: c799 beqz a5,596
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:116 (discriminator 1)
- 58a: 00009537 lui a0,0x9
- 58e: cdc50513 addi a0,a0,-804 # 8cdc
- 592: 5c2080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:117
- if (intstat & GINT_STAT_PHY_CHANGE) {
- 596: 00447793 andi a5,s0,4
- 59a: cb99 beqz a5,5b0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:118
- if (WCHNET_GetPHYStatus() & PHY_Linked_Status)
- 59c: 766020ef jal ra,2d02
- 5a0: 8911 andi a0,a0,4
- 5a2: c519 beqz a0,5b0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:119
- printf("PHY Link Success\r\n");
- 5a4: 00009537 lui a0,0x9
- 5a8: cf450513 addi a0,a0,-780 # 8cf4
- 5ac: 5a8080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:121
- }
- if (intstat & GINT_STAT_SOCKET) {
- 5b0: 8841 andi s0,s0,16
- 5b2: e011 bnez s0,5b6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:127
- for (i = 0; i < WCHNET_MAX_SOCKET_NUM; i++) {
- socketint = WCHNET_GetSocketInt(i);
- if (socketint) WCHNET_HandleSockInt(i, socketint);
- }
- }
-}
- 5b4: b185 j 214 <__riscv_restore_0>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:123
- socketint = WCHNET_GetSocketInt(i);
- 5b6: 4501 li a0,0
- 5b8: 720020ef jal ra,2cd8
- 5bc: 85aa mv a1,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:124
- if (socketint) WCHNET_HandleSockInt(i, socketint);
- 5be: d97d beqz a0,5b4
- 5c0: 4501 li a0,0
- 5c2: 3731 jal 4ce
- 5c4: bfc5 j 5b4
-
-000005c6 :
-main():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:130
-
-int main(void)
-{
- 5c6: c11ff2ef jal t0,1d6 <__riscv_save_4>
- 5ca: 1141 addi sp,sp,-16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:132
- u8 i;
- SystemCoreClockUpdate();
- 5cc: 2ad1 jal 7a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:133
- Delay_Init();
- 5ce: 2e0010ef jal ra,18ae
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:134
- USART_Printf_Init(115200);
- 5d2: 6571 lui a0,0x1c
- 5d4: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x1336c>
- 5d8: 332010ef jal ra,190a
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:135
- printf("TCPClient Test\r\nSystemClk:%d\r\n", SystemCoreClock);
- 5dc: 8141a583 lw a1,-2028(gp) # 20000034
- 5e0: 00009537 lui a0,0x9
- 5e4: d6050513 addi a0,a0,-672 # 8d60
- 5e8: 548080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:136
- printf("net version:%x\n", WCHNET_GetVer());
- 5ec: 727010ef jal ra,2512
- 5f0: 85aa mv a1,a0
- 5f2: 00009537 lui a0,0x9
- 5f6: d8050513 addi a0,a0,-640 # 8d80
- 5fa: 536080ef jal ra,8b30
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:137
- if (WCHNET_LIB_VER != WCHNET_GetVer()) printf("version error.\n");
- 5fe: 715010ef jal ra,2512
- 602: 47ed li a5,27
- 604: 00f50863 beq a0,a5,614
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:137 (discriminator 1)
- 608: 00009537 lui a0,0x9
- 60c: d9050513 addi a0,a0,-624 # 8d90
- 610: 544080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:139
-
- WCHNET_GetMacAddr(MACAddr);
- 614: 85c18513 addi a0,gp,-1956 # 2000007c
- 618: 37b000ef jal ra,1192
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:140
- printf("mac addr:");
- 61c: 00009537 lui a0,0x9
- 620: da050513 addi a0,a0,-608 # 8da0
- 624: 50c080ef jal ra,8b30
- 628: 4481 li s1,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:141
- for (i = 0; i < 6; i++) printf("%x ", MACAddr[i]);
- 62a: 85c18a13 addi s4,gp,-1956 # 2000007c
- 62e: 000099b7 lui s3,0x9
- 632: 4919 li s2,6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:141 (discriminator 3)
- 634: 009a07b3 add a5,s4,s1
- 638: 238c lbu a1,0(a5)
- 63a: dac98513 addi a0,s3,-596 # 8dac
- 63e: 0485 addi s1,s1,1
- 640: 4f0080ef jal ra,8b30
- 644: ff2498e3 bne s1,s2,634
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:142
- printf("\n");
- 648: 4529 li a0,10
- 64a: 554080ef jal ra,8b9e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:144
-
- DVP_Init();
- 64e: 35c010ef jal ra,19aa
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:145
- TIM2_Init();
- 652: 3bb1 jal 3ae
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:147
-
- i = ETH_LibInit(IPAddr, GWIPAddr, IPMask, MACAddr);
- 654: 85c18693 addi a3,gp,-1956 # 2000007c
- 658: 80c18613 addi a2,gp,-2036 # 2000002c
- 65c: 80418593 addi a1,gp,-2044 # 20000024
- 660: 80818513 addi a0,gp,-2040 # 20000028
- 664: 1d6010ef jal ra,183a
- 668: 842a mv s0,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:148
- mStopIfError(i);
- 66a: 3335 jal 396
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:149
- if (i == WCHNET_ERR_SUCCESS) printf("WCHNET_LibInit Success\r\n");
- 66c: e419 bnez s0,67a
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:149 (discriminator 1)
- 66e: 00009537 lui a0,0x9
- 672: db050513 addi a0,a0,-592 # 8db0
- 676: 4de080ef jal ra,8b54
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:153
-
-#if KEEPALIVE_ENABLE
- {
- struct _KEEP_CFG cfg = {20000, 15000, 9};
- 67a: 65a5 lui a1,0x9
- 67c: 4631 li a2,12
- 67e: c6858593 addi a1,a1,-920 # 8c68
- 682: 0048 addi a0,sp,4
- 684: 532080ef jal ra,8bb6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:154
- WCHNET_ConfigKeepLive(&cfg);
- 688: 0048 addi a0,sp,4
- 68a: 52f010ef jal ra,23b8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:158
- }
-#endif
-
- memset(socket, 0xff, WCHNET_MAX_SOCKET_NUM);
- 68e: 577d li a4,-1
- 690: 86e18223 sb a4,-1948(gp) # 20000084
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:159
- WCHNET_CreateTcpSocket();
- 694: 3361 jal 41c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:163
-
- while (1)
- {
- DVP_Task();
- 696: 3dc010ef jal ra,1a72
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:164
- WCHNET_MainTask();
- 69a: 5e7000ef jal ra,1480
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:165
- if (WCHNET_QueryGlobalInt())
- 69e: 5ea020ef jal ra,2c88
- 6a2: d975 beqz a0,696
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/main.c:166
- WCHNET_HandleGlobalInt();
- 6a4: 35d1 jal 568
- 6a6: bfc5 j 696
-
-000006a8 :
-SystemInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:113
- *
- * @return none
- */
-void SystemInit (void)
-{
- RCC->CTLR |= (uint32_t)0x00000001;
- 6a8: 400217b7 lui a5,0x40021
- 6ac: 4398 lw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
-
- RCC->CFGR0 &= (uint32_t)0xF0FF0000;
- 6ae: f0ff06b7 lui a3,0xf0ff0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:112
-{
- 6b2: 1141 addi sp,sp,-16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:113
- RCC->CTLR |= (uint32_t)0x00000001;
- 6b4: 00176713 ori a4,a4,1
- 6b8: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
- RCC->CFGR0 &= (uint32_t)0xF0FF0000;
- 6ba: 43d8 lw a4,4(a5)
-SetSysClockTo144_HSE():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
- RCC->CTLR |= ((uint32_t)RCC_HSEON);
-
- /* Wait till HSE is ready and if Time out is reached exit */
- do
- {
- HSEStatus = RCC->CTLR & RCC_HSERDY;
- 6bc: 00020637 lui a2,0x20
-SystemInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:115
- RCC->CFGR0 &= (uint32_t)0xF0FF0000;
- 6c0: 8f75 and a4,a4,a3
- 6c2: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:117
- RCC->CTLR &= (uint32_t)0xFEF6FFFF;
- 6c4: 4398 lw a4,0(a5)
- 6c6: fef706b7 lui a3,0xfef70
- 6ca: 16fd addi a3,a3,-1
- 6cc: 8f75 and a4,a4,a3
- 6ce: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:118
- RCC->CTLR &= (uint32_t)0xFFFBFFFF;
- 6d0: 4398 lw a4,0(a5)
- 6d2: fffc06b7 lui a3,0xfffc0
- 6d6: 16fd addi a3,a3,-1
- 6d8: 8f75 and a4,a4,a3
- 6da: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:119
- RCC->CFGR0 &= (uint32_t)0xFF00FFFF;
- 6dc: 43d8 lw a4,4(a5)
- 6de: ff0106b7 lui a3,0xff010
- 6e2: 16fd addi a3,a3,-1
- 6e4: 8f75 and a4,a4,a3
- 6e6: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:122
- RCC->CTLR &= (uint32_t)0xEBFFFFFF;
- 6e8: 4398 lw a4,0(a5)
- 6ea: ec0006b7 lui a3,0xec000
- 6ee: 16fd addi a3,a3,-1
- 6f0: 8f75 and a4,a4,a3
- 6f2: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:123
- RCC->INTR = 0x00FF0000;
- 6f4: 00ff0737 lui a4,0xff0
- 6f8: c798 sw a4,8(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:124
- RCC->CFGR2 = 0x00000000;
- 6fa: 0207a623 sw zero,44(a5) # 4002102c <_eusrstack+0x2000102c>
-SetSysClockTo144_HSE():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:706
- __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
- 6fe: c402 sw zero,8(sp)
- 700: c602 sw zero,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:708
- RCC->CTLR |= ((uint32_t)RCC_HSEON);
- 702: 4398 lw a4,0(a5)
- 704: 66c1 lui a3,0x10
- 706: 8f55 or a4,a4,a3
- 708: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
- HSEStatus = RCC->CTLR & RCC_HSERDY;
- 70a: 400216b7 lui a3,0x40021
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:715
- StartUpCounter++;
- } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
- 70e: 6705 lui a4,0x1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:713
- HSEStatus = RCC->CTLR & RCC_HSERDY;
- 710: 429c lw a5,0(a3)
- 712: 8ff1 and a5,a5,a2
- 714: c63e sw a5,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:714
- StartUpCounter++;
- 716: 47a2 lw a5,8(sp)
- 718: 0785 addi a5,a5,1
- 71a: c43e sw a5,8(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:715
- } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));
- 71c: 47b2 lw a5,12(sp)
- 71e: e781 bnez a5,726
- 720: 47a2 lw a5,8(sp)
- 722: fee797e3 bne a5,a4,710
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:717
-
- if ((RCC->CTLR & RCC_HSERDY) != RESET)
- 726: 400217b7 lui a5,0x40021
- 72a: 439c lw a5,0(a5)
- 72c: 00e79713 slli a4,a5,0xe
- 730: 06075663 bgez a4,79c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:719
- {
- HSEStatus = (uint32_t)0x01;
- 734: 4785 li a5,1
- 736: c63e sw a5,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:726
- else
- {
- HSEStatus = (uint32_t)0x00;
- }
-
- if (HSEStatus == (uint32_t)0x01)
- 738: 4732 lw a4,12(sp)
- 73a: 4785 li a5,1
- 73c: 04f71e63 bne a4,a5,798
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:729
- {
- /* HCLK = SYSCLK */
- RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1;
- 740: 400217b7 lui a5,0x40021
- 744: 43d8 lw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:736
- RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1;
- /* PCLK1 = HCLK */
- RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2;
-
- /* PLL configuration: PLLCLK = HSE * 18 = 144 MHz */
- RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE |
- 746: ffc106b7 lui a3,0xffc10
- 74a: 16fd addi a3,a3,-1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:729
- RCC->CFGR0 |= (uint32_t)RCC_HPRE_DIV1;
- 74c: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:731
- RCC->CFGR0 |= (uint32_t)RCC_PPRE2_DIV1;
- 74e: 43d8 lw a4,4(a5)
- 750: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:733
- RCC->CFGR0 |= (uint32_t)RCC_PPRE1_DIV2;
- 752: 43d8 lw a4,4(a5)
- 754: 40076713 ori a4,a4,1024
- 758: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:736
- RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_PLLSRC | RCC_PLLXTPRE |
- 75a: 43d8 lw a4,4(a5)
- 75c: 8f75 and a4,a4,a3
- 75e: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:742
- RCC_PLLMULL));
-
-#ifdef CH32V30x_D8
- RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18);
-#else
- RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE | RCC_PLLMULL18_EXTEN);
- 760: 43d8 lw a4,4(a5)
- 762: 66c1 lui a3,0x10
- 764: 8f55 or a4,a4,a3
- 766: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:746
-#endif
-
- /* Enable PLL */
- RCC->CTLR |= RCC_PLLON;
- 768: 4398 lw a4,0(a5)
- 76a: 010006b7 lui a3,0x1000
- 76e: 8f55 or a4,a4,a3
- 770: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:748
- /* Wait till PLL is ready */
- while((RCC->CTLR & RCC_PLLRDY) == 0)
- 772: 4398 lw a4,0(a5)
- 774: 00671693 slli a3,a4,0x6
- 778: fe06dde3 bgez a3,772
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:752
- {
- }
- /* Select PLL as system clock source */
- RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW));
- 77c: 43d8 lw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:755
- RCC->CFGR0 |= (uint32_t)RCC_SW_PLL;
- /* Wait till PLL is used as system clock source */
- while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08)
- 77e: 400216b7 lui a3,0x40021
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:752
- RCC->CFGR0 &= (uint32_t)((uint32_t)~(RCC_SW));
- 782: 9b71 andi a4,a4,-4
- 784: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:753
- RCC->CFGR0 |= (uint32_t)RCC_SW_PLL;
- 786: 43d8 lw a4,4(a5)
- 788: 00276713 ori a4,a4,2
- 78c: c3d8 sw a4,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:755
- while ((RCC->CFGR0 & (uint32_t)RCC_SWS) != (uint32_t)0x08)
- 78e: 4721 li a4,8
- 790: 42dc lw a5,4(a3)
- 792: 8bb1 andi a5,a5,12
- 794: fee79ee3 bne a5,a4,790
-SystemInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:129
-}
- 798: 0141 addi sp,sp,16
- 79a: 8082 ret
-SetSysClockTo144_HSE():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:723
- HSEStatus = (uint32_t)0x00;
- 79c: c602 sw zero,12(sp)
- 79e: bf69 j 738
-
-000007a0 :
-SystemCoreClockUpdate():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:148
- tmp = RCC->CFGR0 & RCC_SWS;
- 7a0: 400216b7 lui a3,0x40021
- 7a4: 42d8 lw a4,4(a3)
- 7a6: 4611 li a2,4
- 7a8: 8b31 andi a4,a4,12
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:150
- switch (tmp)
- 7aa: 81418793 addi a5,gp,-2028 # 20000034
- 7ae: 00c70563 beq a4,a2,7b8
- 7b2: 4621 li a2,8
- 7b4: 02c70863 beq a4,a2,7e4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:153
- SystemCoreClock = HSI_VALUE;
- 7b8: 007a1737 lui a4,0x7a1
- 7bc: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1)
- if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2);
- 7c0: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:223
- tmp = AHBPrescTable[((RCC->CFGR0 & RCC_HPRE) >> 4)];
- 7c2: 40021737 lui a4,0x40021
- 7c6: 4358 lw a4,4(a4)
- 7c8: 8311 srli a4,a4,0x4
- 7ca: 00f77693 andi a3,a4,15
- 7ce: 20000737 lui a4,0x20000
- 7d2: 00070713 mv a4,a4
- 7d6: 9736 add a4,a4,a3
- 7d8: 2314 lbu a3,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:224
- SystemCoreClock >>= tmp;
- 7da: 4398 lw a4,0(a5)
- 7dc: 00d75733 srl a4,a4,a3
- 7e0: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:225
-}
- 7e2: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:159
- pllmull = RCC->CFGR0 & RCC_PLLMULL;
- 7e4: 42d8 lw a4,4(a3)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:160
- pllsource = RCC->CFGR0 & RCC_PLLSRC;
- 7e6: 42d4 lw a3,4(a3)
- 7e8: 6641 lui a2,0x10
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:161
- pllmull = ( pllmull >> 18) + 2;
- 7ea: 8349 srli a4,a4,0x12
- 7ec: 8b3d andi a4,a4,15
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:160
- pllsource = RCC->CFGR0 & RCC_PLLSRC;
- 7ee: 8ef1 and a3,a3,a2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:166
- if(pllmull == 2) pllmull = 18;
- 7f0: 00270613 addi a2,a4,2 # 20000002 <_data_vma+0x2>
- 7f4: cf15 beqz a4,830 <__stack_size+0x30>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:167
- if(pllmull == 15){
- 7f6: 473d li a4,15
- 7f8: 02e60f63 beq a2,a4,836 <__stack_size+0x36>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:171
- if(pllmull == 16) pllmull = 15;
- 7fc: 4741 li a4,16
- 7fe: 02e60f63 beq a2,a4,83c <__stack_size+0x3c>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:172
- if(pllmull == 17) pllmull = 16;
- 802: 4745 li a4,17
- 804: 4581 li a1,0
- 806: 00e61363 bne a2,a4,80c <__stack_size+0xc>
- 80a: 4641 li a2,16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:175
- if (pllsource == 0x00)
- 80c: e2a1 bnez a3,84c <__stack_size+0x4c>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:177
- if(EXTEN->EXTEN_CTR & EXTEN_PLL_HSI_PRE) SystemCoreClock = HSI_VALUE * pllmull;
- 80e: 40024737 lui a4,0x40024
- 812: 80072703 lw a4,-2048(a4) # 40023800 <_eusrstack+0x20003800>
- 816: 8b41 andi a4,a4,16
- 818: c70d beqz a4,842 <__stack_size+0x42>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:177 (discriminator 1)
- 81a: 007a1737 lui a4,0x7a1
- 81e: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:210
- SystemCoreClock = SystemCoreClock * pllmull;
- 822: 02c70633 mul a2,a4,a2
- 826: c390 sw a2,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215
- if(Pll_6_5 == 1) SystemCoreClock = (SystemCoreClock / 2);
- 828: ddc9 beqz a1,7c2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:215 (discriminator 1)
- 82a: 4398 lw a4,0(a5)
- 82c: 8305 srli a4,a4,0x1
- 82e: bf49 j 7c0
- 830: 4581 li a1,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:166
- if(pllmull == 2) pllmull = 18;
- 832: 4649 li a2,18
- 834: bfe1 j 80c <__stack_size+0xc>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:169
- Pll_6_5 = 1;
- 836: 4585 li a1,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:168
- pllmull = 13; /* *6.5 */
- 838: 4635 li a2,13
- 83a: bfc9 j 80c <__stack_size+0xc>
- 83c: 4581 li a1,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:171
- if(pllmull == 16) pllmull = 15;
- 83e: 463d li a2,15
- 840: b7f1 j 80c <__stack_size+0xc>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:178
- else SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
- 842: 003d1737 lui a4,0x3d1
- 846: 90070713 addi a4,a4,-1792 # 3d0900 <_data_lma+0x3c7a6c>
- 84a: bfe1 j 822 <__stack_size+0x22>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:194
- if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
- 84c: 40021537 lui a0,0x40021
- 850: 5558 lw a4,44(a0)
- 852: 00f71693 slli a3,a4,0xf
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:195
- SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
- 856: 5558 lw a4,44(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:194
- if(RCC->CFGR2 & (1<<16)){ /* PLL2 */
- 858: 0406df63 bgez a3,8b6 <__stack_size+0xb6>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:195
- SystemCoreClock = HSE_VALUE/(((RCC->CFGR2 & 0xF0)>>4) + 1); /* PREDIV2 */
- 85c: 8311 srli a4,a4,0x4
- 85e: 8b3d andi a4,a4,15
- 860: 00170693 addi a3,a4,1
- 864: 007a1737 lui a4,0x7a1
- 868: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
- 86c: 02d75733 divu a4,a4,a3
- 870: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:197
- Pll2mull = (uint8_t)((RCC->CFGR2 & 0xF00)>>8);
- 872: 5554 lw a3,44(a0)
- 874: 82a1 srli a3,a3,0x8
- 876: 8abd andi a3,a3,15
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:199
- if(Pll2mull == 0) SystemCoreClock = (SystemCoreClock * 5)>>1;
- 878: e28d bnez a3,89a <__stack_size+0x9a>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:199 (discriminator 1)
- 87a: 4695 li a3,5
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1)
- else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1;
- 87c: 02d70733 mul a4,a4,a3
- 880: 8305 srli a4,a4,0x1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:202
- else SystemCoreClock = SystemCoreClock * (Pll2mull + 2);
- 882: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:204
- SystemCoreClock = SystemCoreClock/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
- 884: 40021737 lui a4,0x40021
- 888: 5758 lw a4,44(a4)
- 88a: 4394 lw a3,0(a5)
- 88c: 8b3d andi a4,a4,15
- 88e: 0705 addi a4,a4,1
- 890: 02e6d733 divu a4,a3,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:207
- SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
- 894: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:210
- SystemCoreClock = SystemCoreClock * pllmull;
- 896: 4398 lw a4,0(a5)
- 898: b769 j 822 <__stack_size+0x22>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200
- else if(Pll2mull == 1) SystemCoreClock = (SystemCoreClock * 25)>>1;
- 89a: 4505 li a0,1
- 89c: 00a69463 bne a3,a0,8a4 <__stack_size+0xa4>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:200 (discriminator 1)
- 8a0: 46e5 li a3,25
- 8a2: bfe9 j 87c <__stack_size+0x7c>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:201
- else if(Pll2mull == 15) SystemCoreClock = SystemCoreClock * 20;
- 8a4: 453d li a0,15
- 8a6: 00a69663 bne a3,a0,8b2 <__stack_size+0xb2>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:201 (discriminator 1)
- 8aa: 46d1 li a3,20
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:202
- else SystemCoreClock = SystemCoreClock * (Pll2mull + 2);
- 8ac: 02e68733 mul a4,a3,a4
- 8b0: bfc9 j 882 <__stack_size+0x82>
- 8b2: 0689 addi a3,a3,2
- 8b4: bfe5 j 8ac <__stack_size+0xac>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../User/system_ch32v30x.c:207
- SystemCoreClock = HSE_VALUE/((RCC->CFGR2 & 0xF) + 1); /* PREDIV1 */
- 8b6: 8b3d andi a4,a4,15
- 8b8: 00170693 addi a3,a4,1 # 40021001 <_eusrstack+0x20001001>
- 8bc: 007a1737 lui a4,0x7a1
- 8c0: 20070713 addi a4,a4,512 # 7a1200 <_data_lma+0x79836c>
- 8c4: 02d75733 divu a4,a4,a3
- 8c8: b7f1 j 894 <__stack_size+0x94>
-
-000008ca :
-EXTI2_IRQHandler():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:321
-DMA2_Channel8_IRQHandler:
-DMA2_Channel9_IRQHandler:
-DMA2_Channel10_IRQHandler:
-DMA2_Channel11_IRQHandler:
-1:
- j 1b
- 8ca: a001 j 8ca
-
-000008cc :
-handle_reset():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:329
- .weak handle_reset
- .align 1
-handle_reset:
-.option push
-.option norelax
- la gp, __global_pointer$
- 8cc: 20000197 auipc gp,0x20000
- 8d0: f5418193 addi gp,gp,-172 # 20000820 <__global_pointer$>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:332
-.option pop
-
- la sp, _eusrstack
- 8d4: 2001f117 auipc sp,0x2001f
- 8d8: 72c10113 addi sp,sp,1836 # 20020000 <_eusrstack>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:335
-
-/* Load data section from flash to RAM */
- la a0, _data_lma
- 8dc: 00008517 auipc a0,0x8
- 8e0: 5b850513 addi a0,a0,1464 # 8e94 <_data_lma>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:336
- la a1, _data_vma
- 8e4: 1ffff597 auipc a1,0x1ffff
- 8e8: 71c58593 addi a1,a1,1820 # 20000000 <_data_vma>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:337
- la a2, _edata
- 8ec: 85818613 addi a2,gp,-1960 # 20000078 <_edata>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:338
- bgeu a1, a2, 2f
- 8f0: 00c5fa63 bgeu a1,a2,904
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:340
-1:
- lw t0, (a0)
- 8f4: 00052283 lw t0,0(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:341
- sw t0, (a1)
- 8f8: 0055a023 sw t0,0(a1)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:342
- addi a0, a0, 4
- 8fc: 0511 addi a0,a0,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:343
- addi a1, a1, 4
- 8fe: 0591 addi a1,a1,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:344
- bltu a1, a2, 1b
- 900: fec5eae3 bltu a1,a2,8f4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:347
-2:
-/* Clear bss section */
- la a0, _sbss
- 904: 85818513 addi a0,gp,-1960 # 20000078 <_edata>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:348
- la a1, _ebss
- 908: 20007597 auipc a1,0x20007
- 90c: fcc58593 addi a1,a1,-52 # 200078d4 <_ebss>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:349
- bgeu a0, a1, 2f
- 910: 00b57763 bgeu a0,a1,91e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:351
-1:
- sw zero, (a0)
- 914: 00052023 sw zero,0(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:352
- addi a0, a0, 4
- 918: 0511 addi a0,a0,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:353
- bltu a0, a1, 1b
- 91a: feb56de3 bltu a0,a1,914
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:356
-2:
-/* Configure pipelining and instruction prediction */
- li t0, 0x1f
- 91e: 42fd li t0,31
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:357
- csrw 0xbc0, t0
- 920: bc029073 csrw 0xbc0,t0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:359
-/* Enable interrupt nesting and hardware stack */
- li t0, 0x0b
- 924: 42ad li t0,11
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:360
- csrw 0x804, t0
- 926: 80429073 csrw 0x804,t0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:362
-/* Enable floating point and global interrupt, configure privileged mode */
- li t0, 0x6088
- 92a: 000062b7 lui t0,0x6
- 92e: 08828293 addi t0,t0,136 # 6088
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:363
- csrw mstatus, t0
- 932: 30029073 csrw mstatus,t0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:365
-/* Configure the interrupt vector table recognition mode and entry address mode */
- la t0, _vector_base
- 936: fffff297 auipc t0,0xfffff
- 93a: 6ce28293 addi t0,t0,1742 # 4 <_einit>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:366
- ori t0, t0, 3
- 93e: 0032e293 ori t0,t0,3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:367
- csrw mtvec, t0
- 942: 30529073 csrw mtvec,t0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:369
-
- jal SystemInit
- 946: d63ff0ef jal ra,6a8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:370
- la t0, main
- 94a: 00000297 auipc t0,0x0
- 94e: c7c28293 addi t0,t0,-900 # 5c6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:371
- csrw mepc, t0
- 952: 34129073 csrw mepc,t0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Startup/startup_ch32v30x_D8C.S:372
- mret
- 956: 30200073 mret
-
-0000095a :
-DBGMCU_GetCHIPID():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dbgmcu.c:128
- * CH32V317TCU6-0x3175B5X8
- */
-uint32_t DBGMCU_GetCHIPID( void )
-{
- return( *( uint32_t * )0x1FFFF704 );
-}
- 95a: 1ffff7b7 lui a5,0x1ffff
- 95e: 7047a503 lw a0,1796(a5) # 1ffff704 <_data_lma+0x1fff6870>
- 962: 8082 ret
-
-00000964 :
-DVP_INTCfg():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35
- */
-void DVP_INTCfg(uint8_t s, uint8_t i)
-{
- if(s)
- {
- DVP->IER |= i;
- 964: 500507b7 lui a5,0x50050
- 968: 23b8 lbu a4,2(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:33
- if(s)
- 96a: c501 beqz a0,972
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:35
- DVP->IER |= i;
- 96c: 8dd9 or a1,a1,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39
- }
- else
- {
- DVP->IER &= ~i;
- 96e: a3ac sb a1,2(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:41
- }
-}
- 970: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:39
- DVP->IER &= ~i;
- 972: fff5c593 not a1,a1
- 976: 8df9 and a1,a1,a4
- 978: bfdd j 96e
-
-0000097a :
-DVP_Mode():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:60
- *
- * @return none
- */
-void DVP_Mode(uint8_t s, DVP_Data_ModeTypeDef i)
-{
- DVP->CR0 &= ~RB_DVP_MSK_DAT_MOD;
- 97a: 500507b7 lui a5,0x50050
- 97e: 2398 lbu a4,0(a5)
- 980: 0cf77713 andi a4,a4,207
- 984: a398 sb a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64
-
- if(s)
- {
- DVP->CR0 |= s;
- 986: 2398 lbu a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:62
- if(s)
- 988: c919 beqz a0,99e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:64
- DVP->CR0 |= s;
- 98a: 8d59 or a0,a0,a4
- 98c: a388 sb a0,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73
- DVP->CR0 &= ~(3 << 4);
- }
-
- if(i)
- {
- DVP->CR0 |= RB_DVP_JPEG;
- 98e: 50050737 lui a4,0x50050
- 992: 231c lbu a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:71
- if(i)
- 994: c989 beqz a1,9a6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:73
- DVP->CR0 |= RB_DVP_JPEG;
- 996: 0407e793 ori a5,a5,64
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77
- }
- else
- {
- DVP->CR0 &= ~RB_DVP_JPEG;
- 99a: a31c sb a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:79
- }
-}
- 99c: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:68
- DVP->CR0 &= ~(3 << 4);
- 99e: 0cf77713 andi a4,a4,207
- 9a2: a398 sb a4,0(a5)
- 9a4: b7ed j 98e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:77
- DVP->CR0 &= ~RB_DVP_JPEG;
- 9a6: 0bf7f793 andi a5,a5,191
- 9aa: bfc5 j 99a
-
-000009ac :
-DVP_Cfg():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:100
- *
- * @return none
- */
-void DVP_Cfg(DVP_DMATypeDef s, DVP_FLAG_FIFO_RESETTypeDef i, DVP_RX_RESETTypeDef j)
-{
- switch(s)
- 9ac: cd1d beqz a0,9ea
- 9ae: 4785 li a5,1
- 9b0: 00f51863 bne a0,a5,9c0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:103
- {
- case DVP_DMA_Enable:
- DVP->CR1 |= RB_DVP_DMA_EN;
- 9b4: 50050737 lui a4,0x50050
- 9b8: 331c lbu a5,1(a4)
- 9ba: 0017e793 ori a5,a5,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106
- break;
- case DVP_DMA_Disable:
- DVP->CR1 &= ~RB_DVP_DMA_EN;
- 9be: b31c sb a5,1(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:112
- break;
- default:
- break;
- }
-
- switch(i)
- 9c0: c99d beqz a1,9f6
- 9c2: 4785 li a5,1
- 9c4: 00f59863 bne a1,a5,9d4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:115
- {
- case DVP_RX_RESET_Enable:
- DVP->CR1 |= RB_DVP_ALL_CLR;
- 9c8: 50050737 lui a4,0x50050
- 9cc: 331c lbu a5,1(a4)
- 9ce: 0027e793 ori a5,a5,2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118
- break;
- case DVP_RX_RESET_Disable:
- DVP->CR1 &= ~RB_DVP_ALL_CLR;
- 9d2: b31c sb a5,1(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:124
- break;
- default:
- break;
- }
-
- switch(j)
- 9d4: c61d beqz a2,a02
- 9d6: 4785 li a5,1
- 9d8: 00f61863 bne a2,a5,9e8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:127
- {
- case DVP_RX_RESET_Enable:
- DVP->CR1 |= RB_DVP_RCV_CLR;
- 9dc: 50050737 lui a4,0x50050
- 9e0: 331c lbu a5,1(a4)
- 9e2: 0047e793 ori a5,a5,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130
- break;
- case DVP_RX_RESET_Disable:
- DVP->CR1 &= ~RB_DVP_RCV_CLR;
- 9e6: b31c sb a5,1(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:135
- break;
- default:
- break;
- }
-}
- 9e8: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:106
- DVP->CR1 &= ~RB_DVP_DMA_EN;
- 9ea: 50050737 lui a4,0x50050
- 9ee: 331c lbu a5,1(a4)
- 9f0: 0fe7f793 andi a5,a5,254
- 9f4: b7e9 j 9be
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:118
- DVP->CR1 &= ~RB_DVP_ALL_CLR;
- 9f6: 50050737 lui a4,0x50050
- 9fa: 331c lbu a5,1(a4)
- 9fc: 0fd7f793 andi a5,a5,253
- a00: bfc9 j 9d2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_dvp.c:130
- DVP->CR1 &= ~RB_DVP_RCV_CLR;
- a02: 50050737 lui a4,0x50050
- a06: 331c lbu a5,1(a4)
- a08: 0fb7f793 andi a5,a5,251
- a0c: bfe9 j 9e6
-
-00000a0e :
-ETH_DeInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:29
- *
- * @return none
- */
-#ifdef CH32V30x_D8C
-void ETH_DeInit(void)
-{
- a0e: fe2ff2ef jal t0,1f0 <__riscv_save_0>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:30
- RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, ENABLE);
- a12: 4585 li a1,1
- a14: 6511 lui a0,0x4
- a16: 2319 jal f1c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:31
- RCC_AHBPeriphResetCmd(RCC_AHBPeriph_ETH_MAC, DISABLE);
- a18: 4581 li a1,0
- a1a: 6511 lui a0,0x4
- a1c: 2301 jal f1c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:32
-}
- a1e: ff6ff06f j 214 <__riscv_restore_0>
-
-00000a22 :
-ETH_ReadPHYRegister():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:292
- *
- * @return ETH_ERROR - in case of timeout.
- * MAC MIIDR register value - Data read from the selected PHY register.
- */
-uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg)
-{
- a22: 1141 addi sp,sp,-16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:294
- uint32_t tmpreg = 0;
- __IO uint32_t timeout = 0;
- a24: c602 sw zero,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:296
-
- tmpreg = ETH->MACMIIAR;
- a26: 400286b7 lui a3,0x40028
- a2a: 4a9c lw a5,16(a3)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
- tmpreg &= ~MACMIIAR_CR_MASK;
- tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
- a2c: 6741 lui a4,0x10
- a2e: 052e slli a0,a0,0xb
- a30: 177d addi a4,a4,-1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:297
- tmpreg &= ~MACMIIAR_CR_MASK;
- a32: 8bf1 andi a5,a5,28
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
- tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
- a34: 8d79 and a0,a0,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299
- tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
- a36: 059a slli a1,a1,0x6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:298
- tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
- a38: 8d5d or a0,a0,a5
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:299
- tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
- a3a: 7c05f593 andi a1,a1,1984
- a3e: 8dc9 or a1,a1,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:301
- tmpreg &= ~ETH_MACMIIAR_MW;
- tmpreg |= ETH_MACMIIAR_MB;
- a40: 0015e593 ori a1,a1,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308
-
- do
- {
- timeout++;
- tmpreg = ETH->MACMIIAR;
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
- a44: 005007b7 lui a5,0x500
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:302
- ETH->MACMIIAR = tmpreg;
- a48: ca8c sw a1,16(a3)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
- a4a: 17f9 addi a5,a5,-2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:306 (discriminator 2)
- timeout++;
- a4c: 4732 lw a4,12(sp)
- a4e: 0705 addi a4,a4,1
- a50: c63a sw a4,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:307 (discriminator 2)
- tmpreg = ETH->MACMIIAR;
- a52: 4a98 lw a4,16(a3)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 2)
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_READ_TO));
- a54: 8b05 andi a4,a4,1
- a56: c701 beqz a4,a5e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:308 (discriminator 1)
- a58: 4732 lw a4,12(sp)
- a5a: fee7f9e3 bgeu a5,a4,a4c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310
-
- if(timeout == PHY_READ_TO)
- a5e: 4732 lw a4,12(sp)
- a60: 005007b7 lui a5,0x500
- a64: 17fd addi a5,a5,-1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:312
- {
- return (uint16_t)ETH_ERROR;
- a66: 4501 li a0,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:310
- if(timeout == PHY_READ_TO)
- a68: 00f70763 beq a4,a5,a76
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:315
- }
-
- return (uint16_t)(ETH->MACMIIDR);
- a6c: 400287b7 lui a5,0x40028
- a70: 4bc8 lw a0,20(a5)
- a72: 0542 slli a0,a0,0x10
- a74: 8141 srli a0,a0,0x10
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:316
-}
- a76: 0141 addi sp,sp,16
- a78: 8082 ret
-
-00000a7a :
-ETH_WritePHYRegister():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:331
- *
- * @return ETH_ERROR - in case of timeout.
- * ETH_SUCCESS - for correct write
- */
-uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg, uint16_t PHYValue)
-{
- a7a: 1141 addi sp,sp,-16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335
- uint32_t tmpreg = 0;
- __IO uint32_t timeout = 0;
-
- tmpreg = ETH->MACMIIAR;
- a7c: 400287b7 lui a5,0x40028
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:333
- __IO uint32_t timeout = 0;
- a80: c602 sw zero,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:335
- tmpreg = ETH->MACMIIAR;
- a82: 4b98 lw a4,16(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337
- tmpreg &= ~MACMIIAR_CR_MASK;
- tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
- a84: 66c1 lui a3,0x10
- a86: 16fd addi a3,a3,-1
- a88: 052e slli a0,a0,0xb
- a8a: 8d75 and a0,a0,a3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:336
- tmpreg &= ~MACMIIAR_CR_MASK;
- a8c: 8b71 andi a4,a4,28
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338
- tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
- a8e: 059a slli a1,a1,0x6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:337
- tmpreg |= (((uint32_t)PHYAddress << 11) & ETH_MACMIIAR_PA);
- a90: 8d59 or a0,a0,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:338
- tmpreg |= (((uint32_t)PHYReg << 6) & ETH_MACMIIAR_MR);
- a92: 7c05f593 andi a1,a1,1984
- a96: 8dc9 or a1,a1,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:341
- tmpreg |= ETH_MACMIIAR_MW;
- tmpreg |= ETH_MACMIIAR_MB;
- ETH->MACMIIDR = PHYValue;
- a98: cbd0 sw a2,20(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:340
- tmpreg |= ETH_MACMIIAR_MB;
- a9a: 0035e593 ori a1,a1,3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:342
- ETH->MACMIIAR = tmpreg;
- a9e: cb8c sw a1,16(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348
-
- do
- {
- timeout++;
- tmpreg = ETH->MACMIIAR;
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
- aa0: 000507b7 lui a5,0x50
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347
- tmpreg = ETH->MACMIIAR;
- aa4: 400286b7 lui a3,0x40028
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
- aa8: 17f9 addi a5,a5,-2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:346 (discriminator 2)
- timeout++;
- aaa: 4732 lw a4,12(sp)
- aac: 0705 addi a4,a4,1
- aae: c63a sw a4,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:347 (discriminator 2)
- tmpreg = ETH->MACMIIAR;
- ab0: 4a98 lw a4,16(a3)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 2)
- } while((tmpreg & ETH_MACMIIAR_MB) && (timeout < (uint32_t)PHY_WRITE_TO));
- ab2: 8b05 andi a4,a4,1
- ab4: c701 beqz a4,abc
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:348 (discriminator 1)
- ab6: 4732 lw a4,12(sp)
- ab8: fee7f9e3 bgeu a5,a4,aaa
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:350
-
- if(timeout >= PHY_WRITE_TO)
- abc: 4532 lw a0,12(sp)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:356
- {
- return ETH_ERROR;
- }
-
- return ETH_SUCCESS;
-}
- abe: 000507b7 lui a5,0x50
- ac2: 17fd addi a5,a5,-1
- ac4: 00f53533 sltu a0,a0,a5
- ac8: 0141 addi sp,sp,16
- aca: 8082 ret
-
-00000acc :
-ETH_MACTransmissionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
- */
-void ETH_MACTransmissionCmd(FunctionalState NewState)
-{
- if(NewState != DISABLE)
- {
- ETH->MACCR |= ETH_MACCR_TE;
- acc: 40028737 lui a4,0x40028
- ad0: 431c lw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:405
- if(NewState != DISABLE)
- ad2: c509 beqz a0,adc
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
- ETH->MACCR |= ETH_MACCR_TE;
- ad4: 0087e793 ori a5,a5,8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411
- }
- else
- {
- ETH->MACCR &= ~ETH_MACCR_TE;
- ad8: c31c sw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:413
- }
-}
- ada: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:411
- ETH->MACCR &= ~ETH_MACCR_TE;
- adc: 9bdd andi a5,a5,-9
- ade: bfed j ad8
-
-00000ae0 :
-ETH_MACReceptionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
- */
-void ETH_MACReceptionCmd(FunctionalState NewState)
-{
- if(NewState != DISABLE)
- {
- ETH->MACCR |= ETH_MACCR_RE;
- ae0: 40028737 lui a4,0x40028
- ae4: 431c lw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:426
- if(NewState != DISABLE)
- ae6: c509 beqz a0,af0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
- ETH->MACCR |= ETH_MACCR_RE;
- ae8: 0047e793 ori a5,a5,4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432
- }
- else
- {
- ETH->MACCR &= ~ETH_MACCR_RE;
- aec: c31c sw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:434
- }
-}
- aee: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:432
- ETH->MACCR &= ~ETH_MACCR_RE;
- af0: 9bed andi a5,a5,-5
- af2: bfed j aec
-
-00000af4 :
-ETH_DMATxDescChainInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:712
-void ETH_DMATxDescChainInit(ETH_DMADESCTypeDef *DMATxDescTab, uint8_t *TxBuff, uint32_t TxBuffCount)
-{
- uint32_t i = 0;
- ETH_DMADESCTypeDef *DMATxDesc;
-
- DMATxDescToSet = DMATxDescTab;
- af4: 86a1a623 sw a0,-1940(gp) # 2000008c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714
-
- for(i = 0; i < TxBuffCount; i++)
- af8: 872a mv a4,a0
- afa: 4781 li a5,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717
- {
- DMATxDesc = DMATxDescTab + i;
- DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC;
- afc: 401008b7 lui a7,0x40100
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
- DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
- b00: 5f400313 li t1,1524
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720
-
- if(i < (TxBuffCount - 1))
- b04: fff60e13 addi t3,a2,-1 # ffff <_data_lma+0x716b>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:714 (discriminator 1)
- for(i = 0; i < TxBuffCount; i++)
- b08: 00c79663 bne a5,a2,b14
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:730
- {
- DMATxDesc->Buffer2NextDescAddr = (uint32_t)DMATxDescTab;
- }
- }
-
- ETH->DMATDLAR = (uint32_t)DMATxDescTab;
- b0c: 400297b7 lui a5,0x40029
- b10: cb88 sw a0,16(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:731
-}
- b12: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
- DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
- b14: 026786b3 mul a3,a5,t1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:717
- DMATxDesc->Status = ETH_DMATxDesc_TCH | ETH_DMATxDesc_IC;
- b18: 01172023 sw a7,0(a4) # 40028000 <_eusrstack+0x20008000>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:718
- DMATxDesc->Buffer1Addr = (uint32_t)(&TxBuff[i * ETH_MAX_PACKET_SIZE]);
- b1c: 882a mv a6,a0
- b1e: 96ae add a3,a3,a1
- b20: c714 sw a3,8(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:720
- if(i < (TxBuffCount - 1))
- b22: 01070693 addi a3,a4,16
- b26: 01c7f363 bgeu a5,t3,b2c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:722
- DMATxDesc->Buffer2NextDescAddr = (uint32_t)(DMATxDescTab + i + 1);
- b2a: 8836 mv a6,a3
- b2c: 01072623 sw a6,12(a4)
- b30: 0785 addi a5,a5,1
- b32: 8736 mv a4,a3
- b34: bfd1 j b08
-
-00000b36 :
-ETH_DMARxDescChainInit():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
-
- for(i = 0; i < RxBuffCount; i++)
- {
- DMARxDesc = DMARxDescTab + i;
- DMARxDesc->Status = ETH_DMARxDesc_OWN;
- DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
- b36: 6691 lui a3,0x4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1040
- DMARxDescToGet = DMARxDescTab;
- b38: 86a1a423 sw a0,-1944(gp) # 20000088
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042
- for(i = 0; i < RxBuffCount; i++)
- b3c: 4701 li a4,0
- b3e: 87aa mv a5,a0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045
- DMARxDesc->Status = ETH_DMARxDesc_OWN;
- b40: 80000337 lui t1,0x80000
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
- DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
- b44: 5f468693 addi a3,a3,1524 # 45f4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
- DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
- b48: 5f400e13 li t3,1524
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049
-
- if(i < (RxBuffCount - 1))
- b4c: fff60e93 addi t4,a2,-1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1042 (discriminator 1)
- for(i = 0; i < RxBuffCount; i++)
- b50: 00c71663 bne a4,a2,b5c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1059
- {
- DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab);
- }
- }
-
- ETH->DMARDLAR = (uint32_t)DMARxDescTab;
- b54: 400297b7 lui a5,0x40029
- b58: c7c8 sw a0,12(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1060
-}
- b5a: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
- DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
- b5c: 03c70833 mul a6,a4,t3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1045
- DMARxDesc->Status = ETH_DMARxDesc_OWN;
- b60: 0067a023 sw t1,0(a5) # 40029000 <_eusrstack+0x20009000>
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1046
- DMARxDesc->ControlBufferSize = ETH_DMARxDesc_RCH | (uint32_t)ETH_MAX_PACKET_SIZE;
- b64: c3d4 sw a3,4(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1047
- DMARxDesc->Buffer1Addr = (uint32_t)(&RxBuff[i * ETH_MAX_PACKET_SIZE]);
- b66: 88aa mv a7,a0
- b68: 982e add a6,a6,a1
- b6a: 0107a423 sw a6,8(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1049
- if(i < (RxBuffCount - 1))
- b6e: 01078813 addi a6,a5,16
- b72: 01d77363 bgeu a4,t4,b78
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1051
- DMARxDesc->Buffer2NextDescAddr = (uint32_t)(DMARxDescTab + i + 1);
- b76: 88c2 mv a7,a6
- b78: 0117a623 sw a7,12(a5)
- b7c: 0705 addi a4,a4,1
- b7e: 87c2 mv a5,a6
- b80: bfc1 j b50
-
-00000b82 :
-ETH_SoftwareReset():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1269
- *
- * @return none
- */
-void ETH_SoftwareReset(void)
-{
- ETH->DMABMR |= ETH_DMABMR_SR;
- b82: 40029737 lui a4,0x40029
- b86: 431c lw a5,0(a4)
- b88: 0017e793 ori a5,a5,1
- b8c: c31c sw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1270
-}
- b8e: 8082 ret
-
-00000b90 :
-ETH_DMAClearITPendingBit():
- b90: 400297b7 lui a5,0x40029
- b94: cbc8 sw a0,20(a5)
- b96: 8082 ret
-
-00000b98 :
-ETH_FlushTransmitFIFO():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1507
- *
- * @return none
- */
-void ETH_FlushTransmitFIFO(void)
-{
- ETH->DMAOMR |= ETH_DMAOMR_FTF;
- b98: 40029737 lui a4,0x40029
- b9c: 4f1c lw a5,24(a4)
- b9e: 001006b7 lui a3,0x100
- ba2: 8fd5 or a5,a5,a3
- ba4: cf1c sw a5,24(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1508
-}
- ba6: 8082 ret
-
-00000ba8 :
-ETH_Start():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:107
-{
- ba8: e48ff2ef jal t0,1f0 <__riscv_save_0>
-ETH_MACTransmissionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:407
- ETH->MACCR |= ETH_MACCR_TE;
- bac: 40028437 lui s0,0x40028
- bb0: 401c lw a5,0(s0)
- bb2: 0087e793 ori a5,a5,8
- bb6: c01c sw a5,0(s0)
-ETH_Start():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:109
- ETH_FlushTransmitFIFO();
- bb8: 37c5 jal b98
-ETH_MACReceptionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
- ETH->MACCR |= ETH_MACCR_RE;
- bba: 401c lw a5,0(s0)
-ETH_DMATransmissionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544
- */
-void ETH_DMATransmissionCmd(FunctionalState NewState)
-{
- if(NewState != DISABLE)
- {
- ETH->DMAOMR |= ETH_DMAOMR_ST;
- bbc: 6689 lui a3,0x2
-ETH_MACReceptionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:428
- ETH->MACCR |= ETH_MACCR_RE;
- bbe: 0047e793 ori a5,a5,4
- bc2: c01c sw a5,0(s0)
-ETH_DMATransmissionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1544
- ETH->DMAOMR |= ETH_DMAOMR_ST;
- bc4: 400297b7 lui a5,0x40029
- bc8: 4f98 lw a4,24(a5)
- bca: 8f55 or a4,a4,a3
- bcc: cf98 sw a4,24(a5)
-ETH_DMAReceptionCmd():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1565
- */
-void ETH_DMAReceptionCmd(FunctionalState NewState)
-{
- if(NewState != DISABLE)
- {
- ETH->DMAOMR |= ETH_DMAOMR_SR;
- bce: 4f98 lw a4,24(a5)
- bd0: 00276713 ori a4,a4,2
- bd4: cf98 sw a4,24(a5)
-ETH_Start():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:113
-}
- bd6: e3eff06f j 214 <__riscv_restore_0>
-
-00000bda :
-ETH_DMAITConfig():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1602
- *
- * @return new state of the specified ETHERNET DMA interrupts.
- */
-void ETH_DMAITConfig(uint32_t ETH_DMA_IT, FunctionalState NewState)
-{
- if(NewState != DISABLE)
- bda: c599 beqz a1,be8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1604
- {
- ETH->DMAIER |= ETH_DMA_IT;
- bdc: 40029737 lui a4,0x40029
- be0: 4f5c lw a5,28(a4)
- be2: 8d5d or a0,a0,a5
- be4: cf48 sw a0,28(a4)
- be6: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1608
- }
- else
- {
- ETH->DMAIER &= (~(uint32_t)ETH_DMA_IT);
- be8: 400297b7 lui a5,0x40029
- bec: 4fd8 lw a4,28(a5)
- bee: fff54513 not a0,a0
- bf2: 8d79 and a0,a0,a4
- bf4: cfc8 sw a0,28(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:1610
- }
-}
- bf6: 8082 ret
-
-00000bf8 :
-RGMII_TXC_Delay():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513
- */
-void RGMII_TXC_Delay(uint8_t clock_polarity, uint8_t delay_time)
-{
- if(clock_polarity)
- {
- ETH->MACCR |= (uint32_t)(1 << 1);
- bf8: 40028737 lui a4,0x40028
- bfc: 431c lw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2511
- if(clock_polarity)
- bfe: c115 beqz a0,c22
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2513
- ETH->MACCR |= (uint32_t)(1 << 1);
- c00: 0027e793 ori a5,a5,2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517
- }
- else
- {
- ETH->MACCR &= ~(uint32_t)(1 << 1);
- c04: c31c sw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2519
- }
- if(delay_time <= 7)
- c06: 479d li a5,7
- c08: 00b7ec63 bltu a5,a1,c20
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521
- {
- ETH->MACCR &= ~(uint32_t)(7 << 29);
- c0c: 40028737 lui a4,0x40028
- c10: 431c lw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522
- ETH->MACCR |= (uint32_t)(delay_time << 29);
- c12: 05f6 slli a1,a1,0x1d
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2521
- ETH->MACCR &= ~(uint32_t)(7 << 29);
- c14: 078e slli a5,a5,0x3
- c16: 838d srli a5,a5,0x3
- c18: c31c sw a5,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2522
- ETH->MACCR |= (uint32_t)(delay_time << 29);
- c1a: 431c lw a5,0(a4)
- c1c: 8ddd or a1,a1,a5
- c1e: c30c sw a1,0(a4)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2524
- }
-}
- c20: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_eth.c:2517
- ETH->MACCR &= ~(uint32_t)(1 << 1);
- c22: 9bf5 andi a5,a5,-3
- c24: b7c5 j c04
-
-00000c26 :
-EXTI_ClearITPendingBit():
- c26: 400107b7 lui a5,0x40010
- c2a: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x1fff0414>
- c2e: 8082 ret
-
-00000c30 :
-GPIO_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90
-void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)
-{
- uint32_t currentmode = 0x00, currentpin = 0x00, pinpos = 0x00, pos = 0x00;
- uint32_t tmpreg = 0x00, pinmask = 0x00;
-
- currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);
- c30: 459c lw a5,8(a1)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92
-
- if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00)
- c32: 0107f713 andi a4,a5,16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:90
- currentmode = ((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);
- c36: 00f7f813 andi a6,a5,15
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:92
- if((((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00)
- c3a: c701 beqz a4,c42
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:94
- {
- currentmode |= (uint32_t)GPIO_InitStruct->GPIO_Speed;
- c3c: 41d8 lw a4,4(a1)
- c3e: 00e86833 or a6,a6,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:97
- }
-
- if(((uint32_t)GPIO_InitStruct->GPIO_Pin & ((uint32_t)0x00FF)) != 0x00)
- c42: 218e lhu a1,0(a1)
- c44: 0ff5f713 andi a4,a1,255
- c48: c339 beqz a4,c8e
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:99
- {
- tmpreg = GPIOx->CFGLR;
- c4a: 4118 lw a4,0(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101
-
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- c4c: 4681 li a3,0
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103
- {
- pos = ((uint32_t)0x01) << pinpos;
- c4e: 4e85 li t4,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109
- currentpin = (GPIO_InitStruct->GPIO_Pin) & pos;
-
- if(currentpin == pos)
- {
- pos = pinpos << 2;
- pinmask = ((uint32_t)0x0F) << pos;
- c50: 4f3d li t5,15
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113
- tmpreg &= ~pinmask;
- tmpreg |= (currentmode << pos);
-
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
- c52: 02800f93 li t6,40
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119
- {
- GPIOx->BCR = (((uint32_t)0x01) << pinpos);
- }
- else
- {
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
- c56: 04800293 li t0,72
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- c5a: 4e21 li t3,8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:103
- pos = ((uint32_t)0x01) << pinpos;
- c5c: 00de9633 sll a2,t4,a3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:104
- currentpin = (GPIO_InitStruct->GPIO_Pin) & pos;
- c60: 00c5f8b3 and a7,a1,a2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:106
- if(currentpin == pos)
- c64: 03161163 bne a2,a7,c86
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:108
- pos = pinpos << 2;
- c68: 00269893 slli a7,a3,0x2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:109
- pinmask = ((uint32_t)0x0F) << pos;
- c6c: 011f1333 sll t1,t5,a7
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:110
- tmpreg &= ~pinmask;
- c70: fff34313 not t1,t1
- c74: 00e37733 and a4,t1,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:111
- tmpreg |= (currentmode << pos);
- c78: 011818b3 sll a7,a6,a7
- c7c: 00e8e733 or a4,a7,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:113
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
- c80: 05f79f63 bne a5,t6,cde
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:115
- GPIOx->BCR = (((uint32_t)0x01) << pinpos);
- c84: c950 sw a2,20(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:101 (discriminator 2)
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- c86: 0685 addi a3,a3,1
- c88: fdc69ae3 bne a3,t3,c5c
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:126
- GPIOx->BSHR = (((uint32_t)0x01) << pinpos);
- }
- }
- }
- }
- GPIOx->CFGLR = tmpreg;
- c8c: c118 sw a4,0(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:129
- }
-
- if(GPIO_InitStruct->GPIO_Pin > 0x00FF)
- c8e: 0ff00713 li a4,255
- c92: 04b77563 bgeu a4,a1,cdc
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:131
- {
- tmpreg = GPIOx->CFGHR;
- c96: 4154 lw a3,4(a0)
- c98: 4621 li a2,8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135
-
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- {
- pos = (((uint32_t)0x01) << (pinpos + 0x08));
- c9a: 4e85 li t4,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141
- currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos);
-
- if(currentpin == pos)
- {
- pos = pinpos << 2;
- pinmask = ((uint32_t)0x0F) << pos;
- c9c: 4f3d li t5,15
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145
- tmpreg &= ~pinmask;
- tmpreg |= (currentmode << pos);
-
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
- c9e: 02800f93 li t6,40
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
- {
- GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08));
- }
-
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
- ca2: 04800293 li t0,72
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- ca6: 4e41 li t3,16
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:135
- pos = (((uint32_t)0x01) << (pinpos + 0x08));
- ca8: 00ce98b3 sll a7,t4,a2
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:136
- currentpin = ((GPIO_InitStruct->GPIO_Pin) & pos);
- cac: 0115f733 and a4,a1,a7
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:138
- if(currentpin == pos)
- cb0: 02e89263 bne a7,a4,cd4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:140
- pos = pinpos << 2;
- cb4: 00261713 slli a4,a2,0x2
- cb8: 1701 addi a4,a4,-32
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:141
- pinmask = ((uint32_t)0x0F) << pos;
- cba: 00ef1333 sll t1,t5,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:142
- tmpreg &= ~pinmask;
- cbe: fff34313 not t1,t1
- cc2: 00d376b3 and a3,t1,a3
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:143
- tmpreg |= (currentmode << pos);
- cc6: 00e81733 sll a4,a6,a4
- cca: 8ed9 or a3,a3,a4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:145
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPD)
- ccc: 01f79d63 bne a5,t6,ce6
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:147
- GPIOx->BCR = (((uint32_t)0x01) << (pinpos + 0x08));
- cd0: 01152a23 sw a7,20(a0) # 4014
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
- cd4: 0605 addi a2,a2,1
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:133 (discriminator 2)
- for(pinpos = 0x00; pinpos < 0x08; pinpos++)
- cd6: fdc619e3 bne a2,t3,ca8
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:156
- {
- GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08));
- }
- }
- }
- GPIOx->CFGHR = tmpreg;
- cda: c154 sw a3,4(a0)
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:158
- }
-}
- cdc: 8082 ret
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:119
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
- cde: fa5794e3 bne a5,t0,c86
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:121
- GPIOx->BSHR = (((uint32_t)0x01) << pinpos);
- ce2: c910 sw a2,16(a0)
- ce4: b74d j c86
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:150
- if(GPIO_InitStruct->GPIO_Mode == GPIO_Mode_IPU)
- ce6: fe5797e3 bne a5,t0,cd4
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_gpio.c:152
- GPIOx->BSHR = (((uint32_t)0x01) << (pinpos + 0x08));
- cea: 01152823 sw a7,16(a0)
- cee: b7dd j cd4
-
-00000cf0 :
-NVIC_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:80
- {
- NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 7) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5));
- }
- }
-#elif (INTSYSCR_INEST == INTSYSCR_INEST_EN_4Level)
- if(NVIC_Priority_Group == NVIC_PriorityGroup_2)
- cf0: 8701a703 lw a4,-1936(gp) # 20000090
- cf4: 4789 li a5,2
- cf6: 2110 lbu a2,0(a0)
- cf8: 02f71163 bne a4,a5,d1a
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:82
- {
- if(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority < 4)
- cfc: 3114 lbu a3,1(a0)
- cfe: 478d li a5,3
- d00: 00d7ed63 bltu a5,a3,d1a
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84
- {
- NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 6) | (NVIC_InitStruct->NVIC_IRQChannelSubPriority << 5));
- d04: 213c lbu a5,2(a0)
- d06: 069a slli a3,a3,0x6
-NVIC_SetPriority():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:286
- NVIC->IPRIOR[(uint32_t)(IRQn)] = priority;
- d08: e000e737 lui a4,0xe000e
-NVIC_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:84
- d0c: 0796 slli a5,a5,0x5
- d0e: 8fd5 or a5,a5,a3
- d10: 0ff7f793 andi a5,a5,255
-NVIC_SetPriority():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:286
- d14: 9732 add a4,a4,a2
- d16: 40f70023 sb a5,1024(a4) # e000e400 <_eusrstack+0xbffee400>
-NVIC_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:97
- NVIC_SetPriority(NVIC_InitStruct->NVIC_IRQChannel, (NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << 5) );
- }
- }
-#endif
-
- if(NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
- d1a: 4154 lw a3,4(a0)
- d1c: 4705 li a4,1
- d1e: 00565793 srli a5,a2,0x5
- d22: 00c71733 sll a4,a4,a2
- d26: ca89 beqz a3,d38
-NVIC_EnableIRQ():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:170
- NVIC->IENR[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
- d28: 04078793 addi a5,a5,64
- d2c: 078a slli a5,a5,0x2
- d2e: e000e6b7 lui a3,0xe000e
- d32: 97b6 add a5,a5,a3
- d34: c398 sw a4,0(a5)
- d36: 8082 ret
-NVIC_DisableIRQ():
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:184
- NVIC->IRER[((uint32_t)(IRQn) >> 5)] = (1 << ((uint32_t)(IRQn) & 0x1F));
- d38: 06078793 addi a5,a5,96
- d3c: e000e6b7 lui a3,0xe000e
- d40: 078a slli a5,a5,0x2
- d42: 97b6 add a5,a5,a3
- d44: c398 sw a4,0(a5)
-D:\zj\Project_Ch32v307\prj\TCPClient\Core/core_riscv.h:185
- __asm volatile ("fence.i");
- d46: 0000100f fence.i
-NVIC_Init():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_misc.c:105
- }
- else
- {
- NVIC_DisableIRQ(NVIC_InitStruct->NVIC_IRQChannel);
- }
-}
- d4a: 8082 ret
-
-00000d4c :
-RCC_GetClocksFreq():
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:585
-#ifdef CH32V30x_D8C
- uint8_t Pll2mull = 0;
-
-#endif
-
- tmp = RCC->CFGR0 & CFGR0_SWS_Mask;
- d4c: 40021737 lui a4,0x40021
- d50: 435c lw a5,4(a4)
- d52: 4691 li a3,4
- d54: 8bb1 andi a5,a5,12
-D:\zj\Project_Ch32v307\prj\TCPClient\obj/../Peripheral/src/ch32v30x_rcc.c:587
-
- switch(tmp)
- d56: 00d78563 beq a5,a3,d60