fix:修改芯片时钟初始化函数

This commit is contained in:
caocong
2026-02-10 17:48:22 +08:00
parent 5e9338cee4
commit bba63c4763
47 changed files with 460 additions and 36434 deletions

View File

@@ -62,7 +62,7 @@
<option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.mrs.pipe.289879429" name="pipelines to replace temporary files (-pipe)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.mrs.pipe" useByScannerDiscovery="true" value="false" valueType="boolean"/>
<option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.mrs.asmsoftlib.344969940" name="Code generation library that does not use floating-point variables for compatibility with hardware floating-point extensions (-Xassembler -wchsoftlib)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.optimization.mrs.asmsoftlib" useByScannerDiscovery="true" value="false" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform.1944008784" isAbstract="false" osList="all" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.targetPlatform"/>
<builder buildPath="${workspace_loc:/${ProjName}}/obj" id="ilg.gnumcueclipse.managedbuild.cross.riscv.builder.1421508906" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.builder"/>
<builder buildPath="${workspace_loc:/${ProjName}}/obj" id="ilg.gnumcueclipse.managedbuild.cross.riscv.builder.1421508906" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="unlimited" stopOnErr="false" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.builder"/>
<tool id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler.1244756189" name="GNU RISC-V Cross Assembler" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.assembler">
<option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor.1692176068" name="Use preprocessor" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.usepreprocessor" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.include.paths.1034038285" name="Include paths (-I)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.assembler.include.paths" useByScannerDiscovery="true" valueType="includePath">
@@ -80,7 +80,7 @@
</option>
<option id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std.2020844713" name="Language standard" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std" useByScannerDiscovery="true" value="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.std.gnu99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.defs.177116515" name="Defined symbols (-D)" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.option.c.compiler.defs" useByScannerDiscovery="true" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG=1"/>
<listOptionValue builtIn="false" value="DEBUG=2"/>
</option>
<inputType id="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input.2036806839" superClass="ilg.gnumcueclipse.managedbuild.cross.riscv.tool.c.compiler.input"/>
</tool>
@@ -165,5 +165,9 @@
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="obj">
<resource resourceType="PROJECT" workspacePath="/BLV_C1P_Bootload"/>
</configuration>
</storageModule>
</cproject>

View File

@@ -5,7 +5,7 @@
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1165963439095783164" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1175651459710366677" id="ilg.gnumcueclipse.managedbuild.cross.riscv.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT RISC-V Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>

View File

@@ -0,0 +1,73 @@
eclipse.preferences.version=1
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
org.eclipse.cdt.codan.checkers.nocommentinside=-Error
org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
org.eclipse.cdt.codan.checkers.nolinecomment=-Error
org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
org.eclipse.cdt.codan.checkers.noreturn=Error
org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error
org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}

View File

@@ -0,0 +1,3 @@
eclipse.preferences.version=1
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1008047074/append=true
environment/project/ilg.gnumcueclipse.managedbuild.cross.riscv.config.elf.release.1008047074/appendContributed=true

View File

@@ -1,145 +0,0 @@
:080000006F00300B000000004E
:1000080001000100010001000100010001000100E0
:1000180001000100010001000100010001000100D0
:10002800010001008280EF02B003B7074040411190
:10003800238D070037B9030002C61309F99737045F
:1000480040409D49154AB2476376F900054541018C
:100058006F005004230D34016537230C44014D37DC
:100068001C2C793F1C2C93F4F70F593F93F714007D
:10007800230D040089C7B24785073EC6E9B7014585
:10008800F9B7EF02E07D2A84AE84713F85472A895B
:100098006305F50413DA040193D98400AD47937A14
:1000A800F40F137AFA0F93F9F90F93F4F40F630628
:1000B800F400930780046315F402370440409D4719
:1000C8003CAC3D3F230C5401253F230C44010D3F1C
:1000D800230C3401353704AC25374A856F00807B03
:1000E800370440400D4B230D6401193F99471CAC60
:1000F800013F230D04002937230D6401D9B7EF020E
:10010800C0770547AA87638DE5000947638EE50038
:10011800014589E5BE8513050002A5376F002078E3
:10012800AA8513052005D5BFAA851305800DF5B747
:10013800EF022072937BF50F130900103309794100
:100148002A8A2E84328BAA8509456361C902153F24
:10015800AA8A229BB704404063158B0056856F001E
:10016800C0721C2005049CAC613DFDB7193FAA8AEA
:100178002299B70440401C2005049CAC5135E31C6F
:1001880024FF93090BF0DE9913040A103304744119
:1001980093D989008144B70B404063E934033304A1
:1001A8006A01937504F00945E93DB3EAAA00814460
:1001B8001374F40FB7094040E3F284FAB3079900C7
:1001C8009C238504238CF900253DFDB79395840075
:1001D800A29509457D35B3EAAA00130C0910834797
:1001E80009000509238CFB00213DE31A89FFE397E9
:1001F8000AF68504C204C1804DB7EF026066AE847A
:10020800AA852D453284B7094040A53D83C7890199
:100218002A89FD3383C78901A294DD3363159400CD
:100228004A856F00206783C789010504A30FF4FE80
:10023800C13BEDB7EF02C062AE84AA851305800406
:100248003284B7094040353D83C789012A894D3B2F
:1002580083C78901A2946D3383C789010504A30F5D
:10026800F4FE793BE31A94FE4A852DA5EF02605E01
:1002780041118567131415003EC2A167330AB40003
:100288003EC4C167AA8A13541A003EC654000149E5
:100298003306AA409C423357F4023307F7026365DA
:1002A8005701BA976374F606630509007D19137937
:1002B800F90F2285CA85A13593172900C1078A97A6
:1002C80083A947FFE177AA8433543403A16B33042D
:1002D8003403A2993E94330B7401631E090263EA46
:1002E8006A05216BB30A5A414E9B568A630B09046F
:1002F800216963E86A0585454E851135C98CB307C0
:100308002B018DE4DA89D28A3E8BE5B7050991067F
:100318001379F90F41B7E3647BFDE36254FD22854D
:100328008545F13BC98C33047441D5D426854101F8
:10033800A9ABFD773E9BDA85130500029933C98C7A
:1003480079BF0569E3F459FFCE8513050002338AA6
:100358002901053BC98CD289F5B7B70700201307D7
:10036800A0052380E7008280B707002023800700CC
:100378008280EF02805041112A840D653000A1452A
:100388001305C50C453D1C87AA841CA09C871CB07E
:100398001C843CA09C843CB01C855CA09C855CB003
:1003A8005931458D4101E5A9EF02204D41112A84BB
:1003B8000D653000A1451305C50CAD3D1C87AA8409
:1003C8001CA09C871CB01C843CA09C843CB01C8551
:1003D8005CA09C855CB01C867CA09C867CB0A1310E
:1003E800458D41016DA9EF0240492A842A860D6591
:1003F8009145130545093D3D1C203830AA843CB081
:1004080018A01C3038203CA018B03139458D41A9BE
:10041800EF02A0464111AA840D651306F100854537
:100428001D05093D9C872A841307000A93F70702D4
:1004380081C71307100A8547B70600209CA0A38030
:10044800E600D536418D410199A9B707002003C7B9
:1004580007009307A0056316F706EF0260404111F5
:1004680085647000914513854400E9331C861307A1
:10047800500F2A846393E70498866310F7041C8757
:10048800639DE7029887631AF702B7B75AA593875F
:1004980057A593854400130520043EC6DD362A84FB
:1004A8008144B709404011497C00A6979C238504E4
:1004B800238CF900B136E39924FFB536418D41010B
:1004C800D1AE11458280EF02403B370440408D4752
:1004D8003CAC3D36930790FB1CAC1D36230D040045
:1004E8007DAEEF028039370440408D473CAC093E71
:1004F8009307B0FA1CAC2936230D04004DA6EF0271
:10050800C0373709002083471900AE8401112A84B7
:10051800B2859DCB834719001307100A639EE70233
:10052800B707F9FFB306F40021670D4563F4E60247
:10053800FD17AE97A29763FFE700268622857539D7
:100548002A84D534418D39A01305F10132C6C93545
:10055800B24569D10561A1A61307000AE39FE7FC2C
:10056800B707FDFFC1B7EF024031B704002083C7CA
:10057800140001112A84B9C783C714001307100A8D
:10058800639AE704B367B400D2070D45B1E3B70730
:10059800F9FFB306F400216763FCE602FD17AE9786
:1005A800A29763F7E702B707002003C7070093077E
:1005B800A0051145631EF70022854D392A84A5340C
:1005C800418D39A01305F1012EC69935B2454DD597
:1005D8000561F1A41307000AE397E7FCB367B400C9
:1005E800D2070D45F5F7B707FDFF65B7EF02E0281D
:1005F800B704002083C7140001112A84A1C783C748
:1006080014001307100A6399E704B707F9FFB30644
:10061800F40021670D4563FFE602FD17B297A29724
:1006280063FAE702B707002003C707009307A0058E
:1006380011456311F7022285E53C2A84EFF0BF9E3D
:10064800418D09A81305F10132C62EC4D133A24544
:10065800324655D50561A1A41307000AE394E7FCC7
:10066800B707FDFF6DB7EF024021B704002083C72D
:10067800140001112A84A9C783C714001307100A9C
:100688006398E704B367B400D2070D45370707003E
:1006980095EF637DE4029387F5FFA29763F8E7027D
:1006A800B707002003C707009307A0051145631F7C
:1006B800F7002285653E2A84EFF0FF96418D39A028
:1006C8001305F1012EC6A933B2455DD50561C1AA4E
:1006D8001307000AE396E7FCB367B400D2070D4599
:1006E800F5F73707030075B7EF022019B7040020A4
:1006F80083C7140001112A84B1C383C714001307E8
:10070800100A6397E704370707000D456370E40490
:100718009307F6FFA29763FBE702B707002003C71A
:1007280007009307A00511456312F7022285EFF031
:100738003FA02A84EFF03F8F418D09A81305F101EE
:1007480032C62EC4F131A245324645D9056181AA87
:100758001307000AE393E7FC370703007DB7EF02AE
:100768002010B709002083C7190041112A89AE84D7
:10077800328485CF83C719001307100A639DE702E7
:10078800370707000D456376E9029307F4FFCA9718
:1007980063F1E702B3898400330999400144639304
:1007A8009902EFF05F88418D29A01305E1008D3192
:1007B80071D14101C5A01307000AE39DE7FC370783
:1007C8000300C9B71306F100854533852401EFF00E
:1007D800DFA298209C872A846305F700136525000B
:1007E800C9BF85046DBFEF02A007B709002083C702
:1007F800190041112A842E89B2849DCB83C7190020
:100808001307100A639CE702370707000D45637555
:10081800E4029387F4FFA29763F0E7024A86A6856D
:100828002285EFF09F9D2A84EFF0EFFF418D29A0EC
:100838001305F100F13E79D14101A9A81307000A77
:10084800E39EE7FC37070300D1B7397101436EC651
:1008580019A0397141536AC866CA62CC5ECE19A024
:10086800397101535AD056D252D44ED64AD826DAC4
:1008780022DC06DE33016140828241114AC026C271
:1008880022C406C68282B24D4101024D924C224CCE
:10089800B24B4101024B924A224AB24941010249F4
:1008A80092442244B2404101828097010020938102
:1008B800E1F417F100201301617437850600B705CC
:1008C80000203786002063FAC5008322050023A094
:1008D800550011059105E3EAC5FEFD42739002BC7F
:0808E800370500206700050040
:00000001FF

View File

@@ -1,896 +0,0 @@
:020000040000FA
:100000006F00300B00000000010001000100010042
:1000100001000100010001000100010001000100D8
:100020000100010001000100010001008280EF02D7
:10003000B003B70740404111238D070037B90300D3
:1000400002C61309F997370440409D49154AB24743
:100050006376F900054541016F005004230D34011A
:100060006537230C44014D371C2C793F1C2C93F42D
:10007000F70F593F93F71400230D040089C7B247C7
:1000800085073EC6E9B70145F9B7EF02E07D2A844E
:10009000AE84713F85472A896305F50413DA0401AC
:1000A00093D98400AD47937AF40F137AFA0F93F93A
:1000B000F90F93F4F40F6306F400930780046315BB
:1000C000F402370440409D473CAC3D3F230C5401B3
:1000D000253F230C44010D3F230C3401353704AC7C
:1000E00025374A856F00807B370440400D4B230D38
:1000F0006401193F99471CAC013F230D04002937C7
:10010000230D6401D9B7EF02C0770547AA87638D35
:10011000E5000947638EE500014589E5BE851305C5
:100120000002A5376F002078AA8513052005D5BFEA
:10013000AA851305800DF5B7EF022072937BF50FAA
:1001400013090010330979412A8A2E84328BAA853B
:1001500009456361C902153FAA8A229BB704404042
:1001600063158B0056856F00C0721C2005049CAC83
:10017000613DFDB7193FAA8A2299B70440401C206F
:1001800005049CAC5135E31C24FF93090BF0DE9968
:1001900013040A103304744193D989008144B70BC6
:1001A000404063E9340333046A01937504F0094560
:1001B000E93DB3EAAA0081441374F40FB709404043
:1001C000E3F284FAB30799009C238504238CF90099
:1001D000253DFDB793958400A29509457D35B3EA89
:1001E000AA00130C0910834709000509238CFB00A2
:1001F000213DE31A89FFE3970AF68504C204C18012
:100200004DB7EF026066AE84AA852D453284B709EA
:100210004040A53D83C789012A89FD3383C78901F1
:10022000A294DD33631594004A856F00206783C76D
:1002300089010504A30FF4FEC13BEDB7EF02C062D4
:10024000AE84AA85130580043284B7094040353D49
:1002500083C789012A894D3B83C78901A2946D33E5
:1002600083C789010504A30FF4FE793BE31A94FECA
:100270004A852DA5EF02605E4111856713141500B4
:100280003EC2A167330AB4003EC4C167AA8A1354B0
:100290001A003EC6540001493306AA409C42335717
:1002A000F4023307F70263655701BA976374F606E1
:1002B000630509007D191379F90F2285CA85A135D7
:1002C00093172900C1078A9783A947FFE177AA847A
:1002D00033543403A16B33043403A2993E94330B9B
:1002E0007401631E090263EA6A05216BB30A5A416D
:1002F0004E9B568A630B0904216963E86A058545AC
:100300004E851135C98CB3072B018DE4DA89D28A69
:100310003E8BE5B7050991061379F90F41B7E36400
:100320007BFDE36254FD22858545F13BC98C330496
:100330007441D5D426854101A9ABFD773E9BDA8572
:10034000130500029933C98C79BF0569E3F459FF9D
:10035000CE8513050002338A2901053BC98CD28959
:10036000F5B7B70700201307A0052380E7008280B8
:10037000B7070020238007008280EF0280504111E0
:100380002A840D653000A1451305C50C453D1C8729
:10039000AA841CA09C871CB01C843CA09C843CB0FC
:1003A0001C855CA09C855CB05931458D4101E5A957
:1003B000EF02204D41112A840D653000A14513053F
:1003C000C50CAD3D1C87AA841CA09C871CB01C8456
:1003D0003CA09C843CB01C855CA09C855CB01C86C9
:1003E0007CA09C867CB0A131458D41016DA9EF02B6
:1003F00040492A842A860D659145130545093D3DEE
:100400001C203830AA843CB018A01C3038203CA0F6
:1004100018B03139458D41A9EF02A0464111AA8497
:100420000D651306F10085451D05093D9C872A844D
:100430001307000A93F7070281C71307100A8547BD
:10044000B70600209CA0A380E600D536418D41016F
:1004500099A9B707002003C707009307A0056316F3
:10046000F706EF02604041118564700091451385E5
:100470004400E9331C861307500F2A846393E70472
:1004800098866310F7041C87639DE7029887631AB8
:10049000F702B7B75AA5938757A59385440013056C
:1004A00020043EC6DD362A848144B7094040114904
:1004B0007C00A6979C238504238CF900B136E39930
:1004C00024FFB536418D4101D1AE11458280EF0246
:1004D000403B370440408D473CAC3D36930790FB92
:1004E0001CAC1D36230D04007DAEEF0280393704AD
:1004F00040408D473CAC093E9307B0FA1CAC29360E
:10050000230D04004DA6EF02C037370900208347B2
:100510001900AE8401112A84B2859DCB834719004E
:100520001307100A639EE702B707F9FFB306F4004A
:1005300021670D4563F4E602FD17AE97A29763FFAE
:10054000E7002686228575392A84D534418D39A065
:100550001305F10132C6C935B24569D10561A1A6BD
:100560001307000AE39FE7FCB707FDFFC1B7EF02DF
:100570004031B704002083C7140001112A84B9C791
:1005800083C714001307100A639AE704B367B40023
:10059000D2070D45B1E3B707F9FFB306F4002167B1
:1005A00063FCE602FD17AE97A29763F7E702B70771
:1005B000002003C707009307A0051145631EF7003D
:1005C00022854D392A84A534418D39A01305F101C6
:1005D0002EC69935B2454DD50561F1A41307000A21
:1005E000E397E7FCB367B400D2070D45F5F7B7070B
:1005F000FDFF65B7EF02E028B704002083C71400B1
:1006000001112A84A1C783C714001307100A639934
:10061000E704B707F9FFB306F40021670D4563FF50
:10062000E602FD17B297A29763FAE702B707002028
:1006300003C707009307A00511456311F702228540
:10064000E53C2A84EFF0BF9E418D09A81305F10116
:1006500032C62EC4D133A245324655D50561A1A478
:100660001307000AE394E7FCB707FDFF6DB7EF023D
:100670004021B704002083C7140001112A84A9C7B0
:1006800083C714001307100A6398E704B367B40024
:10069000D2070D453707070095EF637DE402938786
:1006A000F5FFA29763F8E702B707002003C707002A
:1006B0009307A0051145631FF7002285653E2A8434
:1006C000EFF0FF96418D39A01305F1012EC6A93335
:1006D000B2455DD50561C1AA1307000AE396E7FCA0
:1006E000B367B400D2070D45F5F73707030075B7B8
:1006F000EF022019B704002083C7140001112A84D7
:10070000B1C383C714001307100A6397E7043707C0
:1007100007000D456370E4049307F6FFA29763FB9F
:10072000E702B707002003C707009307A00511459C
:100730006312F7022285EFF03FA02A84EFF03F8F8B
:10074000418D09A81305F10132C62EC4F131A2452D
:10075000324645D9056181AA1307000AE393E7FCF5
:10076000370703007DB7EF022010B709002083C7C9
:10077000190041112A89AE84328485CF83C71900BC
:100780001307100A639DE702370707000D456376DC
:10079000E9029307F4FFCA9763F1E702B389840083
:1007A00033099940014463939902EFF05F88418DCA
:1007B00029A01305E1008D3171D14101C5A01307B6
:1007C000000AE39DE7FC37070300C9B71306F100F1
:1007D000854533852401EFF0DFA298209C872A8489
:1007E0006305F70013652500C9BF85046DBFEF02DF
:1007F000A007B709002083C7190041112A842E8958
:10080000B2849DCB83C719001307100A639CE702CB
:10081000370707000D456375E4029387F4FFA2973D
:1008200063F0E7024A86A6852285EFF09F9D2A8421
:10083000EFF0EFFF418D29A01305F100F13E79D1D2
:100840004101A9A81307000AE39EE7FC370703004C
:10085000D1B7397101436EC619A0397141536AC8C5
:1008600066CA62CC5ECE19A0397101535AD056D2F5
:1008700052D44ED64AD826DA22DC06DE3301614055
:10088000828241114AC026C222C406C68282B24D6B
:100890004101024D924C224CB24B4101024B924A13
:1008A000224AB2494101024992442244B2404101E4
:1008B0008280970100209381E1F417F10020130159
:1008C00061745165B70500203756002063FAC500F2
:1008D0008322050023A0550011059105E3EAC5FE1A
:1008E000FD42739002BC3705002067000500000040
:020000040001F9
:104000006F105009000000000000002000000000B8
:10401000A2090020A40900200000006092180020DE
:1040200000000000000000009218002092180020FC
:1040300000000000000000009218002000000000B6
:10404000A60900200000000092180020921800200D
:104050009218002092180020921800209218002038
:104060009218002092180020921800209218002028
:104070009218002092180020921800209218002018
:104080009218002092180020921800209218002008
:10409000860B002092180020921800209218002011
:1040A00092180020921800201305800873100580D4
:1040B00037F500E0130535D1930500080F00F00F28
:1040C0002300B5002300B5002300B5002300B50090
:1040D0002300B5002300B5002300B5002300B50080
:1040E0002300B5002300B5002300B5002300B50070
:1040F0002300B5002300B5002300B5002300B50060
:104100002300B5002300B5002300B5002300B5004F
:104110002300B5002300B5002300B5002300B5003F
:104120000100010001000100010001000100010087
:104130000100010001000100010001000100010077
:10414000010001008280EF02C07FB70740404111AB
:10415000238D070037B9030002C61309F997370406
:1041600040409D49154AB2476376F9000545410133
:104170006F007000230D34016537230C44014D3767
:104180001C2C793F1C2C93F4F70F593F93F7140024
:10419000230D040089C7B24785073EC6E9B701452C
:1041A000F9B7EF02007A2A84AE84713F85472A89E5
:1041B0006305F50413DA040193D98400AD47937ABB
:1041C000F40F137AFA0F93F9F90F93F4F40F6306CF
:1041D000F400930780046315F402370440409D47C0
:1041E0003CAC3D3F230C5401253F230C44010D3FC3
:1041F000230C3401353704AC25374A856F00A0778E
:10420000370440400D4B230D6401193F99471CAC06
:10421000013F230D04002937230D6401D9B7EF02B4
:10422000E0730547AA87638DE5000947638EE500C3
:10423000014589E5BE8513050002A5376F0040746E
:10424000AA8513052005D5BFAA851305800DF5B7EE
:10425000EF02406E937BF50F13090010330979418B
:104260002A8A2E84328BAA8509456361C902153FCB
:10427000AA8A229BB704404063158B0056856F00C5
:10428000E06E1C2005049CAC613DFDB7193FAA8A75
:104290002299B70440401C2005049CAC5135E31C16
:1042A00024FF93090BF0DE9913040A1033047441C0
:1042B00093D989008144B70B404063E93403330448
:1042C0006A01937504F00945E93DB3EAAA00814407
:1042D0001374F40FB7094040E3F284FAB30799006E
:1042E0009C238504238CF900253DFDB7939584001C
:1042F000A29509457D35B3EAAA00130C091083473E
:1043000009000509238CFB00213DE31A89FFE3978F
:104310000AF68504C204C1804DB7EF028062AE8404
:10432000AA852D453284B7094040A53D83C7890140
:104330002A89FD3383C78901A294DD336315940074
:104340004A856F00406383C789010504A30FF4FE0B
:10435000C13BEDB7EF02E05EAE84AA851305800491
:104360003284B7094040353D83C789012A894D3BD6
:1043700083C78901A2946D3383C789010504A30F04
:10438000F4FE793BE31A94FE4A85F5A3EF02805AC6
:1043900041118567131415003EC2A167330AB400AA
:1043A0003EC4C167AA8A13541A003EC6540001498C
:1043B0003306AA409C423357F4023307F702636581
:1043C0005701BA976374F606630509007D191379DE
:1043D000F90F2285CA85A13593172900C1078A974D
:1043E00083A947FFE177AA8433543403A16B3304D4
:1043F0003403A2993E94330B7401631E090263EAED
:104400006A05216BB30A5A414E9B568A630B090415
:10441000216963E86A0585454E851135C98CB30766
:104420002B018DE4DA89D28A3E8BE5B70509910626
:104430001379F90F41B7E3647BFDE36254FD2285F4
:104440008545F13BC98C33047441D5D4268541019F
:1044500031ABFD773E9BDA85130500029933C98C99
:1044600079BF0569E3F459FFCE8513050002338A4D
:104470002901053BC98CD289F5B71307A005A38C88
:10448000E1828280A38C01828280EF02204D411163
:104490002A840D653000A1451305C50C653D1C87B8
:1044A000AA841CA09C871CB01C843CA09C843CB0AB
:1044B0001C855CA09C855CB07931458D4101C9A10A
:1044C000EF02C04941112A840D653000A145130552
:1044D000C50C49351C87AA841CA09C871CB01C8471
:1044E0003CA09C843CB01C855CA09C855CB01C8678
:1044F0007CA09C867CB08139458D410151A1EF02A1
:10450000E0452A842A860D659145130545099935AC
:104510001C203830AA843CB018A01C3038203CA0A5
:1045200018B01531458DA9A9EF0240434111AA8465
:104530000D651306F10085451D05293D9C872A84DC
:104540001307000A93F7070281C71307100A85476C
:104550009CA0238DE182C53E418D410115A103C779
:1045600091839307A0056316F706EF02803D411182
:1045700085647000914513854400E93B1C86130750
:10458000500F2A846393E70498866310F7041C870E
:10459000639DE7029887631AF702B7B75AA5938716
:1045A00057A593854400130520043EC6DD3E2A84AA
:1045B0008144B709404011497C00A6979C2385049B
:1045C000238CF900B13EE39924FFB53E418D4101B2
:1045D0005DA611458280EF026038370440408D4768
:1045E0003CAC3D3E930790FB1CAC1D3E230D0400EC
:1045F00041AEEF02A036370440408D473CAC0D364B
:104600009307B0FA1CAC293E230D040095AEEF02CF
:10461000E03483C7A183AE8401112A84B2859DCB87
:1046200083C7A1831307100A639EE702B707F9FF48
:10463000B306F40021670D4563F4E602FD17AE975B
:10464000A29763FFE70026862285C1392A84E53CCC
:10465000418D39A01305F10132C6F935B24569D152
:10466000056139AE1307000AE39FE7FCB707FDFFBA
:10467000C1B7EF02A02E83C7A18301112A84A9C765
:1046800083C7A1831307100A6398E704B367B400D4
:10469000D2070D45A1E3B707F9FFB306F400216780
:1046A00063FAE602FD17AE97A29763F5E70203C728
:1046B00091839307A0051145631EF7002285F93108
:1046C0002A845134418D39A01305F1012EC6A93D2C
:1046D000B2455DD505616DA41307000AE399E7FCB7
:1046E000B367B400D2070D45F5F7B707FDFF75B7FF
:1046F000EF02C02683C7A18301112A84A9C383C7FF
:10470000A1831307100A6396E704B707F9FFB306FE
:10471000F40021670D4563FCE602FD17B297A297EE
:1047200063F7E70203C791839307A0051145631060
:10473000F7022285313E2A843934418D09A81305B8
:10474000F10132C62EC4CD33A24532464DD90561A2
:1047500005AC1307000AE397E7FCB707FDFF45BF69
:10476000EF02C01F83C7A18301112A84B9C383C785
:10477000A1831307100A6396E704B367B400D20756
:104780000D453707070085EF637BE4029387F5FF4C
:10479000A29763F6E70203C791839307A00511452B
:1047A000631FF7002285DD362A84EFF0DF99418D03
:1047B00039A01305F1012EC6853BB2454DD90561DF
:1047C000C1A21307000AE398E7FCB367B400D2075D
:1047D0000D45F5F73707030045BFEF02201883C7E3
:1047E000A18301112A84A1C383C7A1831307100ADF
:1047F0006395E704370707000D45637EE4029307DE
:10480000F6FFA29763F9E70203C791839307A00518
:1048100011456312F7022285EFF09FA32A84EFF07F
:104820009F92418D09A81305F10132C62EC4ED39BE
:10483000A245324655D90561A1A21307000AE395A6
:10484000E7FC370703004DBFEF02A00F83C7A1832A
:1048500041112A89AE84328485CF83C7A18313078F
:10486000100A639DE702370707000D456376E902EA
:104870009307F4FFCA9763F1E702B3898400330911
:104880009940014463939902EFF0FF8B418D29A079
:104890001305E100513971D14101F1A81307000A54
:1048A000E39DE7FC37070300C9B71306F100854510
:1048B00033852401EFF07FA698209C872A84630526
:1048C000F70013652500C9BF85046DBFEF026007BF
:1048D00083C7A18341112A842E89B2849DCB83C7CB
:1048E000A1831307100A639CE702370707000D45F1
:1048F0006375E4029387F4FFA29763F0E7024A86A8
:10490000A6852285EFF07FA12A84EFF0DF83418D19
:1049100029A01305F100093979D14101A9A813078C
:10492000000AE39EE7FC37070300D1B73971014362
:104930006EC619A0397141536AC866CA62CC5ECE90
:1049400019A0397101535AD056D252D44ED64AD8F2
:1049500026DA22DC06DE33016140828241114AC040
:1049600026C222C406C68282B24D4101024D924C3B
:10497000224CB24B4101024B924A224AB2494101B8
:10498000024992442244B240410182802A8309CAEA
:1049900083830500230073007D16050385056DFAEA
:1049A000828001A001A00568028801A083C7D1828E
:1049B00093F7F707A386F18283D6E18113070010EE
:1049C0006393E602B7474040D8331377070FD8B355
:1049D000D83313671700D8B3374740405C3393E7A9
:1049E00007085CB3828083D6E18113070020639CB3
:1049F000E600B7474040D8331377070FD8B3D83312
:104A000013672700C9BF83D6E18113070030639C79
:104A1000E600B7474040D8331377070FD8B3D833F1
:104A2000136787004DBF03D7E18193070040E3156B
:104A3000F7FAB7474040D8331377070FD8B3375743
:104A4000002013070700F8C7130750032396E70A4F
:104A500009472387E70AD83313674700ADBFB74735
:104A600040407D479AABBAAB13070004F8CFB8D3E8
:104A7000F8D3B8D7F8D713070020B8DBF8DBB8DFD6
:104A80001387C19B98D31387C193D8D31387C1973A
:104A9000B8C31387C18B98D71387C18FF8C3375713
:104AA00000201307470BD8D71387C187B8C7239EA9
:104AB0000708238F07080947A38FE7082390070AF1
:104AC0002381070AA381E70A2392070A2383070A9F
:104AD000A383E70A2394070A2385070AA385E70A25
:104AE0002396070A2387070AA387E70A828015C54A
:104AF000EFF2DFE637444040A5471CA09307F005DE
:104B00003CA0B13F930780FBA30004001CA0114709
:104B1000B7E700E023A2E710A5B5B74740409823C8
:104B20001367270098A398231377D70F98A3B7E7A5
:104B300000E0114723A2E718828037474040231244
:104B4000A70A8347670A93F7C70F93E72700230352
:104B5000F70A8280EFF29FE02A861384C18B1385C7
:104B6000C19F9385C18B1D35EF0090038947630B6F
:104B7000F5007D1513351500A300A4040945230095
:104B80000404653FF5BB011126CC22CE4ACA4EC8AB
:104B900052C656C45AC2B744404098249C349376B7
:104BA000F70F418B630A0778983493F7F70F9D8BC3
:104BB000418B631307640947638BE75E6361F70604
:104BC0006393075C83C7F409A18B638C07589387B1
:104BD000C19B9823B6232381E1829833A381E1828C
:104BE000FA23DE23239EE1802390D182239FF1804C
:104BF00003CA21829386C19B137A0A0663180A2A84
:104C000083C531822D4593F7F50F6361B52AB7351A
:104C100000208A07938505BEAE979C43828715477F
:104C20006385E75C7244E2445249C249324AA24A6F
:104C3000124B05617300203083D701829946A1830E
:104C4000FD1793F7F70F63E4F612B73600208A07D3
:104C5000938606C1B6979C438287B7370020938717
:104C6000C7CF842323A2F18235A8B74740409433AD
:104C7000854513F6F60F639EB60A238BC180930613
:104C80000020239CD18003C7618185476318F70A00
:104C9000B73700209387C7CDA433B82323A2F1826E
:104CA000A204D98C83D7C18163F4F400239E918040
:104CB00003D7C1819307F0039304000463E6E70080
:104CC00083D4C181C204C18003AB4182268613858F
:104CD000C19BDA856539269B23A261839307F00F78
:104CE0006306FA1C83C72182E207E18763DC07447D
:104CF00003D7C1819307000463E6E70083D7C1812E
:104D0000C207C18303D7C1811D8F42074183239E00
:104D1000E18037474040231EF7089947230FF708E3
:104D2000374740408347F70993F7F707A30FF70882
:104D3000D5BD238B018093060004A1B7B7370020AF
:104D40009387C7CB91BF83D70182094793F7F70FAA
:104D50006388E702636AF70099EF938701818423F0
:104D600023A2F182014A3DBF0D476380E7028144DF
:104D7000130AF00F05BFB73700209387C7CAD5B510
:104D8000B7370020938747C8E9BDB737002093871E
:104D9000C7C6C1BDB7370020938707C6D9B583C63C
:104DA00061810547639CE602B73700209387C7CB34
:104DB000A433B823B7350020A204D98C375500207E
:104DC0001386E4FF9385E5CB1305A503C136B757DA
:104DD00000209387870323A2F182E9B583C761810D
:104DE00013FAF70FC9F7B73700209387C7CDA4335D
:104DF000B823B7350020A204D98C3755002013867C
:104E0000E4FF9385E5CD1305A5054936B757002086
:104E100093878705C9B783D7018293F7F70F238D4F
:104E2000F180C9B583C7B1819CA203D7C1818547F1
:104E3000E3FAE7EA239EF18075B583D7018293F701
:104E4000F70FA38DF1800547238AE18061BD83C7F9
:104E50002182FD8B99EF83D70182054793F7F70FE6
:104E60006396E70483C7518193F7E70FA38AF18024
:104E700095BD83C621828947FD8A6399F60283D74F
:104E8000018293F7F70F9DE383D7E1811307200891
:104E900093F7F70F6386E7046362F7020D476386B3
:104EA000E7041547638DE7046387D702B74740409F
:104EB0001547238FE708A38FE7089DB51307400820
:104EC000638AE70213076008E392E7FEB7474040B2
:104ED000238B070A01BD37474040A303F70A19B5E2
:104EE000B74740402383070AF5BBB7474040A38537
:104EF000D70ACDBBB74740402387070AE5B3B7477A
:104F00004040A389D70AF9BB83C72182FD8BB5EB4B
:104F100083D70182854693F7F70F639ED700B73793
:104F2000002083C737CC93F70702C9D383C75181C9
:104F300093E7170025BF83D70182094793F7F70F3F
:104F4000E396E7F603D7E181930700106304F702C5
:104F500003D7E18193070020630EF70003D7E181B7
:104F6000930700306308F70003D7E18193070040FF
:104F7000E31AF7D683C7D18293E70708A386F182A5
:104F800095B383C721828946FD8BE39DD7D483D710
:104F9000018293F7F70FE39707D483D7E1811307D3
:104FA000100893F7F70F638BE7046366F7020D476A
:104FB0006381E70615476384E7080547E398E7EE52
:104FC000374740408347370A93F7C70F93E71700E7
:104FD000A301F70A01BB130740086387E70413071F
:104FE0006008E395E7EC374740408347670B93F74A
:104FF000C70F93E71700230BF70AEDB1374740407F
:105000008347270A93F7C70F93E717002301F70A8F
:10501000D1B9374740408347B70A93F7C70F93E7A3
:105020001700A305F70A7DB9374740408347E70AD1
:1050300093F7C70F93E717002307F70A65B13747C0
:1050400040408347370B93F7C70F93E71700A30937
:10505000F70A49B923800600C9BB83C72182239E72
:10506000019A0947FD8B639EE70A03D7E181130686
:1050700010081377F70F6305C7066363E6020D4652
:10508000630DC70615466304C70885476302F70426
:1050900003D7C1818947E3FBE7E0239EF18039B55F
:1050A000130640086300C706130660086306C706B8
:1050B00013062008E31EC7FC374740400347670A32
:1050C0000D8B05466313C70098A203D7C1818DB32A
:1050D000B747404083C7370A8D8B6393E7009CA294
:1050E000B747404083C7270A05478D8B6393E70086
:1050F0009CA203D7C181894725BB3747404003475E
:10510000B70A7DBF374740400347E70A55BF3747D7
:1051100040400347370B6DB7374740400347670BA5
:1051200045B783C72182FD8B81CB83D7C181E37BC8
:10513000F7BA239EE1807DB683C75181858BF5D771
:1051400098A2E5B783D7C18189EBB7474040239E3A
:1051500007081947238FE708E1B6B74740401947CA
:1051600099BBA38F040883D7C40783C7218293F711
:10517000070689C7239E018083C7318283D7C181F7
:10518000E39007BAD9B703D70408A384E18205479F
:10519000A385E18283C7340A93F7C70FA381F40A7A
:1051A00083C7340A93F7F707A381F40AA5BC83C722
:1051B000740A054793C74700A383F40A03D544083C
:1051C0001375F50F2384A1822385E182EFF09F9868
:1051D00083C7740A93F7F707A383F40A83C7740A93
:1051E00093E72700A383F40A35BC83C7340B93F7F6
:1051F000F707A389F40A3DB40947638AE710636A95
:10520000F70A639F070C83D7C18181E79947A38F72
:10521000F40883C7218293F70706BDEB83C7318269
:10522000954613F7F70F6380D70A99476315F70A76
:1052300003D7C1819307F0031304000463E6E7007A
:1052400003D4C1814204418083A441822286A68581
:105250001385C19BEFF08FF383D7C181A29423A262
:105260009182818FC207C183239EF180B74740405E
:10527000239E870803C7E70913474700238FE708E2
:1052800003C7E7091377C70F13672700238FE708C2
:1052900083C7D182E207E18763D40700EFF00FF103
:1052A000374740408347E70993F7F707230FF7088D
:1052B00095BA0D47E398E79683C7A40A93F7F707D3
:1052C0002385F40A85B283C7A1813747404093F70D
:1052D000F70F3CB375BFB7474040239E07084DBF4B
:1052E0002390040A83C7240A93C747002381F40A42
:1052F0002386018283C7240A93F7C70F2381F40A08
:1053000083C7240A93F7F7072381F40A21BA83D7C6
:10531000440A83C7640A93C747002383F40A83C7F8
:10532000640A93F7C70F2383F40A83C7640A93F7C9
:10533000F7072383F40AFDB09C2493F7070489C779
:10534000930700049CA4F9B893F7260095C78947F2
:105350009CA4B824098B11CB03C751811367270084
:10536000A38AE18083C7518175B803C75181137740
:10537000D70FA38AE1807DB093F7160099CFA38D54
:105380000180238D0180A38A0180238A0180A3816B
:105390000400EFF0CFEC854775B794A46FF09F88B9
:1053A000EFF2CFDB9387C19F80339C231307200844
:1053B0006383E708636DF70013070008638AE70259
:1053C000130710086382E70205456FF06FDB1307D0
:1053D0003008E39BE7FEA387018205472387E1822C
:1053E000EFF04F8A0945D5B7EFF02F890145F1BF9E
:1053F000EFF0AF88B754002083A7C4073307F40049
:105400001356C70093D6C7006315D6008566639709
:10541000D7007D758565798DEFF08FB403A5C4073E
:105420002286938501A0EFF04FBB83A7C407A29704
:1054300023AEF40665BFB754002003A58407228677
:10544000938501A0EFF04FC083A784071375F50F74
:10545000A29723ACF40695BFEFF24FD02A8437050C
:10546000820085450505EF0020718D453705080050
:105470004523814537050400612BEF00D0112285BB
:10548000EF00300A6FF0CFCF37A7404083475780F7
:10549000858BEDDF034507808280EFF28FCAED3701
:1054A000930770056313F508C5379307B00A631EA9
:1054B000F506D93F938AC19F2A892380AA00E9373C
:1054C0003304A9001374F40F2A8AA380AA006D3F45
:1054D000B307850093F4F70F2381AA0075373304CF
:1054E0009500A381AA001379D90F930700081374BC
:1054F000F40F6318F9009389C19F01498509631866
:105500002A03593763138502613D8947630FF5000C
:10551000B7A7404003C75780238007800547631221
:10552000E50203C757802380A7806FF0CFC4A93F4F
:105530002A940509A381A9001374F40F1379F90FB4
:1055400075BF03C7578023800780C5B7EFF20FC12F
:10555000373500201305C5C2EF00907037E400E036
:105560009164232094105145EF00700CB707404020
:105570001387471514433706F8FF7D1693E6060494
:1055800014C3144393057005F18E14C38CA3130642
:1055900080FA90A3010013874714144393E606088A
:1055A00014C3238007008CA390A301001443370683
:1055B000E0FF7D16F18E14C3238007002320942082
:1055C0006FF00FBCEFF28FB941115D20EF00A07FAB
:1055D0001305800CEF00B005716513050520EF0081
:1055E000700883A5818037350020130585C3EF003F
:1055F000F0646800EFE0BFF0B245373500201305D6
:1056000085C4EF00B06337350020130585C5EF0072
:1056100030653704404078309307A00A6314F700E0
:10562000353701A081453705100069291304440C62
:105630001C400545EFF0AFCBB7E700E011473965F7
:1056400023A2E71013050510013DB7A4404083C70E
:105650005480858B91C3913583C7E182EDDBB70719
:1056600040401307A0FAF8B385450545F92301A08A
:10567000B70740409386471498421377070819CF1D
:10568000938747159C4337070800F98FBDCBB78731
:105690007D019387078423A4F18082809C421307B5
:1056A000000293F70706638DE702B737310193874E
:1056B00007D03707404003274714B1662166758F2E
:1056C000630FC7026363E6020DC791666307D702E3
:1056D00037074040183711830507B3D7E70265BF86
:1056E000B7877D0193870784E9B7E313D7FE3D476A
:1056F00011A06147B387E702E1BF5147E5BF9207B9
:10570000C1BFB7373101938707D071B7EFF26FA3ED
:1057100003A78180B78793039387F76F63F9E71433
:10572000B70740401307700598A3130780FA98A3A2
:10573000010093864714984237062000518F98C283
:105740003704404023800700253793044415A52DD6
:105750009C4081451305000893E707049CC039234A
:1057600013053002512DB7674040938707089843CF
:10577000B70600803145558F98C39843B70600C0DF
:10578000FD16758F98C39843B706004093097005BE
:10579000558F98C39525854513050008C1299C4060
:1057A0003707F8FF7D17F98F9CC0230034011309D8
:1057B00080FA230024010100930444149C4093E7E1
:1057C00007089CC0230004002300340123002401A7
:1057D00001009C403707C0FF7D17F98F9CC0230054
:1057E00004007935CD23E52623003401230024016C
:1057F0000100930740031CB423000400230034017C
:105800002300240101009C4051777D17F98F9CC033
:105810009C409CC023000400230034012300240189
:1058200001009C4093F7F7F99CC09C4093E7070662
:105830009CC0230004002300340123002401010044
:105840009C403707400013053002D98F9CC02300CD
:1058500004005D23230034012300240101009C4047
:1058600093F7F7F79CC0230004006FF0CF90B707C1
:1058700040401307700598A3130780FA98A301000E
:10588000138647141842B706E0FFFD16758F18C23D
:1058900045BD01A097410000938141FE17E1000042
:1058A00013014176171500001305055B97350000BD
:1058B000938545751386418163FAC50083220500EF
:1058C00023A0550011059105E3EAC5FE138541812A
:1058D0009385C1A36377B500232005001105E36D0F
:1058E000B5FEFD42739002BC8D4273904280896286
:1058F000938282887390023097E2FFFF9382027155
:1059000093E2320073905230972201E09382826FCB
:1059100093D222007390023B972201E09382826E21
:1059200093D222007390123BC142739032BCAD629D
:10593000938202D07390023A9142739002BDB702F3
:105940000003890273B022BCEFF05FDC9702000015
:10595000938282C77390123473002030914763EFB3
:10596000B702B7370020938707D18A05BE959841C3
:10597000B707404093874709028794431345F5FFD3
:1059800037074040E98E94C3930607099C42E98F8C
:105990009CC2930707089843798D88C382809043FF
:1059A0009346F5FF37074040758E90C313060709ED
:1059B0001C42C98F1CC2930707089843F98E94C3F1
:1059C0008280944337074040C98E94C393060709E9
:1059D0009C421345F5FF65BF9843498F98C3B707AD
:1059E0004040938707089843498F98C38280B70740
:1059F0004040938607089842498F98C293860709CA
:105A000098421345F5FF93874709698F98C261B79C
:105A1000914763EFB702B7370020938747D28A05D3
:105A2000BE959841B70740409387470B0287944340
:105A30001345F5FF37074040E98E94C39306070BE3
:105A40009C42E98F9CC29307070A9843798D88C3CB
:105A5000828090439346F5FF37074040758E90C390
:105A60001306070B1C42C98F1CC29307070A9843F1
:105A7000F98E94C38280944337074040C98E94C303
:105A80009306070B9C421345F5FF65BF9843498F6A
:105A900098C3B70740409387070A9843498F98C334
:105AA0008280B70740409386070A9842498F98C280
:105AB0009386070B98421345F5FF9387470B698F31
:105AC00098C261B7914763EFB702B7370020938759
:105AD00087D38A05BE959841B70740409387470D05
:105AE000028794431345F5FF37074040E98E94C37E
:105AF0009306070D9C42E98F9CC29307070C9843BD
:105B0000798D88C3828090439346F5FF37074040E4
:105B1000758E90C31306070D1C42C98F1CC29307D4
:105B2000070C9843F98E94C3828094433707404012
:105B3000C98E94C39306070D9C421345F5FF65BFBC
:105B40009843498F98C3B70740409387070C984301
:105B5000498F98C38280B70740409386070C9842CC
:105B6000498F98C29386070D98421345F5FF938796
:105B7000470D698F98C261B7B70740401387071474
:105B8000104363550500938707169043135705018B
:105B90003D8BFD57B397E7009356450193C7F7FF39
:105BA000FD8A3397D7001347F7FF718F0546639639
:105BB000C500E98FB397D7005D8FB70740406355A5
:105BC000050023A0E716828023A0E7148280EFE27D
:105BD000FFD841116800EFE09F92B2473707415666
:105BE0001307875093F7F7F0638BE70037074356A7
:105BF000130787506383E70241016FE07FD889452F
:105C00007D55C935894537054000193537C5F1FF40
:105C100089451305F5679933C5B73705F0FF894501
:105C20007D154D353705F1FF89451305F50BCD334E
:105C3000797589451305F577F9BFB7074040FC230F
:105C400085476391F502B70740401307700598A395
:105C5000130780FA1365050498A30100E8A32380C5
:105C6000070082801345F5FF3D89F1BFB70740402B
:105C70001307700598A3130780FA98A3010005473E
:105C8000639AE500F827498FF8A7B70740402380BB
:105C900007008280F8271345F5FF698FF5B7EFE21B
:105CA0007FC983A48180A5ED860491809397140019
:105CB0002A8463E6A706135C15002A8B814A268591
:105CC0000549014A8549930BF007228681468145A3
:105CD000EF001038AA8799E16374AC00B307F44071
:105CE00013D7F741636657016397EA0063F56701CD
:105CF000CA893E8BBA8A9307190063147901630C31
:105D00000A0033D5F40233B727013E893A9A931734
:105D10001500E3FC87FA238831836FE03FC585498E
:105D2000DDBFEFE2BFC381452A84953F83C701836E
:105D300003A5818025473355F502A9473305F502B0
:105D400085470D813355850215056378A7002946DF
:105D500081468145EF006075AA8737A7404083469A
:105D6000378093E60608A301D78083C60183A30387
:105D7000D78093D6870093F6F60FA300D78093F7CA
:105D8000F70F2300F7808347378093F7F707A301C6
:105D9000F7806FE0FFBEEFE27FBC71651305052061
:105DA0004937B7A74040130770FC2381E7800D47B0
:105DB000A381E78013070004A380E78011472382B3
:105DC000E7806FE0FFBB37F700E01C4393E7470035
:105DD0001CC383A7818037470F0013070724B3D75D
:105DE000E702238CF1821307803E93F7F70FB38706
:105DF000E70223AAF1828280B7F700E0D843814608
:105E0000799BD8C303C781833306A702014790CB90
:105E1000D4CB814694C7D8C798431367170298C359
:105E2000D843058B75DF9843799B98C38280B7F779
:105E300000E0D8438146799BD8C303A7418333064A
:105E4000E502014790CBD4CB814694C7D8C798438D
:105E50001367170298C3D843058B75DF9843799B66
:105E600098C38280EFE29FAF83A781805144294687
:105E70003304F4028146814511803354A402228503
:105E80002D252A89AA842946814622858145EF004D
:105E9000301C81E5914763F4A70093041900B7D73C
:105EA0004040130700F8B8B30547F8B313D7840090
:105EB0001377F70F98B393F4F40F84A30D47B8B397
:105EC000130770FCB8A31307000498B3B70740404A
:105ED0009386470B98429387070A1377F7EF98C288
:105EE00098431367072098C36FE09FA932858147C5
:105EF000B7D6404063C3A7008280D8321377070229
:105F00006DDF3387F5001823850798A2E5B70111E7
:105F100006CE2EC60DCD1841AA8705C358417D5522
:105F200011CB8546631BD70098472300070023A2A7
:105F300007000545F240056182809847B24614A3E8
:105F40009847050798C7D8437D17D8C3DDB70546DE
:105F50006C00693FF9BF797122D426D24ECE52CC63
:105F600056CA06D64AD05AC82A8AAE8A3284814492
:105F70009309000263440602B3879A0083870700EF
:105F80009DE363D6840263D2E402198C93F7260062
:105F90009309000281C719E393090003858A014927
:105FA0009DE6228929A88504C1BF058CC5B7014497
:105FB000F1BFCE8552853AC6993F32477D19E34AF3
:105FC00020FF22896353040001493304244163CB39
:105FD000E402CA84B3872441D697838507009DEDE8
:105FE0002289634120056353040001443305940072
:105FF000B250225492540259F249624AD24A424B58
:1060000045618280B3049740268B93050003528537
:106010007D1BF53DE31B0BFE269965BF5285C53DF3
:1060200085044DBFCE855285DD357D195DBF5D711F
:10603000A6C252DC86C6A2C4CAC04EDE56DABA84F4
:106040003E8A95E1930700030147D28626862C08F5
:10605000FC841137B640264496440649F259625AE8
:10606000D25A616182802A893684C68A91CAA94738
:1060700001446317F60063D50500B305B04005443D
:10608000A30701029307F102A546130568FC33F745
:10609000C50263D3E6002A9713070703A38FE7FE21
:1060A0009389F7FF33D7C50263F7C50401CCB9C4A0
:1060B00013772A0021C79305D0024A8542C6813D45
:1060C0003248FD1493774A0099CF93071006930541
:1060D00000034A85631CF8021D3D930580074A852D
:1060E0003D350904F9145687D2862686CE854A8521
:1060F0009D35229585B7BA85CE8751BF1307D0024B
:10610000A38FE9FE01449389E7FF6DBF093593052D
:106110008005F1B7014582800145828039715AD0EE
:10612000373B002022DC26DA4AD84ED652D456D24B
:106130005ECE62CC06DE66CAAA892E893284014A06
:106140008144930B5002930AB002294C130BCBD419
:10615000830509008DE56386090081454E85EFF0D2
:106160001FDBF250625426854259D254B259225A4A
:10617000925A025BF24B624CD24C2161828063885E
:1061800075014E85EFF0BFD885040509D1B78307A7
:106190001900930C1900639A7701930550024E85FC
:1061A000EFF0FFD685046689CDB7D5D7638757054D
:1061B00063C8FA00130730026384E704814705A02F
:1061C0001307D002638AE70013070003E398E7FE92
:1061D000930C2900894721A0930C29008547038748
:1061E0000C006303570563C1EA0293063002630B98
:1061F000D70266890146A54535A8930C29007DBFC5
:10620000930C29009147E1BF9306D0026309D700A0
:1062100093060003E31FD7FC93E7270031A0850C0A
:106220008547C1BF93E74700850CE1B73306860376
:106230000509369603070900930607FD13F5F60FC7
:10624000E3F6A5FE9305E0029946631EB700050933
:106250008146A54503070900130707FD1375F70FCE
:1062600063F5A502368A030709009305A0066301BA
:10627000B70A63C1E5029305C004630BB708930531
:1062800080066300B70881452DA0B3868603050903
:10629000BA96C9B793054007630CB7069305A007E4
:1062A0006308B7061305C00681456314A7000509F6
:1062B00091450307090013050006130810066344FF
:1062C000E50013081004130570066340E506130586
:1062D00050066355A71413057004634DE50293053A
:1062E0005004635DB71293063004E310D7EA1840F8
:1062F000930C4400A30601005886BE8601476C003B
:1063000041A0030519008145E315E5FA090955B7D0
:10631000050995BF93063006E30BD7FC63C6E60676
:10632000930680056303D7028DB59306300763019A
:10633000D70463C8E6029306F006630ED70A9306F5
:10634000000793E74700E312D7E4D9CD1D04937506
:1063500084FFC288138485003E880147B287C14606
:106360003DA8930650076300D706930680075DBFDC
:106370001840930C4400DA8511C3BA855287BE8653
:106380004E85EFF05FBD2DA895C11D04937584FF68
:10639000C288138485003E880547B287A946D0414C
:1063A0008C414E85EFF01FD7AA94C5B3930C4400DF
:1063B000D2883287854629460C404E85EFF03FC78C
:1063C000AA946684D9B399C91D04937584FFC288C1
:1063D000138485003E880147B287C9B7930C4400F7
:1063E000D28832878146C1BF3287930C4400D2885D
:1063F00081464146D1B781CD1D04937584FFC28883
:10640000138485003E880147B287A14649BF328781
:10641000930C4400D2888146214679BF1D049375B0
:1064200084FF138485003287D0418C41C2884E8519
:106430003E88B687A946EFF03FCEBDB739712ED260
:1064400032D4AA855010014506CE36D63AD83EDA67
:1064500042DC46DE32C6EFF07FCCF2402161828022
:10646000011122CC26CA06CE1C21AA840144DC8755
:106470008307F100050499EFA9479305F10005464C
:106480000145DC87EFF09FA62285F2406244D244AA
:106490000561828005469305F1000145EFF01FA5D7
:1064A000B38784009C23DC87E1B73288AA882E87D3
:1064B000DDEA63F1C510C167636DF618B707000127
:1064C000B337F600B307F040E19BE1073353F60022
:1064D00097160000938646889A969422130300022A
:1064E000B697B306F340630BF3003397D500B35769
:1064F000F5003318D6005D8FB318D5001356080188
:106500003355C70293160801C18293D70801337728
:10651000C702B385A6024207D98F63FAB700C297B4
:106520001307F5FF63E4070163EDB7303A858D8FFC
:1065300033D7C702C20893D80801B3F7C702B3869E
:10654000E602C207B3E8F80063FBD800C2989307DD
:10655000F7FF63E50801791763E3D8003E8742053A
:10656000598D8145828063F5D50081450145828042
:10657000C16763E7F618B7070001B3B7F600B307C2
:10658000F040E19BE10733D8F6001707000013073E
:10659000A77C42971823930800023E973388E8406F
:1065A0006394E81863E1B6283335C5001345150038
:1065B000814582804DC6C167637FF624133706107C
:1065C000134717000E07B356E6009707000093879E
:1065D000A778B6979C2393060002BA97B38EF6402D
:1065E000639EF608B387C540935606014206418272
:1065F000854533D5D70213D70801B3F7D702330344
:10660000C502C207D98F63FA6700C2971307F5FF67
:1066100063E4070163E467223A85B387674033D7B1
:10662000D702C20893D80801B3F7D7023306C702CE
:10663000C207B3E8F80063FBC800C2989307F7FFEE
:1066400063E50801791763E3C8003E874205598D69
:1066500082809337061093C717008E0785BD814649
:10666000970700009387476FB6979C2301479306CF
:106670000002BA97B38EF640E386F6F63318D601D9
:1066800033D3F50093560801335ED3021316080185
:10669000B395D5014182B357F500CD8F13D70701CC
:1066A000B318D5013373D302B305C603420333676E
:1066B0006700637BB70042971305FEFF636C071703
:1066C000637AB716791E42970D8F3355D702C207EA
:1066D000C1833377D7023303A6024207D98F63FB06
:1066E0006700C2971307F5FF63E2071563F06714AD
:1066F0007915C29793150E01B3876740C98DD5BD33
:1067000093B7061093C717008E0733D8F600170704
:1067100000001307676442971823930800023E970E
:106720003388E840E380E8E8335EE600B39606018C
:10673000336EDE00B3D8E500935E0E01B3D7D80305
:1067400013130E01B3950501135303013357E500ED
:106750004D8F9356070133160601B3F8D803B305DE
:10676000F302C208B3E6160163FBB600F296938803
:10677000F7FF63E3C60D63F1B60CF917F2968D8E41
:10678000B3D5D60342074183B3F6D603B308B302A9
:10679000C206558F637B170172979386F5FF636975
:1067A000C70963771709F9157297C207C16ECD8FB4
:1067B0009386FEFFB3F5D70013D30701F18E418214
:1067C000338ED50233071741B306D30293580E0117
:1067D000B385C502B695C6953303C30263F3D500EE
:1067E000769393D605019A966363D7026305D70023
:1067F0003E8581458280C166FD1633F7D50042078C
:10680000337EDE00331505017297E373E5FE1385D1
:10681000F7FF81458280B70700016377F602935640
:10682000060141475DB38145054582803A85D9B56A
:10683000B685A5BF2A8E49BDC68791B77915C2977F
:10684000E9BB7915C297E5B1935686016147B5BB9F
:106850003288AA882E832E87D5E663F1C510C167DA
:106860006363F618B7070001B337F600B307F040CB
:10687000E19BE1073353F600970600009386C64D6F
:106880009A96942213030002B697B306F340630B63
:10689000F3003397D500B357F5003318D6005D8F5A
:1068A000B318D500935508013356B70213130801E6
:1068B0001353030193D708013377B70233066602F7
:1068C0004207D98F63F7C700C29763E4070163E308
:1068D000C730918F33D7B702139508014181B3F7C1
:1068E000B70233076702C2075D8D6378E500429502
:1068F000636505016373E5004295198D3355D50035
:106900008145828063F3D5008280C16763EAF61611
:10691000B7070001B3B7F600B307F040E19BE1070A
:1069200033D8F600170700001307074342971823D0
:10693000130E00023E973308EE406317EE1663E431
:10694000B600636AC500B308C540B386D54033338B
:1069500015013383664046859A85828059CAC1678E
:10696000637EF62413370610134717000E07B3563D
:10697000E600970700009387273EB6979C231303F2
:106980000002BA97B306F3406314F3083387C54097
:106990001353060142064182B355670293D708019B
:1069A00033776702B385C5024207D98F63F8B70012
:1069B000C29763E5070163F3B700C2978D8F33D7A2
:1069C0006702C20893D80801B3F767023307C7020A
:1069D0001395070133E5A800E36BE5F0198D3355F6
:1069E000D500814582809337061093C717008E0724
:1069F00051B581469707000093870736B6979C23C9
:106A0000014713030002BA97B306F340E300F3F81B
:106A10003318D60033DEF50013530801B35E6E025F
:106A200013160801B395D5003357F50041824D8FF9
:106A300093570701B318D500337E6E02B385CE029B
:106A4000420EB3E7C70163F8B700C29763E50701D9
:106A500063F3B700C2978D8FB3D5670242074183B6
:106A6000B3F76702B385C502C2075D8F6378B700CD
:106A70004297636507016373B70042970D8F29BF83
:106A800093B7061093C717008E0733D8F600170781
:106A900000001307672C42971823130E00023E973D
:106AA0003308EE40E30DEEE8B3960601B358E60076
:106AB000B3E8D80033DEE50013DF0801B357EE0377
:106AC000939E080193DE0E01B356E50033130501D2
:106AD000B3950501D58D93D6050133160601337E96
:106AE000EE033385FE02420EB3E6C60163FBA60049
:106AF000C696138EF7FF63ED160D63FBA60CF91710
:106B0000C696898E33D5E603C205C181B3F6E60386
:106B1000B38EAE02C206D58D63FBD501C695930632
:106B2000F5FF63E5150B63F3D50B7915C6959396C1
:106B30000701C162C98E1385F2FF33FEA600935F81
:106B40000601C182718D330FAE02B385D541338505
:106B5000A60293570F01330EFE032A9EF297B386C7
:106B6000F60363F3A7009696C16EFD1E33F5D701B9
:106B700013DE07014205337FDF01B307DE007A959C
:106B800063E5F5026381F5023305A3403333A300C7
:106B90009D8DB38565403397E50033550501598DCB
:106BA000B3D505018280E371A3FE3306C5403335BA
:106BB000C500AA98B38717413285F9B7B707000116
:106BC000637CF60093560601414765B3368585B769
:106BD000F28705BFC297F5B993568601614751BB4D
:106BE0005A1000204E0E0020AC0E0020080F00208E
:106BF000AC0E0020160E0020380C0020AC0E002039
:106C0000240E00203A0E002054100020E40C002036
:106C10005A0C00206A0C0020460D00206E0D00204A
:106C20006E0D0020940D00209E0D00204A756D70A1
:106C3000204150500D00000053797374656D436C12
:106C40006B3A25640D0A00004368697049443A258F
:106C50003038780D0A0000004941500D0000000056
:106C60000A060002FFFFFF4001000000160330008B
:106C70003100320033003400350036003700380070
:106C8000390000002603570043004800200055004B
:106C90005300420032002E00300020004400450026
:106CA0005600490043004500200000000E03770015
:106CB000630068002E0063006E00000009022000DF
:106CC00001010080320904000002FF805500070521
:106CD0008202400000070502024000000902200075
:106CE00001010080320904000002FF805500070501
:106CF000820240000007050202400000120110015C
:106D0000FF8055404843E0550001000000010000AD
:106D10007A1900209E190020C2190020EE190020C7
:106D2000D81900202E1A0020521A0020761A0020AE
:106D3000A21A00208C1A0020E21A0020061B002054
:106D40002A1B0020561B0020401B0020286E756C5B
:106D50006C2900000001020203030303040404047D
:106D600004040404050505050505050505050505D7
:106D700005050505060606060606060606060606B7
:106D800006060606060606060606060606060606A3
:106D90000606060607070707070707070707070787
:106DA0000707070707070707070707070707070773
:106DB0000707070707070707070707070707070763
:106DC0000707070707070707070707070707070753
:106DD0000707070708080808080808080808080837
:106DE0000808080808080808080808080808080823
:106DF0000808080808080808080808080808080813
:106E00000808080808080808080808080808080802
:106E100008080808080808080808080808080808F2
:106E200008080808080808080808080808080808E2
:106E300008080808080808080808080808080808D2
:106E400008080808080808080808080808080808C2
:106E500008080808000000000000000000AAAAAA14
:106E6000AAAAAAAAAAEEEEEEEEEEEEEEEEFEFFFF64
:106E7000FFFFFFFFFFFFFFFFFF7FBFDFEFF7FBFD20
:106E8000FC7EBFDFEFF7FBFD7E000000090700007E
:106E900000000000000000000000000000000000F2
:106EA00000000000000000000000000009070000D2
:106EB00000000000000000000000000000000000D2
:106EC00000000000000000000000000000100000B2
:106ED00000100000000E2707000000000403090452
:00000001FF

View File

@@ -1,899 +0,0 @@
:020000040000FA
:100000006F00300B00000000010001000100010042
:1000100001000100010001000100010001000100D8
:100020000100010001000100010001008280EF02D7
:10003000B003B70740404111238D070037B90300D3
:1000400002C61309F997370440409D49154AB24743
:100050006376F900054541016F005004230D34011A
:100060006537230C44014D371C2C793F1C2C93F42D
:10007000F70F593F93F71400230D040089C7B247C7
:1000800085073EC6E9B70145F9B7EF02E07D2A844E
:10009000AE84713F85472A896305F50413DA0401AC
:1000A00093D98400AD47937AF40F137AFA0F93F93A
:1000B000F90F93F4F40F6306F400930780046315BB
:1000C000F402370440409D473CAC3D3F230C5401B3
:1000D000253F230C44010D3F230C3401353704AC7C
:1000E00025374A856F00807B370440400D4B230D38
:1000F0006401193F99471CAC013F230D04002937C7
:10010000230D6401D9B7EF02C0770547AA87638D35
:10011000E5000947638EE500014589E5BE851305C5
:100120000002A5376F002078AA8513052005D5BFEA
:10013000AA851305800DF5B7EF022072937BF50FAA
:1001400013090010330979412A8A2E84328BAA853B
:1001500009456361C902153FAA8A229BB704404042
:1001600063158B0056856F00C0721C2005049CAC83
:10017000613DFDB7193FAA8A2299B70440401C206F
:1001800005049CAC5135E31C24FF93090BF0DE9968
:1001900013040A103304744193D989008144B70BC6
:1001A000404063E9340333046A01937504F0094560
:1001B000E93DB3EAAA0081441374F40FB709404043
:1001C000E3F284FAB30799009C238504238CF90099
:1001D000253DFDB793958400A29509457D35B3EA89
:1001E000AA00130C0910834709000509238CFB00A2
:1001F000213DE31A89FFE3970AF68504C204C18012
:100200004DB7EF026066AE84AA852D453284B709EA
:100210004040A53D83C789012A89FD3383C78901F1
:10022000A294DD33631594004A856F00206783C76D
:1002300089010504A30FF4FEC13BEDB7EF02C062D4
:10024000AE84AA85130580043284B7094040353D49
:1002500083C789012A894D3B83C78901A2946D33E5
:1002600083C789010504A30FF4FE793BE31A94FECA
:100270004A852DA5EF02605E4111856713141500B4
:100280003EC2A167330AB4003EC4C167AA8A1354B0
:100290001A003EC6540001493306AA409C42335717
:1002A000F4023307F70263655701BA976374F606E1
:1002B000630509007D191379F90F2285CA85A135D7
:1002C00093172900C1078A9783A947FFE177AA847A
:1002D00033543403A16B33043403A2993E94330B9B
:1002E0007401631E090263EA6A05216BB30A5A416D
:1002F0004E9B568A630B0904216963E86A058545AC
:100300004E851135C98CB3072B018DE4DA89D28A69
:100310003E8BE5B7050991061379F90F41B7E36400
:100320007BFDE36254FD22858545F13BC98C330496
:100330007441D5D426854101A9ABFD773E9BDA8572
:10034000130500029933C98C79BF0569E3F459FF9D
:10035000CE8513050002338A2901053BC98CD28959
:10036000F5B7B70700201307A0052380E7008280B8
:10037000B7070020238007008280EF0280504111E0
:100380002A840D653000A1451305C50C453D1C8729
:10039000AA841CA09C871CB01C843CA09C843CB0FC
:1003A0001C855CA09C855CB05931458D4101E5A957
:1003B000EF02204D41112A840D653000A14513053F
:1003C000C50CAD3D1C87AA841CA09C871CB01C8456
:1003D0003CA09C843CB01C855CA09C855CB01C86C9
:1003E0007CA09C867CB0A131458D41016DA9EF02B6
:1003F00040492A842A860D659145130545093D3DEE
:100400001C203830AA843CB018A01C3038203CA0F6
:1004100018B03139458D41A9EF02A0464111AA8497
:100420000D651306F10085451D05093D9C872A844D
:100430001307000A93F7070281C71307100A8547BD
:10044000B70600209CA0A380E600D536418D41016F
:1004500099A9B707002003C707009307A0056316F3
:10046000F706EF02604041118564700091451385E5
:100470004400E9331C861307500F2A846393E70472
:1004800098866310F7041C87639DE7029887631AB8
:10049000F702B7B75AA5938757A59385440013056C
:1004A00020043EC6DD362A848144B7094040114904
:1004B0007C00A6979C238504238CF900B136E39930
:1004C00024FFB536418D4101D1AE11458280EF0246
:1004D000403B370440408D473CAC3D36930790FB92
:1004E0001CAC1D36230D04007DAEEF0280393704AD
:1004F00040408D473CAC093E9307B0FA1CAC29360E
:10050000230D04004DA6EF02C037370900208347B2
:100510001900AE8401112A84B2859DCB834719004E
:100520001307100A639EE702B707F9FFB306F4004A
:1005300021670D4563F4E602FD17AE97A29763FFAE
:10054000E7002686228575392A84D534418D39A065
:100550001305F10132C6C935B24569D10561A1A6BD
:100560001307000AE39FE7FCB707FDFFC1B7EF02DF
:100570004031B704002083C7140001112A84B9C791
:1005800083C714001307100A639AE704B367B40023
:10059000D2070D45B1E3B707F9FFB306F4002167B1
:1005A00063FCE602FD17AE97A29763F7E702B70771
:1005B000002003C707009307A0051145631EF7003D
:1005C00022854D392A84A534418D39A01305F101C6
:1005D0002EC69935B2454DD50561F1A41307000A21
:1005E000E397E7FCB367B400D2070D45F5F7B7070B
:1005F000FDFF65B7EF02E028B704002083C71400B1
:1006000001112A84A1C783C714001307100A639934
:10061000E704B707F9FFB306F40021670D4563FF50
:10062000E602FD17B297A29763FAE702B707002028
:1006300003C707009307A00511456311F702228540
:10064000E53C2A84EFF0BF9E418D09A81305F10116
:1006500032C62EC4D133A245324655D50561A1A478
:100660001307000AE394E7FCB707FDFF6DB7EF023D
:100670004021B704002083C7140001112A84A9C7B0
:1006800083C714001307100A6398E704B367B40024
:10069000D2070D453707070095EF637DE402938786
:1006A000F5FFA29763F8E702B707002003C707002A
:1006B0009307A0051145631FF7002285653E2A8434
:1006C000EFF0FF96418D39A01305F1012EC6A93335
:1006D000B2455DD50561C1AA1307000AE396E7FCA0
:1006E000B367B400D2070D45F5F73707030075B7B8
:1006F000EF022019B704002083C7140001112A84D7
:10070000B1C383C714001307100A6397E7043707C0
:1007100007000D456370E4049307F6FFA29763FB9F
:10072000E702B707002003C707009307A00511459C
:100730006312F7022285EFF03FA02A84EFF03F8F8B
:10074000418D09A81305F10132C62EC4F131A2452D
:10075000324645D9056181AA1307000AE393E7FCF5
:10076000370703007DB7EF022010B709002083C7C9
:10077000190041112A89AE84328485CF83C71900BC
:100780001307100A639DE702370707000D456376DC
:10079000E9029307F4FFCA9763F1E702B389840083
:1007A00033099940014463939902EFF05F88418DCA
:1007B00029A01305E1008D3171D14101C5A01307B6
:1007C000000AE39DE7FC37070300C9B71306F100F1
:1007D000854533852401EFF0DFA298209C872A8489
:1007E0006305F70013652500C9BF85046DBFEF02DF
:1007F000A007B709002083C7190041112A842E8958
:10080000B2849DCB83C719001307100A639CE702CB
:10081000370707000D456375E4029387F4FFA2973D
:1008200063F0E7024A86A6852285EFF09F9D2A8421
:10083000EFF0EFFF418D29A01305F100F13E79D1D2
:100840004101A9A81307000AE39EE7FC370703004C
:10085000D1B7397101436EC619A0397141536AC8C5
:1008600066CA62CC5ECE19A0397101535AD056D2F5
:1008700052D44ED64AD826DA22DC06DE3301614055
:10088000828241114AC026C222C406C68282B24D6B
:100890004101024D924C224CB24B4101024B924A13
:1008A000224AB2494101024992442244B2404101E4
:1008B0008280970100209381E1F417F10020130159
:1008C000617437850200B70500203756002063FAAF
:1008D000C5008322050023A0550011059105E3EA18
:1008E000C5FEFD42739002BC37050020670005007D
:020000040002F8
:108000006F10300B00000000000000200000000096
:10801000A2090020A409002000000060B018002080
:108020000000000000000000B0180020B018002080
:108030000000000000000000B01800200000000058
:10804000B609002000000000B0180020B018002081
:10805000B0180020B0180020B0180020B018002080
:10806000B0180020B0180020B0180020B018002070
:10807000B0180020B0180020B0180020B018002060
:10808000B0180020B0180020B0180020B018002050
:10809000680B0020B0180020B0180020B018002095
:1080A000B0180020B0180020130580087310058058
:1080B00037F500E0130535D1930500080F00F00FE8
:1080C0002300B5002300B5002300B5002300B50050
:1080D0002300B5002300B5002300B5002300B50040
:1080E0002300B5002300B5002300B5002300B50030
:1080F0002300B5002300B5002300B5002300B50020
:108100002300B5002300B5002300B5002300B5000F
:108110002300B5002300B5002300B5002300B500FF
:108120000100010001000100010001000100010047
:108130000100010001000100010001000100010037
:10814000010001008280EF02C07FB707404041116B
:10815000238D070037B9030002C61309F9973704C6
:1081600040409D49154AB2476376F90005454101F3
:108170006F007000230D34016537230C44014D3727
:108180001C2C793F1C2C93F4F70F593F93F71400E4
:10819000230D040089C7B24785073EC6E9B70145EC
:1081A000F9B7EF02007A2A84AE84713F85472A89A5
:1081B0006305F50413DA040193D98400AD47937A7B
:1081C000F40F137AFA0F93F9F90F93F4F40F63068F
:1081D000F400930780046315F402370440409D4780
:1081E0003CAC3D3F230C5401253F230C44010D3F83
:1081F000230C3401353704AC25374A856F00A0774E
:10820000370440400D4B230D6401193F99471CACC6
:10821000013F230D04002937230D6401D9B7EF0274
:10822000E0730547AA87638DE5000947638EE50083
:10823000014589E5BE8513050002A5376F0040742E
:10824000AA8513052005D5BFAA851305800DF5B7AE
:10825000EF02406E937BF50F13090010330979414B
:108260002A8A2E84328BAA8509456361C902153F8B
:10827000AA8A229BB704404063158B0056856F0085
:10828000E06E1C2005049CAC613DFDB7193FAA8A35
:108290002299B70440401C2005049CAC5135E31CD6
:1082A00024FF93090BF0DE9913040A103304744180
:1082B00093D989008144B70B404063E93403330408
:1082C0006A01937504F00945E93DB3EAAA008144C7
:1082D0001374F40FB7094040E3F284FAB30799002E
:1082E0009C238504238CF900253DFDB793958400DC
:1082F000A29509457D35B3EAAA00130C09108347FE
:1083000009000509238CFB00213DE31A89FFE3974F
:108310000AF68504C204C1804DB7EF028062AE84C4
:10832000AA852D453284B7094040A53D83C7890100
:108330002A89FD3383C78901A294DD336315940034
:108340004A856F00406383C789010504A30FF4FECB
:10835000C13BEDB7EF02E05EAE84AA851305800451
:108360003284B7094040353D83C789012A894D3B96
:1083700083C78901A2946D3383C789010504A30FC4
:10838000F4FE793BE31A94FE4A85F5A3EF02805A86
:1083900041118567131415003EC2A167330AB4006A
:1083A0003EC4C167AA8A13541A003EC6540001494C
:1083B0003306AA409C423357F4023307F702636541
:1083C0005701BA976374F606630509007D1913799E
:1083D000F90F2285CA85A13593172900C1078A970D
:1083E00083A947FFE177AA8433543403A16B330494
:1083F0003403A2993E94330B7401631E090263EAAD
:108400006A05216BB30A5A414E9B568A630B0904D5
:10841000216963E86A0585454E851135C98CB30726
:108420002B018DE4DA89D28A3E8BE5B705099106E6
:108430001379F90F41B7E3647BFDE36254FD2285B4
:108440008545F13BC98C33047441D5D4268541015F
:1084500031ABFD773E9BDA85130500029933C98C59
:1084600079BF0569E3F459FFCE8513050002338A0D
:108470002901053BC98CD289F5B71307A005A38C48
:10848000E1828280A38C01828280EF02204D411123
:108490002A840D653000A1451305C50C653D1C8778
:1084A000AA841CA09C871CB01C843CA09C843CB06B
:1084B0001C855CA09C855CB07931458D4101C9A1CA
:1084C000EF02C04941112A840D653000A145130512
:1084D000C50C49351C87AA841CA09C871CB01C8431
:1084E0003CA09C843CB01C855CA09C855CB01C8638
:1084F0007CA09C867CB08139458D410151A1EF0261
:10850000E0452A842A860D6591451305450999356C
:108510001C203830AA843CB018A01C3038203CA065
:1085200018B01531458DA9A9EF0240434111AA8425
:108530000D651306F10085451D05293D9C872A849C
:108540001307000A93F7070281C71307100A85472C
:108550009CA0238DE182C53E418D410115A103C739
:1085600091839307A0056316F706EF02803D411142
:1085700085647000914513854400E93B1C86130710
:10858000500F2A846393E70498866310F7041C87CE
:10859000639DE7029887631AF702B7B75AA59387D6
:1085A00057A593854400130520043EC6DD3E2A846A
:1085B0008144B709404011497C00A6979C2385045B
:1085C000238CF900B13EE39924FFB53E418D410172
:1085D0005DA611458280EF026038370440408D4728
:1085E0003CAC3D3E930790FB1CAC1D3E230D0400AC
:1085F00041AEEF02A036370440408D473CAC0D360B
:108600009307B0FA1CAC293E230D040095AEEF028F
:10861000E03483C7A183AE8401112A84B2859DCB47
:1086200083C7A1831307100A639EE702B707F9FF08
:10863000B306F40021670D4563F4E602FD17AE971B
:10864000A29763FFE70026862285C1392A84E53C8C
:10865000418D39A01305F10132C6F935B24569D112
:10866000056139AE1307000AE39FE7FCB707FDFF7A
:10867000C1B7EF02A02E83C7A18301112A84A9C725
:1086800083C7A1831307100A6398E704B367B40094
:10869000D2070D45A1E3B707F9FFB306F400216740
:1086A00063FAE602FD17AE97A29763F5E70203C7E8
:1086B00091839307A0051145631EF7002285F931C8
:1086C0002A845134418D39A01305F1012EC6A93DEC
:1086D000B2455DD505616DA41307000AE399E7FC77
:1086E000B367B400D2070D45F5F7B707FDFF75B7BF
:1086F000EF02C02683C7A18301112A84A9C383C7BF
:10870000A1831307100A6396E704B707F9FFB306BE
:10871000F40021670D4563FCE602FD17B297A297AE
:1087200063F7E70203C791839307A0051145631020
:10873000F7022285313E2A843934418D09A8130578
:10874000F10132C62EC4CD33A24532464DD9056162
:1087500005AC1307000AE397E7FCB707FDFF45BF29
:10876000EF02C01F83C7A18301112A84B9C383C745
:10877000A1831307100A6396E704B367B400D20716
:108780000D453707070085EF637BE4029387F5FF0C
:10879000A29763F6E70203C791839307A0051145EB
:1087A000631FF7002285DD362A84EFF0DF99418DC3
:1087B00039A01305F1012EC6853BB2454DD905619F
:1087C000C1A21307000AE398E7FCB367B400D2071D
:1087D0000D45F5F73707030045BFEF02201883C7A3
:1087E000A18301112A84A1C383C7A1831307100A9F
:1087F0006395E704370707000D45637EE40293079E
:10880000F6FFA29763F9E70203C791839307A005D8
:1088100011456312F7022285EFF09FA32A84EFF03F
:108820009F92418D09A81305F10132C62EC4ED397E
:10883000A245324655D90561A1A21307000AE39566
:10884000E7FC370703004DBFEF02A00F83C7A183EA
:1088500041112A89AE84328485CF83C7A18313074F
:10886000100A639DE702370707000D456376E902AA
:108870009307F4FFCA9763F1E702B38984003309D1
:108880009940014463939902EFF0FF8B418D29A039
:108890001305E100513971D14101F1A81307000A14
:1088A000E39DE7FC37070300C9B71306F1008545D0
:1088B00033852401EFF07FA698209C872A846305E6
:1088C000F70013652500C9BF85046DBFEF0260077F
:1088D00083C7A18341112A842E89B2849DCB83C78B
:1088E000A1831307100A639CE702370707000D45B1
:1088F0006375E4029387F4FFA29763F0E7024A8668
:10890000A6852285EFF07FA12A84EFF0DF83418DD9
:1089100029A01305F100093979D14101A9A813074C
:10892000000AE39EE7FC37070300D1B73971014322
:108930006EC619A0397141536AC866CA62CC5ECE50
:1089400019A0397101535AD056D252D44ED64AD8B2
:1089500026DA22DC06DE33016140828241114AC000
:1089600026C222C406C68282B24D4101024D924CFB
:10897000224CB24B4101024B924A224AB249410178
:10898000024992442244B240410182802A8309CAAA
:1089900083830500230073007D16050385056DFAAA
:1089A000828001A03706404089661307860A1C436F
:1089B000B58F1CC3DDBFB707404093878708984336
:1089C0008566358F98C315680288370640401307BF
:1089D00086081C43B58F1CC3DDBF83C7D18293F7C4
:1089E000F707A386F18283D6E18113070010639312
:1089F000E602B7474040D8331377070FD8B3D833D0
:108A000013671700D8B3374740405C3393E7070834
:108A10005CB3828083D6E18113070020639CE6006B
:108A2000B7474040D8331377070FD8B3D83313670D
:108A30002700C9BF83D6E18113070030639CE6009D
:108A4000B7474040D8331377070FD8B3D8331367ED
:108A500087004DBF03D7E18193070040E315F7FA84
:108A6000B7474040D8331377070FD8B337570020A4
:108A700013070700F8C7130750032396E70A0947AF
:108A80002387E70AD83313674700ADBFB747404095
:108A90007D479AABBAAB13070004F8CFB8D3F8D32D
:108AA000B8D7F8D713070020B8DBF8DBB8DF138797
:108AB000C19B98D31387C193D8D31387C197B8C3E9
:108AC0001387C18B98D71387C18FF8C337570020FE
:108AD0001307470BD8D71387C187B8C7239E07084A
:108AE000238F07080947A38FE7082390070A2381EC
:108AF000070AA381E70A2392070A2383070AA383AD
:108B0000E70A2394070A2385070AA385E70A239621
:108B1000070A2387070AA387E70A8280374740406E
:108B20002312A70A8347670A93F7C70F93E7270023
:108B30002303F70A8280EFF27FE22A861384C18B37
:108B40001385C19F9385C18B9135EF0090038947B1
:108B5000630BF5007D1513351500A300A40409452A
:108B600023000404653F29BD011126CC22CE4ACA48
:108B70004EC852C656C45AC2B744404098249C348A
:108B80009376F70F418B630A0778983493F7F70FC2
:108B90009D8B418B631307640947638BE75E6361B9
:108BA000F7066393075C83C7F409A18B638C0758AE
:108BB0009387C19B9823B6232381E1829833A381B5
:108BC000E182FA23DE23239EE1802390D182239F3A
:108BD000F18003CA21829386C19B137A0A06631827
:108BE0000A2A83C531822D4593F7F50F6361B52AB3
:108BF000B73500208A07938505C0AE979C438287CE
:108C000015476385E75C7244E2445249C249324ADF
:108C1000A24A124B05617300203083D70182994626
:108C2000A183FD1793F7F70F63E4F612B736002020
:108C30008A07938606C3B6979C438287B73700207E
:108C4000938707D2842323A2F18235A8B7474040F7
:108C50009433854513F6F60F639EB60A238BC180C5
:108C600093060020239CD18003C761818547631848
:108C7000F70AB7370020938707D0A433B82323A27D
:108C8000F182A204D98C83D7C18163F4F400239EBE
:108C9000918003D7C1819307F0039304000463E636
:108CA000E70083D4C181C204C18003AB4182268620
:108CB0001385C19BDA85D939269B23A2618393074B
:108CC000F00F6306FA1C83C72182E207E18763DCA9
:108CD000074403D7C1819307000463E6E70083D705
:108CE000C181C207C18303D7C1811D8F4207418360
:108CF000239EE18037474040231EF7089947230F02
:108D0000F708374740408347F70993F7F707A30F62
:108D1000F708D5BD238B018093060004A1B7B737B0
:108D20000020938707CE91BF83D70182094793F72D
:108D3000F70F6388E702636AF70099EF9387018171
:108D4000842323A2F182014A3DBF0D476380E702DD
:108D50008144130AF00F05BFB7370020938707CD72
:108D6000D5B5B7370020938787CAE9BDB73700204C
:108D7000938707C9C1BDB7370020938747C8D9B5C6
:108D800083C661810547639CE602B737002093875D
:108D900007CEA433B823B7350020A204D98C3755A9
:108DA00000201386E4FF938525CE1305A503F93E25
:108DB000B75700209387870323A2F182E9B583C7C1
:108DC000618113FAF70FC9F7B7370020938707D0EF
:108DD000A433B823B7350020A204D98C375500201E
:108DE0001386E4FF938525D01305A5054536B757AF
:108DF000002093878705C9B783D7018293F7F70FC0
:108E0000238DF180C9B583C7B1819CA203D7C181ED
:108E10008547E3FAE7EA239EF18075B583D701829F
:108E200093F7F70FA38DF1800547238AE18061BD99
:108E300083C72182FD8B99EF83D70182054793F782
:108E4000F70F6396E70483C7518193F7E70FA38A6F
:108E5000F18095BD83C621828947FD8A6399F60218
:108E600083D7018293F7F70F9DE383D7E18113073F
:108E7000200893F7F70F6386E7046362F7020D4754
:108E80006386E7041547638DE7046387D702B74716
:108E900040401547238FE708A38FE7089DB51307C8
:108EA0004008638AE70213076008E392E7FEB747CA
:108EB0004040238B070A01BD37474040A303F70A10
:108EC00019B5B74740402383070AF5BBB747404071
:108ED000A385D70ACDBBB74740402387070AE5B330
:108EE000B7474040A389D70AF9BB83C72182FD8BCE
:108EF000B5EB83D70182854693F7F70F639ED700C2
:108F0000B737002083C777CE93F70702C9D383C74B
:108F1000518193E7170025BF83D70182094793F753
:108F2000F70FE396E7F603D7E18193070010630498
:108F3000F70203D7E18193070020630EF70003D700
:108F4000E181930700306308F70003D7E1819307BD
:108F50000040E31AF7D683C7D18293E70708A386B8
:108F6000F18295B383C721828946FD8BE39DD7D4D7
:108F700083D7018293F7F70FE39707D483D7E18173
:108F80001307100893F7F70F638BE7046366F70284
:108F90000D476381E70615476384E7080547E398B3
:108FA000E7EE374740408347370A93F7C70F93E709
:108FB0001700A301F70A01BB130740086387E70402
:108FC00013076008E395E7EC374740408347670B9A
:108FD00093F7C70F93E71700230BF70AEDB1374755
:108FE00040408347270A93F7C70F93E717002301F1
:108FF000F70AD1B9374740408347B70A93F7C70FFD
:1090000093E71700A305F70A7DB937474040834728
:10901000E70A93F7C70F93E717002307F70A65B12D
:10902000374740408347370B93F7C70F93E7170045
:10903000A309F70A49B923800600C9BB83C7218267
:10904000239E019A0947FD8B639EE70A03D7E181BE
:10905000130610081377F70F6305C7066363E6026C
:109060000D46630DC70615466304C70885476302AE
:10907000F70403D7C1818947E3FBE7E0239EF18032
:1090800039B5130640086300C70613066008630677
:10909000C70613062008E31EC7FC374740400347B6
:1090A000670A0D8B05466313C70098A203D7C181D9
:1090B0008DB3B747404083C7370A8D8B6393E70072
:1090C0009CA2B747404083C7270A05478D8B63930F
:1090D000E7009CA203D7C181894725BB37474040A1
:1090E0000347B70A7DBF374740400347E70A55BFEC
:1090F000374740400347370B6DB73747404003477A
:10910000670B45B783C72182FD8B81CB83D7C18194
:10911000E37BF7BA239EE1807DB683C75181858BBF
:10912000F5D798A2E5B783D7C18189EBB74740400F
:10913000239E07081947238FE708E1B6B747404049
:10914000194799BBA38F040883D7C40783C721821B
:1091500093F7070689C7239E018083C7318283D78F
:10916000C181E39007BAD9B703D70408A384E18289
:109170000547A385E18283C7340A93F7C70FA3810C
:10918000F40A83C7340A93F7F707A381F40AA5BC4E
:1091900083C7740A054793C74700A383F40A03D51E
:1091A00044081375F50F2384A1822385E182EFF033
:1091B0009F9883C7740A93F7F707A383F40A83C7BA
:1091C000740A93E72700A383F40A35BC83C7340BE2
:1091D00093F7F707A389F40A3DB40947638AE710B8
:1091E000636AF70A639F070C83D7C18181E79947B8
:1091F000A38FF40883C7218293F70706BDEB83C7CB
:109200003182954613F7F70F6380D70A99476315A4
:10921000F70A03D7C1819307F0031304000463E640
:10922000E70003D4C1814204418083A441822286A5
:10923000A6851385C19BEFF06FF583D7C181A294FA
:1092400023A29182818FC207C183239EF180B747F9
:109250004040239E870803C7E70913474700238F31
:10926000E70803C7E7091377C70F13672700238FA2
:10927000E70883C7D182E207E18763D40700EFF0F4
:10928000CFF5374740408347E70993F7F707230FA8
:10929000F70895BA0D47E398E79683C7A40A93F7B2
:1092A000F7072385F40A85B283C7A1813747404079
:1092B00093F7F70F3CB375BFB7474040239E0708AD
:1092C0004DBF2390040A83C7240A93C74700238114
:1092D000F40A2386018283C7240A93F7C70F2381E8
:1092E000F40A83C7240A93F7F7072381F40A21BA03
:1092F00083D7440A83C7640A93C747002383F40AC9
:1093000083C7640A93F7C70F2383F40A83C7640AE9
:1093100093F7F7072383F40AFDB09C2493F707041F
:1093200089C7930700049CA4F9B893F7260095C752
:1093300089479CA4B824098B11CB03C751811367BB
:109340002700A38AE18083C7518175B803C7518183
:109350001377D70FA38AE1807DB093F7160099CFDA
:10936000A38D0180238D0180A38A0180238A01803F
:10937000A3810400EFF08FF1854775B794A46FF0D7
:109380009F88EFF2AFDD9387C19F80339C23130743
:1093900020086383E708636DF70013070008638AFA
:1093A000E702130710086382E70205456FF04FDDFF
:1093B00013073008E39BE7FEA38701820547238755
:1093C000E182EFF02F8C0945D5B7EFF00F8B014507
:1093D000F1BFEFF08F8AB754002083A7C40733078B
:1093E000F4001356C70093D6C7006315D6009566E0
:1093F0006397D7007D758565798DEFF06FB603A50E
:10940000C4072286938501A0EFF02FBD83A7C40770
:10941000A29723AEF40665BFB754002003A58407C6
:109420002286938501A0EFF02FC283A784071375CE
:10943000F50FA29723ACF40695BFEFF22FD22A8442
:109440003705820085450505EF00E0748D45370539
:109450000800F12B814537050400D12BEF00901552
:109460002285EF00F00D6FF0AFD137A74040834762
:109470005780858BEDDF034507808280EFF26FCC4C
:10948000ED37930770056313F508C5379307B00AE6
:10949000631EF506D93F938AC19F2A892380AA00BB
:1094A000E9373304A9001374F40F2A8AA380AA00B1
:1094B0006D3FB307850093F4F70F2381AA0075373A
:1094C00033049500A381AA001379D90F93070008EC
:1094D0001374F40F6318F9009389C19F014985093A
:1094E00063182A03593763138502613D8947630F67
:1094F000F500B7A7404003C7578023800780054782
:109500006312E50203C757802380A7806FF0AFC6C0
:10951000A93F2A940509A381A9001374F40F1379B4
:10952000F90F75BF03C7578023800780C5B7EFF2D7
:10953000EFC2373500201305C5C4EF00507437045F
:109540004040130784081C438566B7E400E0D58FCC
:109550001CC3116923A024115145EF00300F93075C
:1095600044159843B706F8FFFD161367070498C320
:10957000984313067005758F98C310A0930680FA60
:1095800014A001009307441498431367070898C375
:109590002300040010A014A001009843B706E0FFC8
:1095A000FD16758F98C32300040023A024216FF0BB
:1095B0002FBDEFF2AFBA4111D928EF00B0028D45AF
:1095C0000565652E8D4509659D218545370510008A
:1095D000092B370440401307C4081C438566130554
:1095E000800CD58F1CC31307C40A1C438966D58F12
:1095F0001CC39306840C9C423707F0FF7D17F98F3C
:109600009CC2EF00B004716513050520EF007007E0
:1096100083A58180373500201305C5C5EF00F063B1
:109620006800EFE0DFEDB245373500201305C5C611
:10963000EF00B062373500201305C5C7EF00306476
:1096400078309307A00A6314F700D53501A01304FE
:10965000440C1C4037071000F98F99E3C93D01A065
:10966000396513050510D13BB7A4404083C754802A
:10967000858B91C3213583C7E182EDDBB70740407D
:109680001307A0FAF8B385450545F92301A0B707EC
:1096900040409386471498421377070819CF938761
:1096A00047159C4337070800F98FBDCBB7877D016D
:1096B0009387078423A4F18082809C4213070002D1
:1096C00093F70706638DE702B7373101938707D019
:1096D0003707404003274714B1662166758F630F33
:1096E000C7026363E6020DC791666307D7023707B7
:1096F0004040183711830507B3D7E70265BFB78726
:109700007D0193870784E9B7E313D7FE3D4711A096
:109710006147B387E702E1BF5147E5BF9207C1BF89
:10972000B7373101938707D071B7EFF28FA103A745
:109730008180B78793039387F76F63F9E714B707BF
:1097400040401307700598A3130780FA98A30100FF
:1097500093864714984237062000518F98C23704E9
:10976000404023800700253793044415A52D9C40D5
:1097700081451305000893E707049CC039231305AE
:109780003002512DB7674040938707089843B706CA
:1097900000803145558F98C39843B70600C0FD1629
:1097A000758F98C39843B706004093097005558F8D
:1097B00098C39525854513050008C1299C403707A6
:1097C000F8FF7D17F98F9CC023003401130980FA3C
:1097D000230024010100930444149C4093E70708EC
:1097E0009CC0230004002300340123002401010055
:1097F0009C403707C0FF7D17F98F9CC023000400F1
:109800007935CD23E526230034012300240101000E
:10981000930740031CB423000400230034012300F9
:10982000240101009C4051777D17F98F9CC09C401A
:109830009CC0230004002300340123002401010004
:109840009C4093F7F7F99CC09C4093E707069CC0A7
:1098500023000400230034012300240101009C4064
:109860003707400013053002D98F9CC02300040045
:109870005D23230034012300240101009C4093F761
:10988000F7F79CC0230004006FF0EF8EB70740404D
:109890001307700598A3130780FA98A30100138695
:1098A00047141842B706E0FFFD16758F18C245BD74
:1098B00001A097410000938161FC17E100001301B2
:1098C0006174171500001305655B973500009385DB
:1098D00065731386418163FAC5008322050023A0C6
:1098E000550011059105E3EAC5FE13854181938575
:1098F000C1A36377B500232005001105E36DB5FE14
:10990000FD42739002BC8D427390428089629382C3
:1099100082887390023097E2FFFF9382226F93E276
:10992000320073905230972201E09382A26D93D25D
:1099300022007390023B972201E09382A26C93D2A3
:1099400022007390123BC142739032BCAD6293828D
:1099500002D07390023A9142739002BDB7020003A5
:10996000890273B022BCEFF05FDC970200009382A3
:1099700082C47390123473002030914763EFB702B2
:10998000B7370020938747D38A05BE959841B7071C
:10999000404093874709028794431345F5FF3707F3
:1099A0004040E98E94C3930607099C42E98F9CC20C
:1099B000930707089843798D88C382809043934624
:1099C000F5FF37074040758E90C3130607091C4208
:1099D000C98F1CC2930707089843F98E94C38280ED
:1099E000944337074040C98E94C3930607099C42AD
:1099F0001345F5FF65BF9843498F98C3B7074040AB
:109A0000938707089843498F98C38280B7074040DF
:109A1000938607089842498F98C29386070998420F
:109A20001345F5FF93874709698F98C261B791473E
:109A300063EFB702B7370020938787D48A05BE95B6
:109A40009841B70740409387470B028794431345DB
:109A5000F5FF37074040E98E94C39306070B9C42FD
:109A6000E98F9CC29307070A9843798D88C3828047
:109A700090439346F5FF37074040758E90C3130619
:109A8000070B1C42C98F1CC29307070A9843F98E23
:109A900094C38280944337074040C98E94C3930691
:109AA000070B9C421345F5FF65BF9843498F98C348
:109AB000B70740409387070A9843498F98C382802D
:109AC000B70740409386070A9842498F98C2938609
:109AD000070B98421345F5FF9387470B698F98C290
:109AE00061B7914763EFB702B73700209387C7D5B7
:109AF0008A05BE959841B70740409387470D028776
:109B000094431345F5FF37074040E98E94C393060D
:109B1000070D9C42E98F9CC29307070C9843798DEF
:109B200088C3828090439346F5FF37074040758E87
:109B300090C31306070D1C42C98F1CC29307070C64
:109B40009843F98E94C38280944337074040C98E6E
:109B500094C39306070D9C421345F5FF65BF9843D8
:109B6000498F98C3B70740409387070C9843498FA4
:109B700098C38280B70740409386070C9842498F6C
:109B800098C29386070D98421345F5FF9387470DBA
:109B9000698F98C261B7B707404013870714104315
:109BA00063550500938707169043135705013D8BB6
:109BB000FD57B397E7009356450193C7F7FFFD8A1A
:109BC0003397D7001347F7FF718F05466396C5009B
:109BD000E98FB397D7005D8FB70740406355050005
:109BE00023A0E716828023A0E7148280EFE21FD72C
:109BF00041116800EFE0BF90B247370741561307A5
:109C0000875093F7F7F0638BE70037074356130746
:109C100087506383E70241016FE09FD689457D55F8
:109C2000C935894537054000193537C5F1FF8945E4
:109C30001305F5679933C5B73705F0FF89457D15DD
:109C40004D353705F1FF89451305F50BCD33797592
:109C500089451305F577F9BFB7074040FC238547D1
:109C60006391F502B70740401307700598A31307E7
:109C700080FA1365050498A30100E8A32380070078
:109C800082801345F5FF3D89F1BFB70740401307B8
:109C9000700598A3130780FA98A301000547639AFB
:109CA000E500F827498FF8A7B70740402380070051
:109CB0008280F8271345F5FF698FF5B7EFE29FC75C
:109CC00083A48180A5ED86049180939714002A8453
:109CD00063E6A706135C15002A8B814A2685054991
:109CE000014A8549930BF007228681468145EF00A2
:109CF0001038AA8799E16374AC00B307F44013D716
:109D0000F741636657016397EA0063F56701CA8903
:109D10003E8BBA8A9307190063147901630C0A0019
:109D200033D5F40233B727013E893A9A93171500C9
:109D3000E3FC87FA238831836FE05FC38549DDBF89
:109D4000EFE2DFC181452A84953F83C7018303A5E4
:109D5000818025473355F502A9473305F50285472C
:109D60000D813355850215056378A7002946814684
:109D70008145EF006075AA8737A74040834637804A
:109D800093E60608A301D78083C60183A303D78087
:109D900093D6870093F6F60FA300D78093F7F70FBB
:109DA0002300F7808347378093F7F707A301F780F5
:109DB0006FE01FBDEFE29FBA7165130505204937BB
:109DC000B7A74040130770FC2381E7800D47A381AC
:109DD000E78013070004A380E78011472382E78010
:109DE0006FE01FBA37F700E01C4393E747001CC33E
:109DF00083A7818037470F0013070724B3D7E702F3
:109E0000238CF1821307803E93F7F70FB387E702A5
:109E100023AAF1828280B7F700E0D8438146799B7C
:109E2000D8C303C781833306A702014790CBD4CBA5
:109E3000814694C7D8C798431367170298C3D8437D
:109E4000058B75DF9843799B98C38280B7F700E054
:109E5000D8438146799BD8C303A741833306E502E3
:109E6000014790CBD4CB814694C7D8C7984313679A
:109E7000170298C3D843058B75DF9843799B98C325
:109E80008280EFE2BFAD83A781805144294633042D
:109E9000F4028146814511803354A40222852D2588
:109EA0002A89AA842946814622858145EF00301CF3
:109EB00081E5914763F4A70093041900B7D74040A8
:109EC000130700F8B8B30547F8B313D78400137726
:109ED000F70F98B393F4F40F84A30D47B8B31307A7
:109EE00070FCB8A31307000498B3B70740409386EB
:109EF000470B98429387070A1377F7EF98C2984366
:109F00001367072098C36FE0BFA732858147B7D694
:109F1000404063C3A7008280D832137707026DDF09
:109F20003387F5001823850798A2E5B7011106CEFF
:109F30002EC60DCD1841AA8705C358417D5511CBBA
:109F40008546631BD70098472300070023A207001C
:109F50000545F240056182809847B24614A39847B0
:109F6000050798C7D8437D17D8C3DDB705466C00F1
:109F7000693FF9BF797122D426D24ECE52CC56CA4F
:109F800006D64AD05AC82A8AAE8A328481449309B6
:109F9000000263440602B3879A00838707009DE3AB
:109FA00063D6840263D2E402198C93F726009309E6
:109FB000000281C719E393090003858A01499DE6E0
:109FC000228929A88504C1BF058CC5B70144F1BF0A
:109FD000CE8552853AC6993F32477D19E34A20FF24
:109FE00022896353040001493304244163CBE40212
:109FF000CA84B3872441D697838507009DED2289C3
:10A000006341200563530400014433059400B250BA
:10A01000225492540259F249624AD24A424B456153
:10A020008280B3049740268B9305000352857D1BE5
:10A03000F53DE31B0BFE269965BF5285C53D8504A2
:10A040004DBFCE855285DD357D195DBF5D71A6C2E0
:10A0500052DC86C6A2C4CAC04EDE56DABA843E8A34
:10A0600095E1930700030147D28626862C08FC84DD
:10A070001137B640264496440649F259625AD25ADC
:10A08000616182802A893684C68A91CAA9470144BF
:10A090006317F60063D50500B305B0400544A30778
:10A0A00001029307F102A546130568FC33F7C502C8
:10A0B00063D3E6002A9713070703A38FE7FE93896C
:10A0C000F7FF33D7C50263F7C50401CCB9C41377D2
:10A0D0002A0021C79305D0024A8542C6813D3248F5
:10A0E000FD1493774A0099CF930710069305000358
:10A0F0004A85631CF8021D3D930580074A853D355E
:10A100000904F9145687D2862686CE854A859D3560
:10A11000229585B7BA85CE8751BF1307D002A38F8A
:10A12000E9FE01449389E7FF6DBF0935930580057A
:10A13000F1B7014582800145828039715AD0373BA1
:10A14000002022DC26DA4AD84ED652D456D25ECE31
:10A1500062CC06DE66CAAA892E893284014A81440D
:10A16000930B5002930AB002294C130B0BD78305B3
:10A1700009008DE56386090081454E85EFF01FDB00
:10A18000F250625426854259D254B259225A925AF8
:10A19000025BF24B624CD24C216182806388750174
:10A1A0004E85EFF0BFD885040509D1B783071900A4
:10A1B000930C1900639A7701930550024E85EFF0D6
:10A1C000FFD685046689CDB7D5D76387570563C8A1
:10A1D000FA00130730026384E704814705A01307E0
:10A1E000D002638AE70013070003E398E7FE930CAD
:10A1F0002900894721A0930C2900854703870C007B
:10A200006303570563C1EA0293063002630BD7026A
:10A2100066890146A54535A8930C29007DBF930C9E
:10A2200029009147E1BF9306D0026309D700930646
:10A230000003E31FD7FC93E7270031A0850C854777
:10A24000C1BF93E74700850CE1B7330686030509D4
:10A25000369603070900930607FD13F5F60FE3F69C
:10A26000A5FE9305E0029946631EB70005098146E5
:10A27000A54503070900130707FD1375F70F63F5DD
:10A28000A502368A030709009305A0066301B70AF1
:10A2900063C1E5029305C004630BB708930580060C
:10A2A0006300B70881452DA0B38686030509BA96D9
:10A2B000C9B793054007630CB7069305A007630869
:10A2C000B7061305C00681456314A700050991452B
:10A2D0000307090013050006130810066344E50090
:10A2E00013081004130570066340E50613055006B5
:10A2F0006355A71413057004634DE50293055004DC
:10A30000635DB71293063004E310D7EA1840930C4C
:10A310004400A30601005886BE8601476C0041A098
:10A32000030519008145E315E5FA090955B7050943
:10A3300095BF93063006E30BD7FC63C6E60693068B
:10A3400080056303D7028DB5930630076301D704F8
:10A3500063C8E6029306F006630ED70A9306000769
:10A3600093E74700E312D7E4D9CD1D04937584FF2A
:10A37000C288138485003E880147B287C1463DA844
:10A38000930650076300D706930680075DBF184009
:10A39000930C4400DA8511C3BA855287BE864E8578
:10A3A000EFF05FBD2DA895C11D04937584FFC28891
:10A3B000138485003E880547B287A946D0418C4169
:10A3C0004E85EFF01FD7AA94C5B3930C4400D288F2
:10A3D0003287854629460C404E85EFF03FC7AA9448
:10A3E0006684D9B399C91D04937584FFC288138408
:10A3F00085003E880147B287C9B7930C4400D288D4
:10A4000032878146C1BF3287930C4400D28881468F
:10A410004146D1B781CD1D04937584FFC288138452
:10A4200085003E880147B287A14649BF3287930C19
:10A430004400D2888146214679BF1D04937584FF6C
:10A44000138485003287D0418C41C2884E853E8876
:10A45000B687A946EFF03FCEBDB739712ED232D4C0
:10A46000AA855010014506CE36D63AD83EDA42DCEF
:10A4700046DE32C6EFF07FCCF240216182800111CE
:10A4800022CC26CA06CE1C21AA840144DC8783077D
:10A49000F100050499EFA9479305F1000546014530
:10A4A000DC87EFF09FA62285F2406244D24405612A
:10A4B000828005469305F1000145EFF01FA5B387A3
:10A4C00084009C23DC87E1B73288AA882E87DDEAE6
:10A4D00063F1C510C167636DF618B7070001B337A4
:10A4E000F600B307F040E19BE1073353F6009716FF
:10A4F00000009386A6889A96942213030002B697CA
:10A50000B306F340630BF3003397D500B357F50060
:10A510003318D6005D8FB318D50013560801335594
:10A52000C70293160801C18293D708013377C70287
:10A53000B385A6024207D98F63FAB700C297130703
:10A54000F5FF63E4070163EDB7303A858D8F33D7AC
:10A55000C702C20893D80801B3F7C702B386E60260
:10A56000C207B3E8F80063FBD800C2989307F7FF6F
:10A5700063E50801791763E3D8003E874205598DEA
:10A580008145828063F5D500814501458280C167A0
:10A5900063E7F618B7070001B3B7F600B307F0405A
:10A5A000E19BE10733D8F600170700001307077D8A
:10A5B00042971823930800023E973388E84063943B
:10A5C000E81863E1B6283335C50013451500814509
:10A5D00082804DC6C167637FF62413370610134788
:10A5E00017000E07B356E600970700009387077918
:10A5F000B6979C2393060002BA97B38EF640639EEB
:10A60000F608B387C5409356060142064182854548
:10A6100033D5D70213D70801B3F7D7023303C502E6
:10A62000C207D98F63FA6700C2971307F5FF63E487
:10A63000070163E467223A85B387674033D7D702BF
:10A64000C20893D80801B3F7D7023306C702C2077E
:10A65000B3E8F80063FBC800C2989307F7FF63E50F
:10A660000801791763E3C8003E874205598D82804F
:10A670009337061093C717008E0785BD814697074D
:10A6800000009387A76FB6979C23014793060002AB
:10A69000BA97B38EF640E386F6F63318D60133D375
:10A6A000F50093560801335ED30213160801B395E3
:10A6B000D5014182B357F500CD8F13D70701B318E9
:10A6C000D5013373D302B305C60342033367670072
:10A6D000637BB70042971305FEFF636C0717637A2D
:10A6E000B716791E42970D8F3355D702C207C18323
:10A6F0003377D7023303A6024207D98F63FB670083
:10A70000C2971307F5FF63E2071563F06714791525
:10A71000C29793150E01B3876740C98DD5BD93B716
:10A72000061093C717008E0733D8F60017070000EE
:10A730001307C76442971823930800023E97338893
:10A74000E840E380E8E8335EE600B3960601336E46
:10A75000DE00B3D8E500935E0E01B3D7D803131320
:10A760000E01B3950501135303013357E5004D8FD7
:10A770009356070133160601B3F8D803B305F30265
:10A78000C208B3E6160163FBB600F2969388F7FFA2
:10A7900063E3C60D63F1B60CF917F2968D8EB3D54F
:10A7A000D60342074183B3F6D603B308B302C20609
:10A7B000558F637B170172979386F5FF6369C7090D
:10A7C00063771709F9157297C207C16ECD8F93860B
:10A7D000FEFFB3F5D70013D30701F18E4182338E0C
:10A7E000D50233071741B306D30293580E01B38540
:10A7F000C502B695C6953303C30263F3D5007693BD
:10A8000093D605019A966363D7026305D7003E8508
:10A8100081458280C166FD1633F7D5004207337E3D
:10A82000DE00331505017297E373E5FE1385F7FF2C
:10A8300081458280B70700016377F60293560601CF
:10A8400041475DB38145054582803A85D9B5B685D6
:10A85000A5BF2A8E49BDC68791B77915C297E9BBB6
:10A860007915C297E5B1935686016147B5BB328829
:10A87000AA882E832E87D5E663F1C510C16763636E
:10A88000F618B7070001B337F600B307F040E19BB5
:10A89000E1073353F600970600009386264E9A96FA
:10A8A000942213030002B697B306F340630BF30040
:10A8B0003397D500B357F5003318D6005D8FB31822
:10A8C000D500935508013356B702131308011353EB
:10A8D000030193D708013377B702330666024207B4
:10A8E000D98F63F7C700C29763E4070163E3C730FA
:10A8F000918F33D7B702139508014181B3F7B7029F
:10A9000033076702C2075D8D6378E5004295636592
:10A9100005016373E5004295198D3355D5008145D6
:10A92000828063F3D5008280C16763EAF616B707B9
:10A930000001B3B7F600B307F040E19BE10733D85D
:10A94000F600170700001307674342971823130EFA
:10A9500000023E973308EE406317EE1663E4B6003C
:10A96000636AC500B308C540B386D54033331501CB
:10A970003383664046859A85828059CAC167637E63
:10A98000F62413370610134717000E07B356E600D8
:10A99000970700009387873EB6979C231303000216
:10A9A000BA97B306F3406314F3083387C5401353D3
:10A9B000060142064182B355670293D708013377F7
:10A9C0006702B385C5024207D98F63F8B700C29703
:10A9D00063E5070163F3B700C2978D8F33D7670232
:10A9E000C20893D80801B3F767023307C70213956B
:10A9F000070133E5A800E36BE5F0198D3355D50069
:10AA0000814582809337061093C717008E0751B592
:10AA100081469707000093876736B6979C230147C6
:10AA200013030002BA97B306F340E300F3F83318B8
:10AA3000D60033DEF50013530801B35E6E02131621
:10AA40000801B395D5003357F50041824D8F9357D8
:10AA50000701B318D500337E6E02B385CE02420ED5
:10AA6000B3E7C70163F8B700C29763E5070163F373
:10AA7000B700C2978D8FB3D5670242074183B3F702
:10AA80006702B385C502C2075D8F6378B70042973E
:10AA9000636507016373B70042970D8F29BF93B7B2
:10AAA000061093C717008E0733D8F600170700006B
:10AAB0001307C72C42971823130E00023E97330842
:10AAC000EE40E30DEEE8B3960601B358E600B3E8B6
:10AAD000D80033DEE50013DF0801B357EE03939E81
:10AAE000080193DE0E01B356E50033130501B3955B
:10AAF0000501D58D93D6050133160601337EEE038D
:10AB00003385FE02420EB3E6C60163FBA600C6967D
:10AB1000138EF7FF63ED160D63FBA60CF917C696AF
:10AB2000898E33D5E603C205C181B3F6E603B38E41
:10AB3000AE02C206D58D63FBD501C6959306F5FF1F
:10AB400063E5150B63F3D50B7915C695939607014D
:10AB5000C162C98E1385F2FF33FEA600935F060122
:10AB6000C182718D330FAE02B385D5413385A60204
:10AB700093570F01330EFE032A9EF297B386F60316
:10AB800063F3A7009696C16EFD1E33F5D70113DE61
:10AB900007014205337FDF01B307DE007A9563E5E5
:10ABA000F5026381F5023305A3403333A3009D8D85
:10ABB000B38565403397E50033550501598DB3D50D
:10ABC00005018280E371A3FE3306C5403335C5001D
:10ABD000AA98B38717413285F9B7B7070001637C9C
:10ABE000F60093560601414765B3368585B7F2876F
:10ABF00005BFC297F5B993568601614751BB000066
:10AC00003C100020300E00208E0E0020EA0E0020A6
:10AC10008E0E0020F80D00201A0C00208E0E002051
:10AC2000060E00201C0E002036100020C60C00204E
:10AC30003C0C00204C0C0020280D0020500D002062
:10AC4000500D0020760D0020800D00204A756D709B
:10AC50002041505020313131310D0000537973744F
:10AC6000656D436C6B3A25640D0A0000436869709A
:10AC700049443A253038780D0A0000004941500D0A
:10AC8000000000000A060002FFFFFF400100000074
:10AC90001603300031003200330034003500360036
:10ACA00037003800390000002603570043004800F1
:10ACB000200055005300420032002E0030002000DA
:10ACC00044004500560049004300450020000000B4
:10ACD0000E037700630068002E0063006E00000022
:10ACE0000902200001010080320904000002FF80F7
:10ACF00055000705820240000007050202400000DF
:10AD00000902200001010080320904000002FF80D6
:10AD100055000705820240000007050202400000BE
:10AD200012011001FF8055404843E055000100002A
:10AD30000001000098190020BC190020E019002033
:10AD40000C1A0020F61900204C1A0020701A00205E
:10AD5000941A0020C01A0020AA1A0020001B00200C
:10AD6000241B0020481B0020741B00205E1B0020B9
:10AD7000286E756C6C2900000001020203030303B6
:10AD8000040404040404040405050505050505057B
:10AD9000050505050505050506060606060606065B
:10ADA0000606060606060606060606060606060643
:10ADB000060606060606060607070707070707072B
:10ADC0000707070707070707070707070707070713
:10ADD0000707070707070707070707070707070703
:10ADE00007070707070707070707070707070707F3
:10ADF00007070707070707070808080808080808DB
:10AE000008080808080808080808080808080808C2
:10AE100008080808080808080808080808080808B2
:10AE200008080808080808080808080808080808A2
:10AE30000808080808080808080808080808080892
:10AE40000808080808080808080808080808080882
:10AE50000808080808080808080808080808080872
:10AE60000808080808080808080808080808080862
:10AE70000808080808080808000000000000000092
:10AE800000AAAAAAAAAAAAAAAAEEEEEEEEEEEEEEF0
:10AE9000EEFEFFFFFFFFFFFFFFFFFFFFFF7FBFDFB4
:10AEA000EFF7FBFDFC7EBFDFEFF7FBFD7E00000050
:10AEB0000907000000000000000000000000000082
:10AEC0000000000000000000000000000000000082
:10AED0000907000000000000000000000000000062
:10AEE0000000000000000000000000000000000062
:10AEF0000050000000500000000E27070000000076
:04AF00000403090439
:00000001FF

View File

@@ -1,901 +0,0 @@
:020000040000FA
:100000006F00300B00000000010001000100010042
:1000100001000100010001000100010001000100D8
:100020000100010001000100010001008280EF02D7
:10003000B003B70740404111238D070037B90300D3
:1000400002C61309F997370440409D49154AB24743
:100050006376F900054541016F005004230D34011A
:100060006537230C44014D371C2C793F1C2C93F42D
:10007000F70F593F93F71400230D040089C7B247C7
:1000800085073EC6E9B70145F9B7EF02E07D2A844E
:10009000AE84713F85472A896305F50413DA0401AC
:1000A00093D98400AD47937AF40F137AFA0F93F93A
:1000B000F90F93F4F40F6306F400930780046315BB
:1000C000F402370440409D473CAC3D3F230C5401B3
:1000D000253F230C44010D3F230C3401353704AC7C
:1000E00025374A856F00807B370440400D4B230D38
:1000F0006401193F99471CAC013F230D04002937C7
:10010000230D6401D9B7EF02C0770547AA87638D35
:10011000E5000947638EE500014589E5BE851305C5
:100120000002A5376F002078AA8513052005D5BFEA
:10013000AA851305800DF5B7EF022072937BF50FAA
:1001400013090010330979412A8A2E84328BAA853B
:1001500009456361C902153FAA8A229BB704404042
:1001600063158B0056856F00C0721C2005049CAC83
:10017000613DFDB7193FAA8A2299B70440401C206F
:1001800005049CAC5135E31C24FF93090BF0DE9968
:1001900013040A103304744193D989008144B70BC6
:1001A000404063E9340333046A01937504F0094560
:1001B000E93DB3EAAA0081441374F40FB709404043
:1001C000E3F284FAB30799009C238504238CF90099
:1001D000253DFDB793958400A29509457D35B3EA89
:1001E000AA00130C0910834709000509238CFB00A2
:1001F000213DE31A89FFE3970AF68504C204C18012
:100200004DB7EF026066AE84AA852D453284B709EA
:100210004040A53D83C789012A89FD3383C78901F1
:10022000A294DD33631594004A856F00206783C76D
:1002300089010504A30FF4FEC13BEDB7EF02C062D4
:10024000AE84AA85130580043284B7094040353D49
:1002500083C789012A894D3B83C78901A2946D33E5
:1002600083C789010504A30FF4FE793BE31A94FECA
:100270004A852DA5EF02605E4111856713141500B4
:100280003EC2A167330AB4003EC4C167AA8A1354B0
:100290001A003EC6540001493306AA409C42335717
:1002A000F4023307F70263655701BA976374F606E1
:1002B000630509007D191379F90F2285CA85A135D7
:1002C00093172900C1078A9783A947FFE177AA847A
:1002D00033543403A16B33043403A2993E94330B9B
:1002E0007401631E090263EA6A05216BB30A5A416D
:1002F0004E9B568A630B0904216963E86A058545AC
:100300004E851135C98CB3072B018DE4DA89D28A69
:100310003E8BE5B7050991061379F90F41B7E36400
:100320007BFDE36254FD22858545F13BC98C330496
:100330007441D5D426854101A9ABFD773E9BDA8572
:10034000130500029933C98C79BF0569E3F459FF9D
:10035000CE8513050002338A2901053BC98CD28959
:10036000F5B7B70700201307A0052380E7008280B8
:10037000B7070020238007008280EF0280504111E0
:100380002A840D653000A1451305C50C453D1C8729
:10039000AA841CA09C871CB01C843CA09C843CB0FC
:1003A0001C855CA09C855CB05931458D4101E5A957
:1003B000EF02204D41112A840D653000A14513053F
:1003C000C50CAD3D1C87AA841CA09C871CB01C8456
:1003D0003CA09C843CB01C855CA09C855CB01C86C9
:1003E0007CA09C867CB0A131458D41016DA9EF02B6
:1003F00040492A842A860D659145130545093D3DEE
:100400001C203830AA843CB018A01C3038203CA0F6
:1004100018B03139458D41A9EF02A0464111AA8497
:100420000D651306F10085451D05093D9C872A844D
:100430001307000A93F7070281C71307100A8547BD
:10044000B70600209CA0A380E600D536418D41016F
:1004500099A9B707002003C707009307A0056316F3
:10046000F706EF02604041118564700091451385E5
:100470004400E9331C861307500F2A846393E70472
:1004800098866310F7041C87639DE7029887631AB8
:10049000F702B7B75AA5938757A59385440013056C
:1004A00020043EC6DD362A848144B7094040114904
:1004B0007C00A6979C238504238CF900B136E39930
:1004C00024FFB536418D4101D1AE11458280EF0246
:1004D000403B370440408D473CAC3D36930790FB92
:1004E0001CAC1D36230D04007DAEEF0280393704AD
:1004F00040408D473CAC093E9307B0FA1CAC29360E
:10050000230D04004DA6EF02C037370900208347B2
:100510001900AE8401112A84B2859DCB834719004E
:100520001307100A639EE702B707F9FFB306F4004A
:1005300021670D4563F4E602FD17AE97A29763FFAE
:10054000E7002686228575392A84D534418D39A065
:100550001305F10132C6C935B24569D10561A1A6BD
:100560001307000AE39FE7FCB707FDFFC1B7EF02DF
:100570004031B704002083C7140001112A84B9C791
:1005800083C714001307100A639AE704B367B40023
:10059000D2070D45B1E3B707F9FFB306F4002167B1
:1005A00063FCE602FD17AE97A29763F7E702B70771
:1005B000002003C707009307A0051145631EF7003D
:1005C00022854D392A84A534418D39A01305F101C6
:1005D0002EC69935B2454DD50561F1A41307000A21
:1005E000E397E7FCB367B400D2070D45F5F7B7070B
:1005F000FDFF65B7EF02E028B704002083C71400B1
:1006000001112A84A1C783C714001307100A639934
:10061000E704B707F9FFB306F40021670D4563FF50
:10062000E602FD17B297A29763FAE702B707002028
:1006300003C707009307A00511456311F702228540
:10064000E53C2A84EFF0BF9E418D09A81305F10116
:1006500032C62EC4D133A245324655D50561A1A478
:100660001307000AE394E7FCB707FDFF6DB7EF023D
:100670004021B704002083C7140001112A84A9C7B0
:1006800083C714001307100A6398E704B367B40024
:10069000D2070D453707070095EF637DE402938786
:1006A000F5FFA29763F8E702B707002003C707002A
:1006B0009307A0051145631FF7002285653E2A8434
:1006C000EFF0FF96418D39A01305F1012EC6A93335
:1006D000B2455DD50561C1AA1307000AE396E7FCA0
:1006E000B367B400D2070D45F5F73707030075B7B8
:1006F000EF022019B704002083C7140001112A84D7
:10070000B1C383C714001307100A6397E7043707C0
:1007100007000D456370E4049307F6FFA29763FB9F
:10072000E702B707002003C707009307A00511459C
:100730006312F7022285EFF03FA02A84EFF03F8F8B
:10074000418D09A81305F10132C62EC4F131A2452D
:10075000324645D9056181AA1307000AE393E7FCF5
:10076000370703007DB7EF022010B709002083C7C9
:10077000190041112A89AE84328485CF83C71900BC
:100780001307100A639DE702370707000D456376DC
:10079000E9029307F4FFCA9763F1E702B389840083
:1007A00033099940014463939902EFF05F88418DCA
:1007B00029A01305E1008D3171D14101C5A01307B6
:1007C000000AE39DE7FC37070300C9B71306F100F1
:1007D000854533852401EFF0DFA298209C872A8489
:1007E0006305F70013652500C9BF85046DBFEF02DF
:1007F000A007B709002083C7190041112A842E8958
:10080000B2849DCB83C719001307100A639CE702CB
:10081000370707000D456375E4029387F4FFA2973D
:1008200063F0E7024A86A6852285EFF09F9D2A8421
:10083000EFF0EFFF418D29A01305F100F13E79D1D2
:100840004101A9A81307000AE39EE7FC370703004C
:10085000D1B7397101436EC619A0397141536AC8C5
:1008600066CA62CC5ECE19A0397101535AD056D2F5
:1008700052D44ED64AD826DA22DC06DE3301614055
:10088000828241114AC026C222C406C68282B24D6B
:100890004101024D924C224CB24B4101024B924A13
:1008A000224AB2494101024992442244B2404101E4
:1008B0008280970100209381E1F417F10020130159
:1008C000617437850600B70500203786002063FA7B
:1008D000C5008322050023A0550011059105E3EA18
:1008E000C5FEFD42739002BC37050020670005007D
:020000040006F4
:108000006F10100A000000000000002000000000B7
:10801000A2090020A4090020000000609E18002092
:1080200000000000000000009E1800209E180020A4
:1080300000000000000000009E180020000000006A
:10804000E8090020000000009E1800209E18002073
:108050009E1800209E1800209E1800209E180020C8
:108060009E1800209E1800209E1800209E180020B8
:108070009E1800209E1800209E1800209E180020A8
:108080009E1800209E1800209E1800209E18002098
:10809000880B00209E1800209E1800209E180020AB
:1080A0009E1800209E18002013058008731005807C
:1080B00037F500E0130535D1930500080F00F00FE8
:1080C0002300B5002300B5002300B5002300B50050
:1080D0002300B5002300B5002300B5002300B50040
:1080E0002300B5002300B5002300B5002300B50030
:1080F0002300B5002300B5002300B5002300B50020
:108100002300B5002300B5002300B5002300B5000F
:108110002300B5002300B5002300B5002300B500FF
:108120000100010001000100010001000100010047
:108130000100010001000100010001000100010037
:10814000010001008280EF02C07FB707404041116B
:10815000238D070037B9030002C61309F9973704C6
:1081600040409D49154AB2476376F90005454101F3
:108170006F007000230D34016537230C44014D3727
:108180001C2C793F1C2C93F4F70F593F93F71400E4
:10819000230D040089C7B24785073EC6E9B70145EC
:1081A000F9B7EF02007A2A84AE84713F85472A89A5
:1081B0006305F50413DA040193D98400AD47937A7B
:1081C000F40F137AFA0F93F9F90F93F4F40F63068F
:1081D000F400930780046315F402370440409D4780
:1081E0003CAC3D3F230C5401253F230C44010D3F83
:1081F000230C3401353704AC25374A856F00A0774E
:10820000370440400D4B230D6401193F99471CACC6
:10821000013F230D04002937230D6401D9B7EF0274
:10822000E0730547AA87638DE5000947638EE50083
:10823000014589E5BE8513050002A5376F0040742E
:10824000AA8513052005D5BFAA851305800DF5B7AE
:10825000EF02406E937BF50F13090010330979414B
:108260002A8A2E84328BAA8509456361C902153F8B
:10827000AA8A229BB704404063158B0056856F0085
:10828000E06E1C2005049CAC613DFDB7193FAA8A35
:108290002299B70440401C2005049CAC5135E31CD6
:1082A00024FF93090BF0DE9913040A103304744180
:1082B00093D989008144B70B404063E93403330408
:1082C0006A01937504F00945E93DB3EAAA008144C7
:1082D0001374F40FB7094040E3F284FAB30799002E
:1082E0009C238504238CF900253DFDB793958400DC
:1082F000A29509457D35B3EAAA00130C09108347FE
:1083000009000509238CFB00213DE31A89FFE3974F
:108310000AF68504C204C1804DB7EF028062AE84C4
:10832000AA852D453284B7094040A53D83C7890100
:108330002A89FD3383C78901A294DD336315940034
:108340004A856F00406383C789010504A30FF4FECB
:10835000C13BEDB7EF02E05EAE84AA851305800451
:108360003284B7094040353D83C789012A894D3B96
:1083700083C78901A2946D3383C789010504A30FC4
:10838000F4FE793BE31A94FE4A85F5A3EF02805A86
:1083900041118567131415003EC2A167330AB4006A
:1083A0003EC4C167AA8A13541A003EC6540001494C
:1083B0003306AA409C423357F4023307F702636541
:1083C0005701BA976374F606630509007D1913799E
:1083D000F90F2285CA85A13593172900C1078A970D
:1083E00083A947FFE177AA8433543403A16B330494
:1083F0003403A2993E94330B7401631E090263EAAD
:108400006A05216BB30A5A414E9B568A630B0904D5
:10841000216963E86A0585454E851135C98CB30726
:108420002B018DE4DA89D28A3E8BE5B705099106E6
:108430001379F90F41B7E3647BFDE36254FD2285B4
:108440008545F13BC98C33047441D5D4268541015F
:1084500031ABFD773E9BDA85130500029933C98C59
:1084600079BF0569E3F459FFCE8513050002338A0D
:108470002901053BC98CD289F5B71307A005A38C48
:10848000E1828280A38C01828280EF02204D411123
:108490002A840D653000A1451305C50C653D1C8778
:1084A000AA841CA09C871CB01C843CA09C843CB06B
:1084B0001C855CA09C855CB07931458D4101C9A1CA
:1084C000EF02C04941112A840D653000A145130512
:1084D000C50C49351C87AA841CA09C871CB01C8431
:1084E0003CA09C843CB01C855CA09C855CB01C8638
:1084F0007CA09C867CB08139458D410151A1EF0261
:10850000E0452A842A860D6591451305450999356C
:108510001C203830AA843CB018A01C3038203CA065
:1085200018B01531458DA9A9EF0240434111AA8425
:108530000D651306F10085451D05293D9C872A849C
:108540001307000A93F7070281C71307100A85472C
:108550009CA0238DE182C53E418D410115A103C739
:1085600091839307A0056316F706EF02803D411142
:1085700085647000914513854400E93B1C86130710
:10858000500F2A846393E70498866310F7041C87CE
:10859000639DE7029887631AF702B7B75AA59387D6
:1085A00057A593854400130520043EC6DD3E2A846A
:1085B0008144B709404011497C00A6979C2385045B
:1085C000238CF900B13EE39924FFB53E418D410172
:1085D0005DA611458280EF026038370440408D4728
:1085E0003CAC3D3E930790FB1CAC1D3E230D0400AC
:1085F00041AEEF02A036370440408D473CAC0D360B
:108600009307B0FA1CAC293E230D040095AEEF028F
:10861000E03483C7A183AE8401112A84B2859DCB47
:1086200083C7A1831307100A639EE702B707F9FF08
:10863000B306F40021670D4563F4E602FD17AE971B
:10864000A29763FFE70026862285C1392A84E53C8C
:10865000418D39A01305F10132C6F935B24569D112
:10866000056139AE1307000AE39FE7FCB707FDFF7A
:10867000C1B7EF02A02E83C7A18301112A84A9C725
:1086800083C7A1831307100A6398E704B367B40094
:10869000D2070D45A1E3B707F9FFB306F400216740
:1086A00063FAE602FD17AE97A29763F5E70203C7E8
:1086B00091839307A0051145631EF7002285F931C8
:1086C0002A845134418D39A01305F1012EC6A93DEC
:1086D000B2455DD505616DA41307000AE399E7FC77
:1086E000B367B400D2070D45F5F7B707FDFF75B7BF
:1086F000EF02C02683C7A18301112A84A9C383C7BF
:10870000A1831307100A6396E704B707F9FFB306BE
:10871000F40021670D4563FCE602FD17B297A297AE
:1087200063F7E70203C791839307A0051145631020
:10873000F7022285313E2A843934418D09A8130578
:10874000F10132C62EC4CD33A24532464DD9056162
:1087500005AC1307000AE397E7FCB707FDFF45BF29
:10876000EF02C01F83C7A18301112A84B9C383C745
:10877000A1831307100A6396E704B367B400D20716
:108780000D453707070085EF637BE4029387F5FF0C
:10879000A29763F6E70203C791839307A0051145EB
:1087A000631FF7002285DD362A84EFF0DF99418DC3
:1087B00039A01305F1012EC6853BB2454DD905619F
:1087C000C1A21307000AE398E7FCB367B400D2071D
:1087D0000D45F5F73707030045BFEF02201883C7A3
:1087E000A18301112A84A1C383C7A1831307100A9F
:1087F0006395E704370707000D45637EE40293079E
:10880000F6FFA29763F9E70203C791839307A005D8
:1088100011456312F7022285EFF09FA32A84EFF03F
:108820009F92418D09A81305F10132C62EC4ED397E
:10883000A245324655D90561A1A21307000AE39566
:10884000E7FC370703004DBFEF02A00F83C7A183EA
:1088500041112A89AE84328485CF83C7A18313074F
:10886000100A639DE702370707000D456376E902AA
:108870009307F4FFCA9763F1E702B38984003309D1
:108880009940014463939902EFF0FF8B418D29A039
:108890001305E100513971D14101F1A81307000A14
:1088A000E39DE7FC37070300C9B71306F1008545D0
:1088B00033852401EFF07FA698209C872A846305E6
:1088C000F70013652500C9BF85046DBFEF0260077F
:1088D00083C7A18341112A842E89B2849DCB83C78B
:1088E000A1831307100A639CE702370707000D45B1
:1088F0006375E4029387F4FFA29763F0E7024A8668
:10890000A6852285EFF07FA12A84EFF0DF83418DD9
:1089100029A01305F100093979D14101A9A813074C
:10892000000AE39EE7FC37070300D1B73971014322
:108930006EC619A0397141536AC866CA62CC5ECE50
:1089400019A0397101535AD056D252D44ED64AD8B2
:1089500026DA22DC06DE33016140828241114AC000
:1089600026C222C406C68282B24D4101024D924CFB
:10897000224CB24B4101024B924A224AB249410178
:10898000024992442244B240410182802A8309CAAA
:1089900083830500230073007D16050385056DFAAA
:1089A000828001A0011122CE26CCEF1000572AC6EA
:1089B000EF100057AA84EF100057B2452A843735CC
:1089C0000020130505C0EF10502937350020A6857B
:1089D000130505C1EF10702837350020A285130557
:1089E00005C2EF10902701A09307800873B007809D
:1089F0000F1000000568028801A083C7D18293F799
:108A0000F707A386F18283D6E181130700106393F1
:108A1000E602B7474040D8331377070FD8B3D833AF
:108A200013671700D8B3374740405C3393E7070814
:108A30005CB3828083D6E18113070020639CE6004B
:108A4000B7474040D8331377070FD8B3D8331367ED
:108A50002700C9BF83D6E18113070030639CE6007D
:108A6000B7474040D8331377070FD8B3D8331367CD
:108A700087004DBF03D7E18193070040E315F7FA64
:108A8000B7474040D8331377070FD8B33787002054
:108A900013070700F8C7130750032396E70A09478F
:108AA0002387E70AD83313674700ADBFB747404075
:108AB0007D479AABBAAB13070004F8CFB8D3F8D30D
:108AC000B8D7F8D713070020B8DBF8DBB8DF138777
:108AD000C19B98D31387C193D8D31387C197B8C3C9
:108AE0001387C18B98D71387C18FF8C337870020AE
:108AF0001307470BD8D71387C187B8C7239E07082A
:108B0000238F07080947A38FE7082390070A2381CB
:108B1000070AA381E70A2392070A2383070AA3838C
:108B2000E70A2394070A2385070AA385E70A239601
:108B3000070A2387070AA387E70A8280374740404E
:108B40002312A70A8347670A93F7C70F93E7270003
:108B50002303F70A8280EFF27FE02A861384C18B19
:108B60001385C19F9385C18B1535EF00900389470D
:108B7000630BF5007D1513351500A300A40409450A
:108B800023000404653FEDBB011126CC22CE4ACA66
:108B90004EC852C656C45AC2B744404098249C346A
:108BA0009376F70F418B630A0778983493F7F70FA2
:108BB0009D8B418B631307640947638BE75E636199
:108BC000F7066393075C83C7F409A18B638C07588E
:108BD0009387C19B9823B6232381E1829833A38195
:108BE000E182FA23DE23239EE1802390D182239F1A
:108BF000F18003CA21829386C19B137A0A06631807
:108C00000A2A83C531822D4593F7F50F6361B52A92
:108C1000B73500208A07938505C3AE979C438287AA
:108C200015476385E75C7244E2445249C249324ABF
:108C3000A24A124B05617300203083D70182994606
:108C4000A183FD1793F7F70F63E4F612B736002000
:108C50008A07938606C6B6979C438287B73700205B
:108C60009387C7D4842323A2F18235A8B747404015
:108C70009433854513F6F60F639EB60A238BC180A5
:108C800093060020239CD18003C761818547631828
:108C9000F70AB73700209387C7D2A433B82323A29B
:108CA000F182A204D98C83D7C18163F4F400239E9E
:108CB000918003D7C1819307F0039304000463E616
:108CC000E70083D4C181C204C18003AB4182268600
:108CD0001385C19BDA855D39269B23A261839307A7
:108CE000F00F6306FA1C83C72182E207E18763DC89
:108CF000074403D7C1819307000463E6E70083D7E5
:108D0000C181C207C18303D7C1811D8F420741833F
:108D1000239EE18037474040231EF7089947230FE1
:108D2000F708374740408347F70993F7F707A30F42
:108D3000F708D5BD238B018093060004A1B7B73790
:108D400000209387C7D091BF83D70182094793F74B
:108D5000F70F6388E702636AF70099EF9387018151
:108D6000842323A2F182014A3DBF0D476380E702BD
:108D70008144130AF00F05BFB73700209387C7CF90
:108D8000D5B5B7370020938747CDE9BDB737002069
:108D90009387C7CBC1BDB7370020938707CBD9B521
:108DA00083C661810547639CE602B737002093873D
:108DB000C7D0A433B823B7350020A204D98C378597
:108DC00000201386E4FF9385E5D01305A5037D3EBF
:108DD000B78700209387870323A2F182E9B583C771
:108DE000618113FAF70FC9F7B73700209387C7D20D
:108DF000A433B823B7350020A204D98C37850020CE
:108E00001386E4FF9385E5D21305A5054136B787A0
:108E1000002093878705C9B783D7018293F7F70F9F
:108E2000238DF180C9B583C7B1819CA203D7C181CD
:108E30008547E3FAE7EA239EF18075B583D701827F
:108E400093F7F70FA38DF1800547238AE18061BD79
:108E500083C72182FD8B99EF83D70182054793F762
:108E6000F70F6396E70483C7518193F7E70FA38A4F
:108E7000F18095BD83C621828947FD8A6399F602F8
:108E800083D7018293F7F70F9DE383D7E18113071F
:108E9000200893F7F70F6386E7046362F7020D4734
:108EA0006386E7041547638DE7046387D702B747F6
:108EB00040401547238FE708A38FE7089DB51307A8
:108EC0004008638AE70213076008E392E7FEB747AA
:108ED0004040238B070A01BD37474040A303F70AF0
:108EE00019B5B74740402383070AF5BBB747404051
:108EF000A385D70ACDBBB74740402387070AE5B310
:108F0000B7474040A389D70AF9BB83C72182FD8BAD
:108F1000B5EB83D70182854693F7F70F639ED700A1
:108F2000B737002083C737D193F70702C9D383C768
:108F3000518193E7170025BF83D70182094793F733
:108F4000F70FE396E7F603D7E18193070010630478
:108F5000F70203D7E18193070020630EF70003D7E0
:108F6000E181930700306308F70003D7E18193079D
:108F70000040E31AF7D683C7D18293E70708A38698
:108F8000F18295B383C721828946FD8BE39DD7D4B7
:108F900083D7018293F7F70FE39707D483D7E18153
:108FA0001307100893F7F70F638BE7046366F70264
:108FB0000D476381E70615476384E7080547E39893
:108FC000E7EE374740408347370A93F7C70F93E7E9
:108FD0001700A301F70A01BB130740086387E704E2
:108FE00013076008E395E7EC374740408347670B7A
:108FF00093F7C70F93E71700230BF70AEDB1374735
:1090000040408347270A93F7C70F93E717002301D0
:10901000F70AD1B9374740408347B70A93F7C70FDC
:1090200093E71700A305F70A7DB937474040834708
:10903000E70A93F7C70F93E717002307F70A65B10D
:10904000374740408347370B93F7C70F93E7170025
:10905000A309F70A49B923800600C9BB83C7218247
:10906000239E019A0947FD8B639EE70A03D7E1819E
:10907000130610081377F70F6305C7066363E6024C
:109080000D46630DC70615466304C708854763028E
:10909000F70403D7C1818947E3FBE7E0239EF18012
:1090A00039B5130640086300C70613066008630657
:1090B000C70613062008E31EC7FC37474040034796
:1090C000670A0D8B05466313C70098A203D7C181B9
:1090D0008DB3B747404083C7370A8D8B6393E70052
:1090E0009CA2B747404083C7270A05478D8B6393EF
:1090F000E7009CA203D7C181894725BB3747404081
:109100000347B70A7DBF374740400347E70A55BFCB
:10911000374740400347370B6DB737474040034759
:10912000670B45B783C72182FD8B81CB83D7C18174
:10913000E37BF7BA239EE1807DB683C75181858B9F
:10914000F5D798A2E5B783D7C18189EBB7474040EF
:10915000239E07081947238FE708E1B6B747404029
:10916000194799BBA38F040883D7C40783C72182FB
:1091700093F7070689C7239E018083C7318283D76F
:10918000C181E39007BAD9B703D70408A384E18269
:109190000547A385E18283C7340A93F7C70FA381EC
:1091A000F40A83C7340A93F7F707A381F40AA5BC2E
:1091B00083C7740A054793C74700A383F40A03D5FE
:1091C00044081375F50F2384A1822385E182EFF013
:1091D0009F9883C7740A93F7F707A383F40A83C79A
:1091E000740A93E72700A383F40A35BC83C7340BC2
:1091F00093F7F707A389F40A3DB40947638AE71098
:10920000636AF70A639F070C83D7C18181E7994797
:10921000A38FF40883C7218293F70706BDEB83C7AA
:109220003182954613F7F70F6380D70A9947631584
:10923000F70A03D7C1819307F0031304000463E620
:10924000E70003D4C1814204418083A44182228685
:10925000A6851385C19BEFF06FF383D7C181A294DC
:1092600023A29182818FC207C183239EF180B747D9
:109270004040239E870803C7E70913474700238F11
:10928000E70803C7E7091377C70F13672700238F82
:10929000E70883C7D182E207E18763D40700EFF0D4
:1092A000CFF5374740408347E70993F7F707230F88
:1092B000F70895BA0D47E398E79683C7A40A93F792
:1092C000F7072385F40A85B283C7A1813747404059
:1092D00093F7F70F3CB375BFB7474040239E07088D
:1092E0004DBF2390040A83C7240A93C747002381F4
:1092F000F40A2386018283C7240A93F7C70F2381C8
:10930000F40A83C7240A93F7F7072381F40A21BAE2
:1093100083D7440A83C7640A93C747002383F40AA8
:1093200083C7640A93F7C70F2383F40A83C7640AC9
:1093300093F7F7072383F40AFDB09C2493F70704FF
:1093400089C7930700049CA4F9B893F7260095C732
:1093500089479CA4B824098B11CB03C7518113679B
:109360002700A38AE18083C7518175B803C7518163
:109370001377D70FA38AE1807DB093F7160099CFBA
:10938000A38D0180238D0180A38A0180238A01801F
:10939000A3810400EFF08FF1854775B794A46FF0B7
:1093A0009F88EFF2AFDB9387C19F80339C23130725
:1093B00020086383E708636DF70013070008638ADA
:1093C000E702130710086382E70205456FF04FDBE1
:1093D00013073008E39BE7FEA38701820547238735
:1093E000E182EFF02F8A0945D5B7EFF00F890145EB
:1093F000F1BFEFF08F88B784002083A7C40733073D
:10940000F4001356C70093D6C7006315D6008566CF
:109410006397D7007D758565798DEFF06FB403A5EF
:10942000C4072286938501A0EFF02FBB83A7C40752
:10943000A29723AEF40665BFB784002003A5840776
:109440002286938501A0EFF02FC083A784071375B0
:10945000F50FA29723ACF40695BFEFF22FD02A8424
:109460003705820085450505EF00C0718D4537053C
:1094700008006D238145370504004D23EF0070126D
:109480002285EF00D00A6FF0AFCF37A74040834767
:109490005780858BEDDF034507808280EFF26FCA2E
:1094A000ED37930770056313F508C5379307B00AC6
:1094B000631EF506D93F938AC19F2A892380AA009B
:1094C000E9373304A9001374F40F2A8AA380AA0091
:1094D0006D3FB307850093F4F70F2381AA0075371A
:1094E00033049500A381AA001379D90F93070008CC
:1094F0001374F40F6318F9009389C19F014985091A
:1095000063182A03593763138502613D8947630F46
:10951000F500B7A7404003C7578023800780054761
:109520006312E50203C757802380A7806FF0AFC4A2
:10953000A93F2A940509A381A9001374F40F137994
:10954000F90F75BF03C7578023800780C5B7EFF2B7
:10955000EFC0373500201305C5C7EF00507237E460
:1095600000E09164232094105145EF00100DB707DF
:1095700040401387471514433706F8FF7D1693E6DE
:10958000060414C3144393057005F18E14C38CA311
:10959000130680FA90A3010013874714144393E63F
:1095A000060814C3238007008CA390A30100144372
:1095B0003706E0FF7D16F18E14C3238007002320B9
:1095C00094206FF0EFBBEFF2CFB741114528EF00C9
:1095D00050001305800CEF00500637D50700EF0050
:1095E000300983A5818037350020130585C8EF0039
:1095F000D0666800EFE0BFF0B245373500201305B4
:1096000085C9EF00906537350020130585CAEF0046
:1096100010673704404078309307A00A6314F700BE
:109620003D3701A085450965D52E1304440A1C4029
:109630000967F98F99E3213F01A0716513050520A2
:10964000293D37A94040B704404009648347598009
:10965000858B91C3A13583C7E18291CBB707404089
:109660001307A0FAF8B385450545F12B01A09387B0
:10967000440A9C43E18FF9FBD93D01A0B707404064
:109680009386471498421377070819CF9387471595
:109690009C4337070800F98FBDCBB7877D019387BF
:1096A000078423A4F18082809C421307000293F771
:1096B0000706638DE702B7373101938707D0370775
:1096C000404003274714B1662166758F630FC702B8
:1096D0006363E6020DC791666307D7023707404010
:1096E000183711830507B3D7E70265BFB7877D0138
:1096F00093870784E9B7E313D7FE3D4711A061477D
:10970000B387E702E1BF5147E5BF9207C1BFB73753
:109710003101938707D071B7EFF2AFA203A7818021
:10972000B78793039387F76F63F9E714B707404050
:109730001307700598A3130780FA98A30100938676
:109740004714984237062000518F98C23704404092
:1097500023800700253793044415A52D9C4081459F
:109760001305000893E707049CC039231305300252
:10977000512DB7674040938707089843B70600808C
:109780003145558F98C39843B70600C0FD16758FB5
:1097900098C39843B706004093097005558F98C346
:1097A0009525854513050008C1299C403707F8FF1A
:1097B0007D17F98F9CC023003401130980FA230020
:1097C00024010100930444149C4093E707089CC0C3
:1097D00023000400230034012300240101009C40E5
:1097E0003707C0FF7D17F98F9CC02300040079352F
:1097F000CD23E52623003401230024010100930733
:1098000040031CB42300040023003401230024017E
:1098100001009C4051777D17F98F9CC09C409CC0F3
:1098200023000400230034012300240101009C4094
:1098300093F7F7F99CC09C4093E707069CC0230070
:109840000400230034012300240101009C40370759
:10985000400013053002D98F9CC0230004005D2313
:10986000230034012300240101009C4093F7F7F703
:109870009CC0230004006FF00F90B707404013070F
:10988000700598A3130780FA98A301001386471464
:109890001842B706E0FFFD16758F18C245BD01A03E
:1098A00097710000938181FD17E10000130181751C
:1098B000171500001305455F9765000093858574B3
:1098C0001386418163FAC5008322050023A0550059
:1098D00011059105E3EAC5FE138541819385C1A376
:1098E0006377B500232005001105E36DB5FEFD4249
:1098F000739002BC8D427390428089629382828809
:109900007390023097E2FFFF9382427093E232003D
:1099100073905230972201E09382C26E93D222005C
:109920007390023B972201E09382C26D93D2220092
:109930007390123BC142739032BCAD62938202D0ED
:109940007390023A9142739002BDB70200038902FC
:1099500073B022BCEFF05FDC970200009382E2C696
:109960007390123473002030914763EFB702B7371A
:109970000020938707D68A05BE959841B7074040D7
:1099800093874709028794431345F5FF3707404003
:10999000E98E94C3930607099C42E98F9CC2930702
:1099A00007089843798D88C3828090439346F5FFDA
:1099B00037074040758E90C3130607091C42C98FB4
:1099C0001CC2930707089843F98E94C3828094437E
:1099D00037074040C98E94C3930607099C4213453C
:1099E000F5FF65BF9843498F98C3B70740409387F9
:1099F00007089843498F98C38280B70740409386F1
:109A000007089842498F98C29386070998421345E0
:109A1000F5FF93874709698F98C261B7914763EF54
:109A2000B702B7370020938747D78A05BE9598417C
:109A3000B70740409387470B028794431345F5FFD0
:109A400037074040E98E94C39306070B9C42E98F89
:109A50009CC29307070A9843798D88C382809043FC
:109A60009346F5FF37074040758E90C31306070BEA
:109A70001C42C98F1CC29307070A9843F98E94C3EE
:109A80008280944337074040C98E94C39306070BE6
:109A90009C421345F5FF65BF9843498F98C3B707AC
:109AA00040409387070A9843498F98C38280B7073D
:109AB00040409386070A9842498F98C29386070BC5
:109AC00098421345F5FF9387470B698F98C261B79A
:109AD000914763EFB702B7370020938787D88A058D
:109AE000BE959841B70740409387470D028794433E
:109AF0001345F5FF37074040E98E94C39306070DE1
:109B00009C42E98F9CC29307070C9843798D88C3C8
:109B1000828090439346F5FF37074040758E90C38F
:109B20001306070D1C42C98F1CC29307070C9843EC
:109B3000F98E94C38280944337074040C98E94C302
:109B40009306070D9C421345F5FF65BF9843498F67
:109B500098C3B70740409387070C9843498F98C331
:109B60008280B70740409386070C9842498F98C27D
:109B70009386070D98421345F5FF9387470D698F2C
:109B800098C261B7B7074040138707141043635565
:109B90000500938707169043135705013D8BFD572A
:109BA000B397E7009356450193C7F7FFFD8A3397B4
:109BB000D7001347F7FF718F05466396C500E98FFD
:109BC000B397D7005D8FB70740406355050023A0CA
:109BD000E716828023A0E7148280EFE23FD841118C
:109BE0006800EFE0DF91B24737074156130787500F
:109BF00093F7F7F0638BE700370743561307875057
:109C00006383E70241016FE0BFD789457D55C935C0
:109C1000894537054000193537C5F1FF89451305DA
:109C2000F5679933C5B73705F0FF89457D154D3583
:109C30003705F1FF89451305F50BCD337975894556
:109C40001305F577F9BFB7074040FC2385476391BB
:109C5000F502B70740401307700598A3130780FA71
:109C60001365050498A30100E8A323800700828000
:109C70001345F5FF3D89F1BFB70740401307700555
:109C800098A3130780FA98A301000547639AE5009B
:109C9000F827498FF8A7B707404023800700828044
:109CA000F8271345F5FF698FF5B7EFE2BFC883A426
:109CB0008180A5ED86049180939714002A8463E641
:109CC000A706135C15002A8B814A26850549014A9F
:109CD0008549930BF007228681468145EF00303994
:109CE000AA8799E16374AC00B307F44013D7F74136
:109CF000636657016397EA0063F56701CA893E8B83
:109D0000BA8A9307190063147901630C0A0033D5EA
:109D1000F40233B727013E893A9A93171500E3FC02
:109D200087FA238831836FE07FC48549DDBFEFE286
:109D3000FFC281452A84953F83C7018303A58180A3
:109D400025473355F502A9473305F50285470D81AF
:109D50003355850215056378A7002946814681455C
:109D6000EF008076AA8737A740408346378093E686
:109D70000608A301D78083C60183A303D78093D6A7
:109D8000870093F6F60FA300D78093F7F70F230011
:109D9000F7808347378093F7F707A301F7806FE0D9
:109DA0003FBEEFE2BFBB7165130505204937B7A77A
:109DB0004040130770FC2381E7800D47A381E780B3
:109DC00013070004A380E78011472382E7806FE038
:109DD0003FBB37F700E01C4393E747001CC383A752
:109DE000818037470F0013070724B3D7E702238C7E
:109DF000F1821307803E93F7F70FB387E70223AA98
:109E0000F1828280B7F700E0D8438146799BD8C3BE
:109E100003C781833306A702014790CBD4CB814689
:109E200094C7D8C798431367170298C3D843058BC4
:109E300075DF9843799B98C38280B7F700E0D843D9
:109E40008146799BD8C303A741833306E5020147C6
:109E500090CBD4CB814694C7D8C7984313671702D9
:109E600098C3D843058B75DF9843799B98C382804C
:109E7000EFE2DFAE83A78180514429463304F40228
:109E80008146814511803354A4022285352D2A89CB
:109E9000AA842946814622858145EF00501D81E52F
:109EA000914763F4A70093041900B7D74040130704
:109EB00000F8B8B30547F8B313D784001377F70F4A
:109EC00098B393F4F40F84A30D47B8B3130770FC51
:109ED000B8A31307000498B3B70740409386470B15
:109EE00098429387070A1377F7EF98C2984313674E
:109EF000072098C36FE0DFA832858147B7D640407E
:109F000063C3A7008280D832137707026DDF3387DF
:109F1000F5001823850798A2E5B7732510348280D1
:109F2000732520348280732530348280011106CE5F
:109F30002EC60DCD1841AA8705C358417D5511CBBA
:109F40008546631BD70098472300070023A207001C
:109F50000545F240056182809847B24614A39847B0
:109F6000050798C7D8437D17D8C3DDB705466C00F1
:109F70006137F9BF797122D426D24ECE52CC56CA5F
:109F800006D64AD05AC82A8AAE8A328481449309B6
:109F9000000263440602B3879A00838707009DE3AB
:109FA00063D6840263D2E402198C93F726009309E6
:109FB000000281C719E393090003858A01499DE6E0
:109FC000228929A88504C1BF058CC5B70144F1BF0A
:109FD000CE8552853AC6993F32477D19E34A20FF24
:109FE00022896353040001493304244163CBE40212
:109FF000CA84B3872441D697838507009DED2289C3
:10A000006341200563530400014433059400B250BA
:10A01000225492540259F249624AD24A424B456153
:10A020008280B3049740268B9305000352857D1BE5
:10A03000F53DE31B0BFE269965BF5285C53D8504A2
:10A040004DBFCE855285DD357D195DBF5D71A6C2E0
:10A0500052DC86C6A2C4CAC04EDE56DABA843E8A34
:10A0600095E1930700030147D28626862C08FC84DD
:10A070001137B640264496440649F259625AD25ADC
:10A08000616182802A893684C68A91CAA9470144BF
:10A090006317F60063D50500B305B0400544A30778
:10A0A00001029307F102A546130568FC33F7C502C8
:10A0B00063D3E6002A9713070703A38FE7FE93896C
:10A0C000F7FF33D7C50263F7C50401CCB9C41377D2
:10A0D0002A0021C79305D0024A8542C6813D3248F5
:10A0E000FD1493774A0099CF930710069305000358
:10A0F0004A85631CF8021D3D930580074A853D355E
:10A100000904F9145687D2862686CE854A859D3560
:10A11000229585B7BA85CE8751BF1307D002A38F8A
:10A12000E9FE01449389E7FF6DBF0935930580057A
:10A13000F1B7014582800145828039715AD0373BA1
:10A14000002022DC26DA4AD84ED652D456D25ECE31
:10A1500062CC06DE66CAAA892E893284014A81440D
:10A16000930B5002930AB002294C130BCBD98305F1
:10A1700009008DE56386090081454E85EFF01FDB00
:10A18000F250625426854259D254B259225A925AF8
:10A19000025BF24B624CD24C216182806388750174
:10A1A0004E85EFF0BFD885040509D1B783071900A4
:10A1B000930C1900639A7701930550024E85EFF0D6
:10A1C000FFD685046689CDB7D5D76387570563C8A1
:10A1D000FA00130730026384E704814705A01307E0
:10A1E000D002638AE70013070003E398E7FE930CAD
:10A1F0002900894721A0930C2900854703870C007B
:10A200006303570563C1EA0293063002630BD7026A
:10A2100066890146A54535A8930C29007DBF930C9E
:10A2200029009147E1BF9306D0026309D700930646
:10A230000003E31FD7FC93E7270031A0850C854777
:10A24000C1BF93E74700850CE1B7330686030509D4
:10A25000369603070900930607FD13F5F60FE3F69C
:10A26000A5FE9305E0029946631EB70005098146E5
:10A27000A54503070900130707FD1375F70F63F5DD
:10A28000A502368A030709009305A0066301B70AF1
:10A2900063C1E5029305C004630BB708930580060C
:10A2A0006300B70881452DA0B38686030509BA96D9
:10A2B000C9B793054007630CB7069305A007630869
:10A2C000B7061305C00681456314A700050991452B
:10A2D0000307090013050006130810066344E50090
:10A2E00013081004130570066340E50613055006B5
:10A2F0006355A71413057004634DE50293055004DC
:10A30000635DB71293063004E310D7EA1840930C4C
:10A310004400A30601005886BE8601476C0041A098
:10A32000030519008145E315E5FA090955B7050943
:10A3300095BF93063006E30BD7FC63C6E60693068B
:10A3400080056303D7028DB5930630076301D704F8
:10A3500063C8E6029306F006630ED70A9306000769
:10A3600093E74700E312D7E4D9CD1D04937584FF2A
:10A37000C288138485003E880147B287C1463DA844
:10A38000930650076300D706930680075DBF184009
:10A39000930C4400DA8511C3BA855287BE864E8578
:10A3A000EFF05FBD2DA895C11D04937584FFC28891
:10A3B000138485003E880547B287A946D0418C4169
:10A3C0004E85EFF01FD7AA94C5B3930C4400D288F2
:10A3D0003287854629460C404E85EFF03FC7AA9448
:10A3E0006684D9B399C91D04937584FFC288138408
:10A3F00085003E880147B287C9B7930C4400D288D4
:10A4000032878146C1BF3287930C4400D28881468F
:10A410004146D1B781CD1D04937584FFC288138452
:10A4200085003E880147B287A14649BF3287930C19
:10A430004400D2888146214679BF1D04937584FF6C
:10A44000138485003287D0418C41C2884E853E8876
:10A45000B687A946EFF03FCEBDB739712ED232D4C0
:10A46000AA855010014506CE36D63AD83EDA42DCEF
:10A4700046DE32C6EFF07FCCF240216182800111CE
:10A4800022CC26CA06CE1C21AA840144DC8783077D
:10A49000F100050499EFA9479305F1000546014530
:10A4A000DC87EFF07FA52285F2406244D24405614B
:10A4B000828005469305F1000145EFF0FFA3B387C5
:10A4C00084009C23DC87E1B73288AA882E87DDEAE6
:10A4D00063F1C510C167636DF618B7070001B337A4
:10A4E000F600B307F040E19BE1073353F6009716FF
:10A4F00000009386668B9A96942213030002B69707
:10A50000B306F340630BF3003397D500B357F50060
:10A510003318D6005D8FB318D50013560801335594
:10A52000C70293160801C18293D708013377C70287
:10A53000B385A6024207D98F63FAB700C297130703
:10A54000F5FF63E4070163EDB7303A858D8F33D7AC
:10A55000C702C20893D80801B3F7C702B386E60260
:10A56000C207B3E8F80063FBD800C2989307F7FF6F
:10A5700063E50801791763E3D8003E874205598DEA
:10A580008145828063F5D500814501458280C167A0
:10A5900063E7F618B7070001B3B7F600B307F0405A
:10A5A000E19BE10733D8F600170700001307C77FC8
:10A5B00042971823930800023E973388E84063943B
:10A5C000E81863E1B6283335C50013451500814509
:10A5D00082804DC6C167637FF62413370610134788
:10A5E00017000E07B356E600970700009387C77B56
:10A5F000B6979C2393060002BA97B38EF640639EEB
:10A60000F608B387C5409356060142064182854548
:10A6100033D5D70213D70801B3F7D7023303C502E6
:10A62000C207D98F63FA6700C2971307F5FF63E487
:10A63000070163E467223A85B387674033D7D702BF
:10A64000C20893D80801B3F7D7023306C702C2077E
:10A65000B3E8F80063FBC800C2989307F7FF63E50F
:10A660000801791763E3C8003E874205598D82804F
:10A670009337061093C717008E0785BD814697074D
:10A68000000093876772B6979C23014793060002E8
:10A69000BA97B38EF640E386F6F63318D60133D375
:10A6A000F50093560801335ED30213160801B395E3
:10A6B000D5014182B357F500CD8F13D70701B318E9
:10A6C000D5013373D302B305C60342033367670072
:10A6D000637BB70042971305FEFF636C0717637A2D
:10A6E000B716791E42970D8F3355D702C207C18323
:10A6F0003377D7023303A6024207D98F63FB670083
:10A70000C2971307F5FF63E2071563F06714791525
:10A71000C29793150E01B3876740C98DD5BD93B716
:10A72000061093C717008E0733D8F60017070000EE
:10A730001307876742971823930800023E973388D0
:10A74000E840E380E8E8335EE600B3960601336E46
:10A75000DE00B3D8E500935E0E01B3D7D803131320
:10A760000E01B3950501135303013357E5004D8FD7
:10A770009356070133160601B3F8D803B305F30265
:10A78000C208B3E6160163FBB600F2969388F7FFA2
:10A7900063E3C60D63F1B60CF917F2968D8EB3D54F
:10A7A000D60342074183B3F6D603B308B302C20609
:10A7B000558F637B170172979386F5FF6369C7090D
:10A7C00063771709F9157297C207C16ECD8F93860B
:10A7D000FEFFB3F5D70013D30701F18E4182338E0C
:10A7E000D50233071741B306D30293580E01B38540
:10A7F000C502B695C6953303C30263F3D5007693BD
:10A8000093D605019A966363D7026305D7003E8508
:10A8100081458280C166FD1633F7D5004207337E3D
:10A82000DE00331505017297E373E5FE1385F7FF2C
:10A8300081458280B70700016377F60293560601CF
:10A8400041475DB38145054582803A85D9B5B685D6
:10A85000A5BF2A8E49BDC68791B77915C297E9BBB6
:10A860007915C297E5B1935686016147B5BB328829
:10A87000AA882E832E87D5E663F1C510C16763636E
:10A88000F618B7070001B337F600B307F040E19BB5
:10A89000E1073353F600970600009386E6509A9638
:10A8A000942213030002B697B306F340630BF30040
:10A8B0003397D500B357F5003318D6005D8FB31822
:10A8C000D500935508013356B702131308011353EB
:10A8D000030193D708013377B702330666024207B4
:10A8E000D98F63F7C700C29763E4070163E3C730FA
:10A8F000918F33D7B702139508014181B3F7B7029F
:10A9000033076702C2075D8D6378E5004295636592
:10A9100005016373E5004295198D3355D5008145D6
:10A92000828063F3D5008280C16763EAF616B707B9
:10A930000001B3B7F600B307F040E19BE10733D85D
:10A94000F600170700001307274642971823130E37
:10A9500000023E973308EE406317EE1663E4B6003C
:10A96000636AC500B308C540B386D54033331501CB
:10A970003383664046859A85828059CAC167637E63
:10A98000F62413370610134717000E07B356E600D8
:10A990009707000093874741B6979C231303000253
:10A9A000BA97B306F3406314F3083387C5401353D3
:10A9B000060142064182B355670293D708013377F7
:10A9C0006702B385C5024207D98F63F8B700C29703
:10A9D00063E5070163F3B700C2978D8F33D7670232
:10A9E000C20893D80801B3F767023307C70213956B
:10A9F000070133E5A800E36BE5F0198D3355D50069
:10AA0000814582809337061093C717008E0751B592
:10AA100081469707000093872739B6979C23014703
:10AA200013030002BA97B306F340E300F3F83318B8
:10AA3000D60033DEF50013530801B35E6E02131621
:10AA40000801B395D5003357F50041824D8F9357D8
:10AA50000701B318D500337E6E02B385CE02420ED5
:10AA6000B3E7C70163F8B700C29763E5070163F373
:10AA7000B700C2978D8FB3D5670242074183B3F702
:10AA80006702B385C502C2075D8F6378B70042973E
:10AA9000636507016373B70042970D8F29BF93B7B2
:10AAA000061093C717008E0733D8F600170700006B
:10AAB0001307872F42971823130E00023E9733087F
:10AAC000EE40E30DEEE8B3960601B358E600B3E8B6
:10AAD000D80033DEE50013DF0801B357EE03939E81
:10AAE000080193DE0E01B356E50033130501B3955B
:10AAF0000501D58D93D6050133160601337EEE038D
:10AB00003385FE02420EB3E6C60163FBA600C6967D
:10AB1000138EF7FF63ED160D63FBA60CF917C696AF
:10AB2000898E33D5E603C205C181B3F6E603B38E41
:10AB3000AE02C206D58D63FBD501C6959306F5FF1F
:10AB400063E5150B63F3D50B7915C695939607014D
:10AB5000C162C98E1385F2FF33FEA600935F060122
:10AB6000C182718D330FAE02B385D5413385A60204
:10AB700093570F01330EFE032A9EF297B386F60316
:10AB800063F3A7009696C16EFD1E33F5D70113DE61
:10AB900007014205337FDF01B307DE007A9563E5E5
:10ABA000F5026381F5023305A3403333A3009D8D85
:10ABB000B38565403397E50033550501598DB3D50D
:10ABC00005018280E371A3FE3306C5403335C5001D
:10ABD000AA98B38717413285F9B7B7070001637C9C
:10ABE000F60093560601414765B3368585B7F2876F
:10ABF00005BFC297F5B993568601614751BB000066
:10AC0000626F6F74206D6570633A25780A000000EA
:10AC1000626F6F74206D63617573653A25780A0001
:10AC2000626F6F74206D7476616C3A25780A00004B
:10AC30005C100020500E0020AE0E00200A0F0020F5
:10AC4000AE0E0020180E00203A0C0020AE0E0020A0
:10AC5000260E00203C0E002056100020E60C00209E
:10AC60005C0C00206C0C0020480D0020700D0020B2
:10AC7000700D0020960D0020A00D00204A756D700B
:10AC8000204150500D00000053797374656D436C82
:10AC90006B3A25640D0A00004368697049443A25FF
:10ACA0003038780D0A0000004941500D00000000C6
:10ACB0000A060002FFFFFF400100000016033000FB
:10ACC00031003200330034003500360037003800E0
:10ACD00039000000260357004300480020005500BB
:10ACE0005300420032002E00300020004400450096
:10ACF0005600490043004500200000000E03770085
:10AD0000630068002E0063006E000000090220004E
:10AD100001010080320904000002FF805500070590
:10AD200082024000000705020240000009022000E4
:10AD300001010080320904000002FF805500070570
:10AD400082024000000705020240000012011001CB
:10AD5000FF8055404843E05500010000000100001D
:10AD600086190020AA190020CE190020FA19002007
:10AD7000E41900203A1A00205E1A0020821A0020EE
:10AD8000AE1A0020981A0020EE1A0020121B002094
:10AD9000361B0020621B00204C1B0020286E756CA7
:10ADA0006C290000000102020303030304040404ED
:10ADB0000404040405050505050505050505050547
:10ADC0000505050506060606060606060606060627
:10ADD0000606060606060606060606060606060613
:10ADE00006060606070707070707070707070707F7
:10ADF00007070707070707070707070707070707E3
:10AE000007070707070707070707070707070707D2
:10AE100007070707070707070707070707070707C2
:10AE200007070707080808080808080808080808A6
:10AE30000808080808080808080808080808080892
:10AE40000808080808080808080808080808080882
:10AE50000808080808080808080808080808080872
:10AE60000808080808080808080808080808080862
:10AE70000808080808080808080808080808080852
:10AE80000808080808080808080808080808080842
:10AE90000808080808080808080808080808080832
:10AEA00008080808000000000000000000AAAAAA84
:10AEB000AAAAAAAAAAEEEEEEEEEEEEEEEEFEFFFFD4
:10AEC000FFFFFFFFFFFFFFFFFF7FBFDFEFF7FBFD90
:10AED000FC7EBFDFEFF7FBFD7E00000009070000EE
:10AEE0000000000000000000000000000000000062
:10AEF0000000000000000000000000000907000042
:10AF00000000000000000000000000000000000041
:10AF10000000000000000000000000000010000021
:10AF200000100000000E27070000000004030904C1
:00000001FF

View File

@@ -45,7 +45,14 @@ void Boot_Timeout_Task(void)
*******************************************************************************/
void SPI_FLASH_APP_Data_Erase(void)
{
for(uint8_t i = 0;i < 7;i++)
Flash_Erase_Page(0); //<2F><><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(uint8_t i = 1;i < 16;i++)
{
WDT_Feed();
Flash_Erase_Sector(i);
}
for(uint8_t i = 1;i < 7;i++)
{
WDT_Feed();
@@ -140,8 +147,8 @@ uint8_t Launcher_Uart_Upgrade_Process(UART_t *g_rev)
__enable_irq();
DBG_SYS_Printf("Len %d \r\n",g_rev->deal_len);
Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UARTx_Buff:",g_rev->deal_buff,g_rev->deal_len);
// DBG_SYS_Printf("Len %d \r\n",g_rev->deal_len);
// Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UARTx_Buff:",g_rev->deal_buff,g_rev->deal_len);
temp_val = g_rev->deal_buff[BCOMM_FMT_LEN_H];
temp_val <<= 8;
@@ -149,7 +156,8 @@ uint8_t Launcher_Uart_Upgrade_Process(UART_t *g_rev)
if(temp_val != g_rev->deal_len)
{
DBG_SYS_Printf("Len Fail \r\n");
DBG_SYS_Printf("Len Fail %d - %d\r\n",g_rev->deal_len,temp_val);
Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UARTx_Buff:",g_rev->deal_buff,g_rev->deal_len);
return 0x01;
}
@@ -288,11 +296,17 @@ uint8_t Launcher_Uart_Upgrade_Process(UART_t *g_rev)
if(g_Boot_Time < 10) g_Boot_Time = 10;
g_Boot_Time = g_Boot_Time * 1000;
DBG_SYS_Printf("BaudSet: %d",temp_val);
DBG_SYS_Printf("bootTimeout: %d",g_Boot_Time);
g_rev->ChangeBaudFlag = 0x01;
g_rev->CommBaud = temp_val;
if(g_rev->CommBaud != temp_val)
{
g_rev->ChangeBaudFlag = 0x01;
g_rev->CommBaud = temp_val;
DBG_SYS_Printf("BaudSet: %d",temp_val);
}else {
DBG_SYS_Printf("Baud Not Change: %d",temp_val);
}
g_rev->ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplySUCC;
g_rev->ackLen = 1;
@@ -838,13 +852,14 @@ uint8_t Read_APP_Feature(void)
if( update_flag == 0x01 )
{
/*˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8>µ<EFBFBD>APP<50><50>
* <20><>app_flag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD>Ϊ0x05<30><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>ΪAPP <20>̼<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ÿд<C3BF><D0B4>һ<EFBFBD>Σ<EFBFBD>app_flag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>1<EFBFBD><31>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD><E3B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*- <20><>app_flag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB><EFBFBD><EFBFBD>Ϊ0x05<30><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>ΪAPP <20>̼<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*- ÿд<C3BF><D0B4>һ<EFBFBD>Σ<EFBFBD>app_flag <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<D6BE><CEBB>1<EFBFBD><31>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>Ϊ0<CEAA><30><EFBFBD><EFBFBD><E3B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* */
g_update_flag.app_flag = 0x05;
}else {
/**/
if( (g_update_flag.app_flag != 0x00) && (g_update_flag.app_flag <= 0x05) )
/* - <20><>APP֮ǰû<C7B0><C3BB>д<EFBFBD><D0B4><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* */
if( (g_update_flag.app_flag != 0x00) && (g_update_flag.app_flag != App_Procedure_Ready) && (g_update_flag.app_flag <= 0x05) )
{
g_update_flag.app_flag--;
update_flag = 0x02;
@@ -868,12 +883,14 @@ uint8_t Read_APP_Feature(void)
}
DBG_SYS_Printf("--<2D><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>APP<50>̼<EFBFBD>--");
SPIFLASH_Write_APP_Upate_Flag_Info(&g_update_flag);
}else if( update_flag == 0x02 ){
DBG_SYS_Printf("--APP<50>̼<EFBFBD><CCBC><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%d --",g_update_flag.app_flag);
SPIFLASH_Write_APP_Upate_Flag_Info(&g_update_flag);
}else{
DBG_SYS_Printf("--APP<50>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:%x--",g_update_flag.app_flag);
}
SPIFLASH_Write_APP_Upate_Flag_Info(&g_update_flag);
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ȡMCU Flash<73><68>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ͬʱ<CDAC><CAB1>֤APP<50>ĺϷ<C4BA><CFB7><EFBFBD>*/
rev = Read_APP_Feature_Info(0x01,&g_mcu_app_feature);
@@ -1038,7 +1055,7 @@ uint8_t MCU_APP_Write(void)
uint16_t crcVal = 0,crcNumIndex = 0;
uint32_t crc_data_len = 0;
SPIFLASH_Read_Update_Recode(&g_update_recode); //<2F><>ȡAPPд<50><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_update_recode.mcuflash_fw_count++;
DBG_SYS_Printf("MCU Flash <20><><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD>");
@@ -1161,6 +1178,7 @@ uint8_t MCU_APP_Write(void)
/*д<><D0B4>ʧ<EFBFBD><CAA7> - ʧ<>ܴ<EFBFBD><DCB4><EFBFBD><EFBFBD><EFBFBD>һ*/
g_update_recode.mcuflash_fw_fail++;
SPIFLASH_Write_Update_Recode(&g_update_recode);
SPIFLASH_Read_Update_Recode(&g_update_recode); //<2F><>ȡAPPд<50><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return 0x01;
}
@@ -1174,6 +1192,7 @@ uint8_t MCU_APP_Write(void)
/*APP<50><50><EFBFBD>±<EFBFBD>־λ - ״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>*/
g_update_flag.app_flag = App_Procedure_Ready;
SPIFLASH_Write_APP_Upate_Flag_Info(&g_update_flag);
SPIFLASH_Read_Update_Recode(&g_update_recode); //<2F><>ȡAPPд<50><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*4<><34>У<EFBFBD><D0A3><EFBFBD>ɹ<EFBFBD>*/
DBG_SYS_Printf("MCU APP Update Succ!!");
@@ -1202,7 +1221,7 @@ uint8_t SPIFLASH_Read_Update_Recode(UPDATE_RECORD_T *info)
read_len |= g_flash_buff[EEPROM_Offset_Datalen];
DBG_SYS_Printf("%s read_len : %d ",__func__,read_len);
if(read_len == UPDATE_RECORD_INFO_Size)
if(read_len == sizeof(UPDATE_RECORD_T) )
{
if(EEPROM_CheckSum(&g_flash_buff[EEPROM_Offset_Data],read_len) == g_flash_buff[EEPROM_Offset_Check]){
@@ -1238,16 +1257,16 @@ uint8_t SPIFLASH_Read_Update_Recode(UPDATE_RECORD_T *info)
*******************************************************************************/
uint8_t SPIFLASH_Write_Update_Recode(UPDATE_RECORD_T *info)
{
uint16_t save_len = UPDATE_RECORD_INFO_Size;
uint16_t save_len = sizeof(UPDATE_RECORD_T);
memset(g_flash_buff,0,sizeof(g_flash_buff));
g_flash_buff[EEPROM_Offset_SaveFlag] = EEPROM_SVAE_FLAG;
g_flash_buff[EEPROM_Offset_Datalen] = save_len & 0xFF;
g_flash_buff[EEPROM_Offset_Datalen] = (save_len >> 8) & 0xFF;
g_flash_buff[EEPROM_Offset_Datalen + 1] = (save_len >> 8) & 0xFF;
memcpy(&g_flash_buff[EEPROM_Offset_Data],(uint8_t *)info,save_len);
g_flash_buff[3] = EEPROM_CheckSum(&g_flash_buff[4],save_len);
g_flash_buff[3] = EEPROM_CheckSum(&g_flash_buff[EEPROM_Offset_Data],save_len);
save_len+=4;
Flash_Write(g_flash_buff, APP_FEATURE_SIZE, SPIFLASH_UPDATE_RECORD_Addr);

View File

@@ -14,6 +14,7 @@ volatile uint32_t SysTick_100us = 0;
volatile uint32_t SysTick_1ms = 0;
volatile uint32_t SysTick_1s = 0;
void Systick_Init(void)
{
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>*/
@@ -280,12 +281,12 @@ void my_printf(const char *fmt, ...)
void Dbg_Println(int DbgOptBit ,const char *fmt, ...)
{
#if DBG_LOG_EN
char ch;
va_list ap;
if ( (DBG_LOG_EN & DBG_BIT_SYS_STATUS) != 0x00 )
if ( (Dbg_Switch & DbgOptBit ) != 0x00 )
{
SysTick_Now = SysTick_1ms;
SysTick_Diff = SysTick_Now - SysTick_Last; //<2F><>һ<EFBFBD>δ<EFBFBD>ӡʱ<D3A1><CAB1><EFBFBD><EFBFBD>
@@ -337,6 +338,7 @@ void Dbg_Println(int DbgOptBit ,const char *fmt, ...)
va_end(ap);
printf("\r\n");
}
#endif
}

View File

@@ -25,12 +25,12 @@
#define SPIFLASH_APP_End_Addr 0x0006FFFF
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define SPIFLASH_LOGIC_FILE_Start_Addr 0x00070000
#define SPIFLASH_LOGIC_DataFlag_ADDRESS 0x00070000 //<2F>ļ<EFBFBD><C4BC><EFBFBD>־λ - 4Byte
#define SPIFLASH_LOGIC_DataSize_ADDRESS 0x00070004 //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> - 4Byte
#define SPIFLASH_LOGIC_DataMD5_ADDRESS 0x00070008 //<2F>ļ<EFBFBD>MD5У<35><D0A3>ֵ - 16Byte
#define SPIFLASH_LOGIC_DataStart_ADDRESS 0x00070200 //<2F>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC>ַ
#define SPIFLASH_LOGIC_FILE_End_Addr 0x000FFFFF
#define SPIFLASH_LOGIC_FILE_Start_Addr 0x00090000
#define SPIFLASH_LOGIC_DataFlag_ADDRESS 0x00090000 //<2F>ļ<EFBFBD><C4BC><EFBFBD>־λ - 4Byte
#define SPIFLASH_LOGIC_DataSize_ADDRESS 0x00090004 //<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> - 4Byte
#define SPIFLASH_LOGIC_DataMD5_ADDRESS 0x00090008 //<2F>ļ<EFBFBD>MD5У<35><D0A3>ֵ - 16Byte
#define SPIFLASH_LOGIC_DataStart_ADDRESS 0x00090200 //<2F>ļ<EFBFBD><C4BC><EFBFBD>ʼ<EFBFBD><CABC>ַ
#define SPIFLASH_LOGIC_FILE_End_Addr 0x000FFFFF
#endif /* MCU_DRIVER_INC_FLASH_MEM_ADDR_H_ */

View File

@@ -25,7 +25,7 @@
#define Recv_115200_TimeOut 3 //ms
#define Recv_512000_TimeOut 3 //ms
#define USART_BUFFER_SIZE 512
#define USART_BUFFER_SIZE 1100
typedef uint8_t (*Uart_prt)(uint8_t * ,uint16_t );
@@ -97,6 +97,7 @@ uint8_t UART2_ChangeBaud(uint32_t baudrate);
uint8_t UART3_ChangeBaud(uint32_t baudrate);
uint8_t MCU485_SendString_0(uint8_t *buff, uint16_t len);
uint8_t MCU485_SendString_1(uint8_t *buff, uint16_t len);
uint8_t MCU485_SendString_2(uint8_t *buff, uint16_t len);
uint8_t Uartx_Add_Data_To_SendBuff(UART_t *uart_info,uint8_t *buff,uint16_t len,uint8_t sendCount,uint32_t ValidDuration,uint32_t sendInterval);
@@ -104,6 +105,7 @@ uint8_t Uartx_Clear_SendBuff(UART_t *uart_info);
uint8_t Uartx_Avoid_Conflict_Send_Task(UART_t *uart_info);
void Uart0_Task(void);
void Uart1_Task(void);
void Uart2_Task(void);
#endif /* MCU_DRIVER_INC_UART_H_ */

View File

@@ -93,7 +93,7 @@ uint8_t MCU_APP_Flash_Read(uint8_t* pBuffer,uint16_t NumByteToWrite,uint32_t rea
sta = FLASH_ROMA_READ(readAddr, pBuffer, NumByteToWrite);
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU FLASH_ROMA_READ failed %x!! Err Code %x\r\n", readAddr, sta);
DBG_SYS_Printf("MCU FLASH_ROMA_READ failed %x!! Err Code %x\r\n", readAddr, sta);
return 0x01;
}
@@ -125,7 +125,7 @@ uint8_t MCU_APP_Flash_Erase(uint32_t readAddr,uint16_t NumByteToWrite)
FLASH_Lock();
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", readAddr, sta);
DBG_SYS_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", readAddr, sta);
return 0x01;
}
@@ -142,13 +142,13 @@ uint8_t MCU_APP_Flash_ALLErase(void)
for(uint32_t i=MCU_APP_Flash_Start_Addr;i<MCU_APP_Flash_End_Addr;i+=MCU_APP_Flash_PageSize)
{
DBG_Printf("MCU FLASH_ROMA_ERASE - %x!! \r\n", i);
DBG_SYS_Printf("MCU FLASH_ROMA_ERASE - %x!! \r\n", i);
FLASH_Unlock();
sta = FLASH_ROMA_ERASE(i, MCU_APP_Flash_PageSize);
FLASH_Lock();
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", i, sta);
DBG_SYS_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", i, sta);
return 0x01;
}
}
@@ -208,7 +208,7 @@ uint8_t MCU_EEPROM_Read(uint8_t* pBuffer,uint16_t NumByteToWrite,uint32_t readAd
sta = EEPROM_READ(readAddr, pBuffer, NumByteToWrite);
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU FLASH_ROMA_READ failed %x!! Err Code %x\r\n", readAddr, sta);
DBG_SYS_Printf("MCU FLASH_ROMA_READ failed %x!! Err Code %x\r\n", readAddr, sta);
return 0x01;
}
@@ -237,7 +237,7 @@ uint8_t MCU_EEPROM_Erase(uint32_t eraseAddr,uint16_t length)
FLASH_Lock();
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU MCU_EEPROM_Erase failed %x!! Err Code %x\r\n", eraseAddr, sta);
DBG_SYS_Printf("MCU MCU_EEPROM_Erase failed %x!! Err Code %x\r\n", eraseAddr, sta);
return 0x01;
}
@@ -259,7 +259,7 @@ uint8_t MCU_EEPROM_ALLErase(void)
FLASH_Lock();
if (sta != FLASH_COMPLETE){
DBG_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", i, sta);
DBG_SYS_Printf("MCU FLASH_ROMA_ERASE failed %x!! Err Code %x\r\n", i, sta);
return 0x01;
}
}

View File

@@ -18,12 +18,12 @@
#include <string.h>
/* Bootload <20>й滮<D0B9><E6BBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* 1<><31><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD> - <20><><EFBFBD><EFBFBD>0
* 1<><31><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD> - <20><><EFBFBD><EFBFBD>1
* 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD> - <20><><EFBFBD><EFBFBD>2
* - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>
*/
UART_t g_uart_0;
UART_t g_uart_1;
UART_t g_uart_2;
void UART0_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
@@ -54,8 +54,8 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_Floating);
UART0_BaudRateCfg(buad);
R8_UART0_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART0_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART0_LCR = RB_LCR_WORD_SZ;
R8_UART0_IER = RB_IER_TXD_EN;
@@ -65,11 +65,6 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
UART0_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
NVIC_EnableIRQ(UART0_IRQn);
memset(&g_uart_0,0,sizeof(UART_t));
Set_Uart_recvTimeout(&g_uart_0,buad);
g_uart_0.send_data_cf = MCU485_SendString_0;
g_uart_0.set_baud_cf = UART0_ChangeBaud;
break;
case UART_1:
UART1_Reset();
@@ -79,18 +74,23 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
GPIOB_ModeCfg(GPIO_Pin_10, GPIO_ModeIN_Floating);
UART1_BaudRateCfg(buad);
R8_UART1_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART1_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART1_LCR = RB_LCR_WORD_SZ;
R8_UART1_IER = RB_IER_TXD_EN;
UART1_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
NVIC_EnableIRQ(UART1_IRQn);
memset(&g_uart_1,0,sizeof(UART_t));
Set_Uart_recvTimeout(&g_uart_1,buad);
g_uart_1.send_data_cf = MCU485_SendString_1;
g_uart_1.set_baud_cf = UART1_ChangeBaud;
break;
case UART_2:
//RS485ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD>
GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP);
GPIOB_ModeCfg(GPIO_Pin_15, GPIO_ModeOut_PP); //RS485<38><35><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><CABC> - <20><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD> RS485 ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
MCU485_EN2_L;
UART2_Reset();
@@ -99,9 +99,10 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
GPIOB_ModeCfg(GPIO_Pin_14, GPIO_ModeOut_PP);
GPIOB_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating);
UART2_BaudRateCfg(buad);
R8_UART2_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART2_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART2_LCR = RB_LCR_WORD_SZ;
R8_UART2_IER = RB_IER_TXD_EN;
@@ -109,6 +110,7 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
NVIC_EnableIRQ(UART2_IRQn);
memset(&g_uart_2,0,sizeof(UART_t));
g_uart_2.CommBaud = buad;
Set_Uart_recvTimeout(&g_uart_2,buad);
g_uart_2.send_data_cf = MCU485_SendString_2;
@@ -122,8 +124,8 @@ void UARTx_Init(UART_IDX uart_id, uint32_t buad) {
GPIOB_ModeCfg(GPIO_Pin_18, GPIO_ModeIN_Floating);
UART3_BaudRateCfg(buad);
R8_UART3_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART3_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART3_LCR = RB_LCR_WORD_SZ;
R8_UART3_IER = RB_IER_TXD_EN;
@@ -170,14 +172,7 @@ void UART0_IRQHandler(void)
break;
case UART_II_RECV_RDY:
case UART_II_RECV_TOUT:
if( (g_uart_0.RecvLen + 1) >= USART_BUFFER_SIZE ) g_uart_0.RecvLen = 0x00;
g_uart_0.RecvBuffer[g_uart_0.RecvLen] = UART0_RecvByte();
g_uart_0.RecvLen += 1;
g_uart_0.Receiving = 0x01;
g_uart_0.RecvIdleTiming = SysTick_1ms;
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ڷ<EFBFBD>æ״̬
g_uart_0.CommBusy |= UART_COMMBUSY_RECV_Flag;
break;
}
@@ -199,11 +194,11 @@ void UART1_IRQHandler(void)
break;
case UART_II_RECV_RDY:
case UART_II_RECV_TOUT:
// if( (g_uart[UART_1].RecvLen + 1) >= USART_BUFFER_SIZE ) g_uart[UART_1].RecvLen = 0x00;
// g_uart[UART_1].RecvBuffer[g_uart[UART_1].RecvLen] = UART1_RecvByte();
// g_uart[UART_1].RecvLen += 1;
// g_uart[UART_1].Receiving = 0x01;
// g_uart[UART_1].RecvIdleTiming = SysTick_1ms;
if( (g_uart_1.RecvLen + 1) >= USART_BUFFER_SIZE ) g_uart_1.RecvLen = 0x00;
g_uart_1.RecvBuffer[g_uart_1.RecvLen] = UART1_RecvByte();
g_uart_1.RecvLen += 1;
g_uart_1.Receiving = 0x01;
g_uart_1.RecvIdleTiming = SysTick_1ms;
break;
}
}
@@ -249,11 +244,7 @@ void UART3_IRQHandler(void)
break;
case UART_II_RECV_RDY:
case UART_II_RECV_TOUT:
// if( (g_uart[UART_3].RecvLen + 1) >= USART_BUFFER_SIZE ) g_uart[UART_3].RecvLen = 0x00;
// g_uart[UART_3].RecvBuffer[g_uart[UART_3].RecvLen] = UART3_RecvByte();
// g_uart[UART_3].RecvLen += 1;
// g_uart[UART_3].Receiving = 0x01;
// g_uart[UART_3].RecvIdleTiming = SysTick_1ms;
break;
}
}
@@ -291,11 +282,21 @@ void UART0_RECEIVE(void)
*/
void UART1_RECEIVE(void)
{
if(g_uart_1.Receiving == 0x01)
{
if(SysTick_1ms - g_uart_1.RecvIdleTiming >= g_uart_1.RecvTimeout)
{
g_uart_1.RecvIdleTiming = SysTick_1ms;
DBG_SYS_Printf("UART1_RECEIVE");
Launcher_Uart_Upgrade_Process(&g_uart_1);
g_uart_1.RecvLen = 0;
g_uart_1.Receiving = 0;
}
}
}
/*********************************************************************
* @fn UART2_RECEIVE
*
@@ -321,7 +322,6 @@ void UART2_RECEIVE(void)
}
/*********************************************************************
* @fn USART3_RECEIVE
*
@@ -352,23 +352,23 @@ uint8_t UART0_ChangeBaud(uint32_t baudrate)
/*<2A><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>*/
__disable_irq();
UART0_Reset();
GPIO_PinRemapConfig(GPIO_NoRemap_UART0,ENABLE);
GPIOB_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP);
GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_Floating);
// UART0_Reset();
//
// GPIO_PinRemapConfig(GPIO_NoRemap_UART0,ENABLE);
// GPIOB_ModeCfg(GPIO_Pin_9, GPIO_ModeOut_PP);
// GPIOB_ModeCfg(GPIO_Pin_8, GPIO_ModeIN_Floating);
UART0_BaudRateCfg(baudrate);
R8_UART0_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART0_LCR = RB_LCR_WORD_SZ;
R8_UART0_IER = RB_IER_TXD_EN;
// R8_UART0_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// // FIFO open, trigger point 14 bytes
// R8_UART0_LCR = RB_LCR_WORD_SZ;
// R8_UART0_IER = RB_IER_TXD_EN;
UART0_CLR_RXFIFO();
UART0_CLR_TXFIFO();
UART0_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
NVIC_EnableIRQ(UART0_IRQn);
// UART0_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
// NVIC_EnableIRQ(UART0_IRQn);
Set_Uart_recvTimeout(&g_uart_0,baudrate);
@@ -403,6 +403,8 @@ uint8_t UART1_ChangeBaud(uint32_t baudrate)
/*<2A><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>*/
__disable_irq();
NVIC_DisableIRQ(UART1_IRQn);
UART1_Reset();
GPIO_PinRemapConfig(GPIO_NoRemap_UART1,ENABLE);
@@ -410,18 +412,22 @@ uint8_t UART1_ChangeBaud(uint32_t baudrate)
GPIOB_ModeCfg(GPIO_Pin_10, GPIO_ModeIN_Floating);
UART1_BaudRateCfg(baudrate);
R8_UART1_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART1_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART1_LCR = RB_LCR_WORD_SZ;
R8_UART1_IER = RB_IER_TXD_EN;
UART1_CLR_RXFIFO();
UART1_CLR_TXFIFO();
UART1_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
NVIC_EnableIRQ(UART1_IRQn);
//Set_Uart_recvTimeout(&g_uart[UART_1],baudrate);
Set_Uart_recvTimeout(&g_uart_1,baudrate);
__enable_irq();
return 0;
}
@@ -444,6 +450,7 @@ uint8_t UART2_ChangeBaud(uint32_t baudrate)
{
uint16_t delay_num = 0;
DBG_SYS_Printf("%s - %d",__func__,baudrate);
while(1)
{
if( UART2_GetLinSTA() & RB_LSR_TX_ALL_EMP )
@@ -451,6 +458,8 @@ uint8_t UART2_ChangeBaud(uint32_t baudrate)
/*<2A><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>*/
__disable_irq();
NVIC_DisableIRQ(UART2_IRQn);
UART2_Reset();
GPIO_PinRemapConfig(GPIO_PartialRemap1_UART2,ENABLE);
@@ -458,18 +467,23 @@ uint8_t UART2_ChangeBaud(uint32_t baudrate)
GPIOB_ModeCfg(GPIO_Pin_12, GPIO_ModeIN_Floating);
UART2_BaudRateCfg(baudrate);
R8_UART2_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART2_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART2_LCR = RB_LCR_WORD_SZ;
R8_UART2_IER = RB_IER_TXD_EN;
UART2_CLR_RXFIFO();
UART2_CLR_TXFIFO();
UART2_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_THR_EMPTY);
NVIC_EnableIRQ(UART2_IRQn);
Set_Uart_recvTimeout(&g_uart_2,baudrate);
__enable_irq();
DBG_SYS_Printf("%s - SUCC",__func__);
return 0;
}
@@ -506,8 +520,8 @@ uint8_t UART3_ChangeBaud(uint32_t baudrate)
GPIOB_ModeCfg(GPIO_Pin_18, GPIO_ModeIN_Floating);
UART3_BaudRateCfg(baudrate);
R8_UART3_FCR = RB_FCR_FIFO_TRIG | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 14 bytes
R8_UART3_FCR = RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN;
// FIFO open, trigger point 1 bytes
R8_UART3_LCR = RB_LCR_WORD_SZ;
R8_UART3_IER = RB_IER_TXD_EN;
@@ -562,6 +576,24 @@ uint8_t MCU485_SendString_0(uint8_t *buff, uint16_t len)
return 0x00;
}
uint8_t MCU485_SendString_1(uint8_t *buff, uint16_t len)
{
uint32_t delay_num = 0;
UART1_SendString(buff,len);
//<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 50ms
while(1)
{
if((R8_UART1_LSR & RB_LSR_TX_ALL_EMP)) break;
Delay_Us(1);
delay_num++;
if(delay_num > 50000) break;
}
return 0x00;
}
uint8_t MCU485_SendString_2(uint8_t *buff, uint16_t len)
{
uint32_t delay_num = 0;
@@ -713,11 +745,20 @@ void Uartx_IDLE_State_Determination(UART_t *uart_info)
void Uart0_Task(void)
{
UART0_RECEIVE();
// UART0_RECEIVE();
//
// Uartx_Avoid_Conflict_Send_Task(&g_uart_0);
//
// Uartx_IDLE_State_Determination(&g_uart_0);
}
Uartx_Avoid_Conflict_Send_Task(&g_uart_0);
void Uart1_Task(void)
{
UART1_RECEIVE();
Uartx_IDLE_State_Determination(&g_uart_0);
Uartx_Avoid_Conflict_Send_Task(&g_uart_1);
Uartx_IDLE_State_Determination(&g_uart_1);
}
void Uart2_Task(void)

View File

@@ -1,37 +1,48 @@
BLV-C1P Launcher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>
# BLV-C1P Launcher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
#### 2026-01-19
### 2026-01-29
? 1<><31>Launcher<65>еĴ<D0B5><C4B4><EFBFBD>ֻʹ<D6BB>ô<EFBFBD><C3B4><EFBFBD>0(<28><><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2(<28><><EFBFBD><EFBFBD>RS485<38>˿<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EBB4AE>3<EFBFBD><33>ʹ<EFBFBD>ã<EFBFBD><C3A3>Ҳ<EFBFBD><D2B2><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ1100Byte<74><65>
? Ŀ<>ģ<EFBFBD>CH564<36><34><EFBFBD>ڽ<EFBFBD>Launcher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>RAM<41><4D><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>˿<EFBFBD>ʹ<EFBFBD>õı<C3B5><C4B1><EFBFBD><EFBFBD><EFBFBD>Сֻ<D0A1><D6BB>32Kbyte<74><65><EFBFBD><EFBFBD>ʹ<EFBFBD>õĴ<C3B5><C4B4>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ͬʱʹ<CAB1>õ<EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RAM<41>ռ<D5BC><E4B2BB>ʹ<EFBFBD>á<EFBFBD>
? 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 - <20><><EFBFBD><EFBFBD>RS485ʹ<35>ܣ<EFBFBD>ͬʱͨѶ<CDA8><D1B6><EFBFBD>ӱ<EFBFBD><D3B1>Ϲ<EFBFBD><CFB9>ܡ<EFBFBD>
```C
<EFBFBD>޸<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD>ܴ<EFBFBD>
<EFBFBD>޸ĵ
1<EFBFBD><EFBFBD>system_ch564.c ʱ<EFBFBD>ӳ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Less_Loss_DIV_Calcu<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD>HardFault_Handler<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
```
#### 2026-01-17
### 2026-01-19
? 1<><31>Launcher<65><72>MCU Flashд<68><D0B4><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD>תAPPʧ<50><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD>
```C
<EFBFBD>޸<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD>ܴ<EFBFBD>
<EFBFBD>޸ĵ
1<EFBFBD><EFBFBD>Launcher<EFBFBD>еĴ<EFBFBD><EFBFBD><EFBFBD>ֻʹ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>0(<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RS485<EFBFBD>˿<EFBFBD>)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ1100Byte<EFBFBD><EFBFBD>
- Ŀ<EFBFBD>ģ<EFBFBD>CH564<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD>Launcher<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>RAM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD>ʹ<EFBFBD>õı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֻ<EFBFBD><EFBFBD>32Kbyte<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õĴ<EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱʹ<EFBFBD>õ<EFBFBD>ͨѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RAM<EFBFBD>ռ<EFBFBD><EFBFBD>ʹ<EFBFBD>á<EFBFBD>
? 2<><32>Launcher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2 - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RS485ʹ<EFBFBD>ܣ<EFBFBD>ͬʱͨѶ<EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD>ܡ<EFBFBD>
```
- <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>**<2A>¹̼<C2B9>**<2A><><EFBFBD><EFBFBD>
- **<2A>¹̼<C2B9>**<2A><>5<EFBFBD><35>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- д<><D0B4><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD>Ӵ˲<D3B4><CBB2><EFBFBD><EFBFBD><EFBFBD>MCU Flashд<68><D0B4><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
### 2026-01-17
? 3<><33>Laucnher<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flashд<68><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ơ<EFBFBD>
```C
<EFBFBD>޸<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD>ܴ<EFBFBD>
<EFBFBD>޸ĵ
1<EFBFBD><EFBFBD>Launcher<EFBFBD><EFBFBD>MCU Flashд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>תAPPʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2<EFBFBD><EFBFBD>Launcher<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flash<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>
- <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>**<EFBFBD>¹̼<EFBFBD>**<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- **<EFBFBD>¹̼<EFBFBD>**<EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
- д<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flashд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
3<EFBFBD><EFBFBD>Laucnher<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flashд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>ơ<EFBFBD>
```
### 2026-01-04
```C
<EFBFBD>޸<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD>ܴ<EFBFBD>
<EFBFBD><EFBFBD>¼<EFBFBD>
1<EFBFBD><EFBFBD>CH564 FLASH_ROMA_ERASE <EFBFBD><EFBFBD> EEPROM_ERASE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СΪ4096
#### 2026-01-04
```
? CH564 FLASH_ROMA_ERASE <20><> EEPROM_ERASE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>СΪ4096
?
#### 2025-07-30
? Launcher<65><72>ַ <20><>0x00000000 ~ 0x00004000
?

View File

@@ -30,7 +30,6 @@ int main(void)
uint8_t sys_reset = 0;
unsigned char Buffer;
/* - <20>ϵ<EFBFBD>ǰ<EFBFBD><C7B0>Ҫ<EFBFBD>رտ<D8B1><D5BF>Ź<EFBFBD>
* - ԭ<><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>һֱ<D2BB><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
* */
@@ -38,7 +37,7 @@ int main(void)
SystemCoreClockUpdate(); //ϵͳ<CFB5><CDB3>ʼ<EFBFBD><CABC>
Systick_Init();
UARTx_Init(UART_0,512000);
UARTx_Init(UART_1,512000);
UARTx_Init(UART_2,512000);
SYS_LED_Init();
@@ -65,14 +64,17 @@ int main(void)
DBG_SYS_Printf("Project Name:%s",Prject_File_Name);
DBG_SYS_Printf("Project - SYSCLK_FREQ_120MHz_HSI");
sys_reset = RCC_GET_GLOB_RST_KEEP(); //<2F><>λ<EFBFBD><CEBB><EFBFBD>ּĴ<D6BC><C4B4><EFBFBD>
if(sys_reset == 0x00)
{
DBG_SYS_Printf("<EFBFBD>ϵ縴λ \r\n");
g_Boot_Time = 10000;
}else if(sys_reset == 0x02){
DBG_SYS_Printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ \r\n");
g_Boot_Time = 30000;
g_Boot_Time = 10000;
}else if(sys_reset == 0x03){
DBG_SYS_Printf("MCU Flash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ \r\n");
@@ -80,10 +82,12 @@ int main(void)
}else {
DBG_SYS_Printf("<EFBFBD><EFBFBD><EFBFBD>λ \r\n");
g_Boot_Time = 30000;
g_Boot_Time = 10000;
}
RCC_SET_GLOB_RST_KEEP(0x01);
SPIFLASH_Read_Update_Recode(&g_update_recode); //<2F><>ȡAPPд<50><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
g_jump_flag = Read_APP_Feature();
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
@@ -92,15 +96,18 @@ int main(void)
DBG_SYS_Printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCU Flash<73><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ \r\n");
//WDT_Init();
//RCC_SET_GLOB_RST_KEEP(0x03);
RCC_SET_GLOB_RST_KEEP(0x03);
Delay_Ms(1000);
// - <20><><EFBFBD><EFBFBD>ȫ<EFBFBD>ָ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Code Flash
RCC_GlobleRstCFG(RB_GLOB_FORCE_RST, ENABLE);
//RCC_GlobleRstCFG(RB_GLOB_FORCE_RST, ENABLE);
// - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>оƬ<D0BE><C6AC><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Code Flash,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>LD<4C>ļ<EFBFBD> .vector<6F>ֶ<EFBFBD><D6B6>м<EFBFBD><D0BC><EFBFBD> KEEP,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
NVIC_SystemReset();
while(1);
}
//Dbg_Switch = 0x00;
WDT_Init();
while (1)
@@ -109,14 +116,14 @@ int main(void)
SYS_LED_Task();
Uart0_Task();
Uart1_Task();
Uart2_Task();
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
if(g_jump_flag == 0x00)
{
if(SysTick_1ms - g_Boot_Tick >= 5000)
if(SysTick_1ms - g_Boot_Tick >= g_Boot_Time)
{
g_Boot_Tick = SysTick_1ms;
@@ -144,7 +151,11 @@ int main(void)
Delay_Ms(1000);
RCC_GlobleRstCFG(RB_GLOB_FORCE_RST, ENABLE);
//<2F><>ʽ1<CABD><31>
//RCC_GlobleRstCFG(RB_GLOB_FORCE_RST, ENABLE);
//<2F><>ʽ2<CABD><32>
NVIC_SystemReset();
while(1);
}
}

View File

@@ -12,7 +12,6 @@
#include "ch564.h"
#include "debug.h"
/*
* Uncomment the line corresponding to the desired System clock (SYSCLK)
* frequency (after reset the HSI is used as SYSCLK source).
@@ -88,38 +87,23 @@ static void SetSysClockTo25_HSE(void);
*/
void SystemInit(void)
{
if ( SystemCoreClock >= 60000000 )
{
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
}
else
{
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , DISABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
}
SystemCoreClockUpdate();
//Delay_Init();
HSI_ON();
SystemCoreClockUpdate();
/* Close ETH PHY */
RCC_SlpWakeCtrl( RB_SLP_ETH_PWR_DN , DISABLE );
Delay_Us( PLL_STARTUP_TIME );
ETH->PHY_CR |= ( 1 << 31 );
ETH->PHY_CR &= ~( 1 << 30 );
ETH->PHY_CR |= ( 1 << 30 );
Delay_Us( HSI_STARTUP_TIME );
RCC_SlpWakeCtrl( RB_SLP_ETH_PWR_DN , ENABLE );
HSI_ON();
/* Close ETH PHY */
RCC_SlpWakeCtrl( RB_SLP_ETH_PWR_DN , DISABLE );
Delay_Us( PLL_STARTUP_TIME );
ETH->PHY_CR |= ( 1 << 31 );
ETH->PHY_CR &= ~( 1 << 30 );
ETH->PHY_CR |= ( 1 << 30 );
Delay_Us( HSI_STARTUP_TIME );
RCC_SlpWakeCtrl( RB_SLP_ETH_PWR_DN , ENABLE );
CLKSEL_HSI();
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_HSI_HSE );
USB_PLL_OFF();
SetSysClock();
CLKSEL_HSI();
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_HSI_HSE );
USB_PLL_OFF();
SetSysClock();
}
/*********************************************************************
@@ -131,55 +115,55 @@ void SystemInit(void)
*/
void SystemCoreClockUpdate(void)
{
uint32_t tmp = 0;
uint32_t tmp = 0;
if ( R32_EXTEN_CTLR0 & RB_SW )
{
if ( R32_EXTEN_CTLR1 & RB_CLKSEL )
{
tmp = HSE_Value;
}
else
{
tmp = HSI_Value;
}
}
else
{
switch ( R32_EXTEN_CTLR0 & RB_USBPLLSRC )
{
case 0x60:
tmp = HSI_Value;
break;
case 0x20:
tmp = HSE_Value;
break;
default:
tmp = HSE_Value * 20 / 25;
break;
}
if ( R32_EXTEN_CTLR0 & RB_SW )
{
if ( R32_EXTEN_CTLR1 & RB_CLKSEL )
{
tmp = HSE_Value;
}
else
{
tmp = HSI_Value;
}
}
else
{
switch ( R32_EXTEN_CTLR0 & RB_USBPLLSRC )
{
case 0x60:
tmp = HSI_Value;
break;
case 0x20:
tmp = HSE_Value;
break;
default:
tmp = HSE_Value * 20 / 25;
break;
}
switch ( R32_EXTEN_CTLR0 & RB_USBPLLCLK )
{
case 0x0:
tmp *= 24;
break;
case 0x4000:
tmp *= 20;
break;
case 0x8000:
tmp *= 16;
break;
case 0xC000:
tmp *= 15;
break;
default:
break;
}
tmp /= ( R8_PLL_OUT_DIV >> 4 ) + 1;
}
switch ( R32_EXTEN_CTLR0 & RB_USBPLLCLK )
{
case 0x0:
tmp *= 24;
break;
case 0x4000:
tmp *= 20;
break;
case 0x8000:
tmp *= 16;
break;
case 0xC000:
tmp *= 15;
break;
default:
break;
}
tmp /= ( R8_PLL_OUT_DIV >> 4 ) + 1;
}
SystemCoreClock = tmp;
SystemCoreClock = tmp;
}
/*********************************************************************
@@ -191,29 +175,30 @@ void SystemCoreClockUpdate(void)
*/
static void SetSysClock(void)
{
SystemCoreClockUpdate();
GPIO_IPD_Unused();
SystemCoreClockUpdate();
//Delay_Init();
GPIO_IPD_Unused();
#ifdef SYSCLK_FREQ_120MHz_HSI
SetSysClockTo120_HSI();
SetSysClockTo120_HSI();
#elif defined SYSCLK_FREQ_80MHz_HSI
SetSysClockTo80_HSI();
SetSysClockTo80_HSI();
#elif defined SYSCLK_FREQ_60MHz_HSI
SetSysClockTo60_HSI();
SetSysClockTo60_HSI();
#elif defined SYSCLK_FREQ_40MHz_HSI
SetSysClockTo40_HSI();
SetSysClockTo40_HSI();
#elif defined SYSCLK_FREQ_20MHz_HSI
SetSysClockTo20_HSI();
SetSysClockTo20_HSI();
#elif defined SYSCLK_FREQ_120MHz_HSE
SetSysClockTo120_HSE();
SetSysClockTo120_HSE();
#elif defined SYSCLK_FREQ_80MHz_HSE
SetSysClockTo80_HSE();
SetSysClockTo80_HSE();
#elif defined SYSCLK_FREQ_60MHz_HSE
SetSysClockTo60_HSE();
SetSysClockTo60_HSE();
#elif defined SYSCLK_FREQ_40MHz_HSE
SetSysClockTo40_HSE();
SetSysClockTo40_HSE();
#elif defined SYSCLK_FREQ_25MHz_HSE
SetSysClockTo25_HSE();
SetSysClockTo25_HSE();
#endif
}
@@ -228,12 +213,16 @@ static void SetSysClock(void)
*/
static void SetSysClockTo120_HSI(void)
{
RCC_SET_PLL_SYS_OUT_DIV( 0x3 );
USB_PLL_MUL_SELECT( USB_PLL_MUL_24 );
USB_PLL_SOURCE_SELECT( USB_PLL_SOURCE_HSI );
USB_PLL_ON();
Delay_Us( PLL_STARTUP_TIME );
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_USBPLL );
RCC_SET_PLL_SYS_OUT_DIV( 0x3 );
USB_PLL_MUL_SELECT( USB_PLL_MUL_24 );
USB_PLL_SOURCE_SELECT( USB_PLL_SOURCE_HSI );
USB_PLL_ON();
Delay_Us( PLL_STARTUP_TIME );
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE ); //<2F>ر<EFBFBD>SW<53><57><EFBFBD>Կ<EFBFBD>
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_USBPLL );
}
#elif defined SYSCLK_FREQ_80MHz_HSI
@@ -247,12 +236,16 @@ static void SetSysClockTo120_HSI(void)
*/
static void SetSysClockTo80_HSI(void)
{
RCC_SET_PLL_SYS_OUT_DIV(0x5);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_HSI);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
RCC_SET_PLL_SYS_OUT_DIV(0x5);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_HSI);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_60MHz_HSI
@@ -266,12 +259,16 @@ static void SetSysClockTo80_HSI(void)
*/
static void SetSysClockTo60_HSI(void)
{
RCC_SET_PLL_SYS_OUT_DIV(0x7);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_HSI);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
RCC_SET_PLL_SYS_OUT_DIV(0x7);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_HSI);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_40MHz_HSI
@@ -285,12 +282,12 @@ static void SetSysClockTo60_HSI(void)
*/
static void SetSysClockTo40_HSI(void)
{
RCC_SET_PLL_SYS_OUT_DIV( 0xB );
USB_PLL_MUL_SELECT( USB_PLL_MUL_24 );
USB_PLL_SOURCE_SELECT( USB_PLL_SOURCE_HSI );
USB_PLL_ON();
Delay_Us( PLL_STARTUP_TIME );
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_USBPLL );
RCC_SET_PLL_SYS_OUT_DIV( 0xB );
USB_PLL_MUL_SELECT( USB_PLL_MUL_24 );
USB_PLL_SOURCE_SELECT( USB_PLL_SOURCE_HSI );
USB_PLL_ON();
Delay_Us( PLL_STARTUP_TIME );
SYSCLK_SOURCE_SELECT( SYSCLK_SOURCE_USBPLL );
}
#elif defined SYSCLK_FREQ_20MHz_HSI
@@ -304,8 +301,8 @@ static void SetSysClockTo40_HSI(void)
*/
static void SetSysClockTo20_HSI(void)
{
CLKSEL_HSI();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_HSI_HSE);
CLKSEL_HSI();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_HSI_HSE);
}
#elif defined SYSCLK_FREQ_120MHz_HSE
@@ -319,15 +316,19 @@ static void SetSysClockTo20_HSI(void)
*/
static void SetSysClockTo120_HSE(void)
{
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x3);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x3);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_80MHz_HSE
@@ -341,15 +342,19 @@ static void SetSysClockTo120_HSE(void)
*/
static void SetSysClockTo80_HSE(void)
{
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x5);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x5);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_60MHz_HSE
@@ -363,15 +368,19 @@ static void SetSysClockTo80_HSE(void)
*/
static void SetSysClockTo60_HSE(void)
{
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x7);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0x7);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
RCC_UNLOCK_SAFE_ACCESS();
BITS_CFG( R32_EXTEN_CTLR0 , RB_FLASH_PRE_EN , ENABLE );
BITS_CFG( R32_EXTEN_CTLR0 , RB_SW_CFG , DISABLE );
RCC_LOCK_SAFE_ACCESS();
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_40MHz_HSE
@@ -385,15 +394,15 @@ static void SetSysClockTo60_HSE(void)
*/
static void SetSysClockTo40_HSE(void)
{
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0xB);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
RCC_SlpWakeCtrl(RB_SLP_ETH_PWR_DN, DISABLE);
RCC_SET_PLL_SYS_OUT_DIV(0xB);
USB_PLL_SOURCE_SELECT(USB_PLL_SOURCE_ETH_PLL_OUT);
USB_PLL_MUL_SELECT(USB_PLL_MUL_24);
USB_PLL_ON();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_USBPLL);
}
#elif defined SYSCLK_FREQ_25MHz_HSE
@@ -407,13 +416,13 @@ static void SetSysClockTo40_HSE(void)
*/
static void SetSysClockTo25_HSE(void)
{
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
CLKSEL_HSE();
SystemCoreClock = HSE_VALUE;
Delay_Init();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_HSI_HSE);
HSE_ON();
Delay_Us(HSE_STARTUP_TIME);
CLKSEL_HSE();
SystemCoreClock = HSE_VALUE;
Delay_Init();
Delay_Us(PLL_STARTUP_TIME);
SYSCLK_SOURCE_SELECT(SYSCLK_SOURCE_HSI_HSE);
}