commit 5bae5bc88cdbba965fe04debe324bf3c94dc9687 Author: XuJiacheng Date: Thu Dec 11 10:59:57 2025 +0800 初始化 diff --git a/FlexCell.dll b/FlexCell.dll new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/FlexCell.dll differ diff --git a/MySql.Data.dll b/MySql.Data.dll new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/MySql.Data.dll differ diff --git a/RCU-10/.vs/RCU/v16/.suo b/RCU-10/.vs/RCU/v16/.suo new file mode 100644 index 0000000..de32d8e Binary files /dev/null and b/RCU-10/.vs/RCU/v16/.suo differ diff --git a/RCU-10/RCU.sln b/RCU-10/RCU.sln new file mode 100644 index 0000000..b9f9a18 --- /dev/null +++ b/RCU-10/RCU.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30104.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RCU", "RCU\RCU.vbproj", "{DCDFB337-7F07-44F0-A269-2D23D487D50E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DCDFB337-7F07-44F0-A269-2D23D487D50E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DCDFB337-7F07-44F0-A269-2D23D487D50E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DCDFB337-7F07-44F0-A269-2D23D487D50E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DCDFB337-7F07-44F0-A269-2D23D487D50E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CBD2CF25-83C9-4279-9883-21674530169A} + EndGlobalSection +EndGlobal diff --git a/RCU-10/RCU/ADODB/Recordset.vb b/RCU-10/RCU/ADODB/Recordset.vb new file mode 100644 index 0000000..316bb3d --- /dev/null +++ b/RCU-10/RCU/ADODB/Recordset.vb @@ -0,0 +1,11 @@ +Namespace ADODB + Friend Class Recordset + Friend Function Fields(v As String) As Object + Throw New NotImplementedException() + End Function + + Friend Sub Close() + Throw New NotImplementedException() + End Sub + End Class +End Namespace diff --git a/RCU-10/RCU/App.config b/RCU-10/RCU/App.config new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/App.config @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/ApplicationEvents.vb b/RCU-10/RCU/ApplicationEvents.vb new file mode 100644 index 0000000..b34f6d4 --- /dev/null +++ b/RCU-10/RCU/ApplicationEvents.vb @@ -0,0 +1,2 @@ +Namespace My +End Namespace diff --git a/RCU-10/RCU/Database/Base/ColumnSchema.vb b/RCU-10/RCU/Database/Base/ColumnSchema.vb new file mode 100644 index 0000000..d018547 --- /dev/null +++ b/RCU-10/RCU/Database/Base/ColumnSchema.vb @@ -0,0 +1,15 @@ + +Namespace Database.Base + ''' + ''' Contains the schema of a single DB column. + ''' + Public Class ColumnSchema + Public ColumnName As String + Public ColumnType As String + Public Length As Integer + Public IsNullable As Boolean + Public DefaultValue As String + Public IsIdentity As Boolean + Public IsCaseSensitivity As Boolean? = Nothing + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/CommandHelpers.vb b/RCU-10/RCU/Database/Base/CommandHelpers.vb new file mode 100644 index 0000000..4e586b4 --- /dev/null +++ b/RCU-10/RCU/Database/Base/CommandHelpers.vb @@ -0,0 +1,297 @@ +Imports System.Text + +Namespace Database.Base + + Public MustInherit Class CommandHelpers + Public Overridable Function Search(param As SearchParams) As String + Dim searchString As New StringBuilder + + '基础查询 + searchString.Append("Select") + searchString.Append(" ") + searchString.Append($"{String.Join(",", param.SearchColNames)}") + searchString.Append(" ") + searchString.Append("From") + searchString.Append(" ") + searchString.Append($"`{param.TableName}`") + + '筛选条件 + If param.SearchCondition IsNot Nothing Then + If param.SearchCondition.Count > 0 Then + searchString.Append(" ") + searchString.Append("Where") + For i As Integer = 0 To param.SearchCondition.Count - 1 + If i > 0 Then + searchString.Append(" ") + searchString.Append(param.SearchCondition(i).LogicPrevious.ToString()) + End If + searchString.Append(param.SearchCondition(i).ToString()) + Next + End If + End If + + '排序与排序方式 + If param.OrderType <> SearchParams.OrderTypeEnum.None Then + searchString.Append($" Order By {param.OrderColName} {param.OrderType}") + End If + + '返回结果行数 + If param.Limit > -1 Then + searchString.Append($" Limit {param.Limit}") + End If + + searchString.Append(";") + Return searchString.ToString() + End Function + + + Public Overridable Function SearchAll(tableName As String) As String + Return $"Select * FROM `{tableName}`;" + End Function + + Public Overridable Function SearchAll(tableName As String, condition As String) As String + Return $"Select * FROM `{tableName}` WHERE {condition};" + End Function + + Public Overridable Function Search(columnName As List(Of String), tableName As String) As String + Dim colNameString As New StringBuilder + For i As Integer = 0 To columnName.Count - 1 + If i = 0 Then + colNameString.Append($"`{columnName(i)}`") + Else + colNameString.Append($",`{columnName(i)}`") + End If + Next + + Return $"Select {colNameString} FROM `{tableName}`;" + End Function + + Public Overridable Function Search(columnName As String, tableName As String) As String + Return $"Select {columnName} FROM `{tableName}`;" + End Function + + Public Overridable Function Search(columnName As String, tableName As String, condition As String) As String + Return $"Select {columnName} FROM `{tableName}` WHERE {condition};" + End Function + + Public Overridable Function Search(columnName As String, tableName As String, condition As String, limit As Integer) As String + Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Limit {limit};" + End Function + + Public Overridable Function SearchDistinct(columnName As String, tableName As String) As String + Return $"Select Distinct {columnName} FROM `{tableName}`;" + End Function + + Public Overridable Function SearchDistinct(columnName As String, tableName As String, condition As String) As String + Return $"Select Distinct {columnName} FROM `{tableName}` WHERE {condition};" + End Function + + Public Overridable Function SearchDescOrder(columnName As String, tableName As String, orderCol As String) As String + Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Desc;" + End Function + + Public Overridable Function SearchDescOrder(columnName As String, tableName As String, orderCol As String, limit As Integer) As String + Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Desc Limit {limit};" + End Function + + Public Overridable Function SearchDescOrder(columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String) As String + Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By `{orderCol}` Desc;" + End Function + + Public Overridable Function SearchDescOrder(columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String, limit As Integer) As String + Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By `{orderCol}` Desc Limit {limit};" + End Function + + Public Overridable Function SearchAscOrder(ByVal columnName As String, ByVal tableName As String, ByVal orderCol As String) As String + Return $"Select {columnName} FROM `{tableName}` Order By {orderCol} Asc;" + End Function + + + Public Overridable Function SearchAscOrder(ByVal columnName As String, ByVal tableName As String, ByVal condition As String, ByVal orderCol As String) As String + Return $"Select {columnName} FROM `{tableName}` WHERE {condition} Order By {orderCol} Asc;" + End Function + + Public Overridable Function SearchNullTable(tableName As String) As String + Return $"Select * FROM `{tableName}` Where Limit 0;" + End Function + + + Public Overridable Function Insert(ByVal tableName As String, ByVal values As String) As String + Return $"Insert into `{tableName}` Values ( {values} );" + End Function + + Public Overridable Function Insert(ByVal tableName As String, ByVal colNames As String, ByVal values As String) As String + Return $"Insert into `{tableName}` ({colNames}) Values ( {values} );" + End Function + + Public Overridable Function Insert(tableName As String, dicNameValues As Dictionary(Of String, String)) As String + Dim colNames As New StringBuilder + Dim values As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If colNames.Length = 0 Then + colNames.Append($"`{keyValuePair.Key}`") + values.Append($"'{keyValuePair.Value}'") + Else + colNames.Append($",`{keyValuePair.Key}`") + values.Append($",'{keyValuePair.Value}'") + End If + Next + Return Insert(tableName, colNames.ToString(), values.ToString()) + End Function + + Public Overridable Function InsertByParameters(tableName As String, dicNameValues As Dictionary(Of String, String)) As String + Dim colNames As New StringBuilder + Dim values As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If colNames.Length = 0 Then + colNames.Append($"`{keyValuePair.Key}`") + values.Append($"{keyValuePair.Value}") + Else + colNames.Append($",`{keyValuePair.Key}`") + values.Append($",{keyValuePair.Value}") + End If + Next + Return Insert(tableName, colNames.ToString(), values.ToString()) + End Function + + + Public Overridable Function AddCol(ByVal tableName As String, ByVal colName As String, ByVal colType As String, Optional isNull As Boolean = True) As String + Return $"Alter Table `{tableName}` Add `{colName}` {colType} {IIf(isNull, "Default Null", "Not Null")};" + End Function + + Public Overridable Function AddCol(ByVal tableName As String, colParam As DatabaseData) As String + Dim sb As New StringBuilder + sb.Append($"Alter Table `{tableName}` ") + sb.Append("Add ") + sb.Append(colParam.ToAddColString()) + Return sb.ToString() + End Function + + + Public Overridable Function AddCols(tableName As String, colList As List(Of DatabaseData)) As String + Dim sb As New StringBuilder + sb.Append($"Alter Table `{tableName}` ") + sb.Append("Add ") + sb.Append("( ") + + sb.Append(colList(0).ToAddColString()) + For i As Integer = 1 To colList.Count - 1 + sb.Append($",{colList(i).ToAddColString()}") + Next + + sb.Append(");") + + Return sb.ToString() + End Function + + + Public Overridable Function Update(ByVal tableName As String, ByVal destStr As String, ByVal condition As String) As String + Return $"Update `{tableName}` Set {destStr} Where {condition};" + End Function + + Public Overridable Function Update(ByVal tableName As String, dicNameValues As Dictionary(Of String, String), ByVal condition As String) As String + Dim destStr As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If destStr.Length = 0 Then + destStr.Append($"`{keyValuePair.Key}` = '{keyValuePair.Value}'") + Else + destStr.Append($",`{keyValuePair.Key}` = '{keyValuePair.Value}'") + End If + Next + Return Update(tableName, destStr.ToString(), condition) + End Function + + Public Overridable Function Update(ByVal tableName As String, names() As String, values() As String, condition As String) As String + Dim destStr As New StringBuilder + If names.Length <> values.Length Then + Throw New Exception("DBHelpers_Update:names.Length <> values.Length") + End If + + For i As Integer = 0 To names.Length - 1 + If i = 0 Then + destStr.Append($"{names(i)} = '{values(i)}'") + Else + destStr.Append($",{names(i)} = '{values(i)}'") + End If + Next + + Return Update(tableName, destStr.ToString(), condition) + End Function + + Public Overridable Function DeleteRows(ByVal tableName As String, ByVal condition As String) As String + Return $"Delete From `{tableName}` Where {condition};" + End Function + + ''' + ''' 清空数据表 + ''' + ''' 数据表名 + ''' + Public Overridable Function DeleteTable(ByVal tableName As String) As String + Return $"Delete From `{tableName}`;" + End Function + + Public Overridable Function DropCol(ByVal tableName As String, ByVal colName As String) As String + Return $"Alter Table `{tableName}` Drop Column `{colName}`;" + End Function + + ''' + ''' 删除数据表 + ''' + ''' 数据表名 + ''' + Public Overridable Function DropTable(ByVal tableName As String) As String + Return $"Drop Table `{tableName}`;" + End Function + + Public Overridable Function CreateTable(ByVal tableName As String, ByVal createStr As String) As String + Return $"Create Table `{tableName}` ( {createStr} );" + End Function + + Public Overridable Function CreateTableWhenNotExists(tableName As String, createStr As String) As String + Return $"Create Table if not exists `{tableName}` ( {createStr} );" + End Function + + + Public Overridable Function CreateLikeTable(tableName As String, baseTableName As String) As String + Return $"create table `{tableName}` like `{baseTableName}`;" + End Function + + Public Overridable Function CreateLikeTableNotExists(tableName As String, baseTableName As String) As String + Return $"create table if not exists `{tableName}` like `{baseTableName}`;" + End Function + + ''' + ''' 创建表,同时复制基础表数据(不包含原表索引与主键) + ''' 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + ''' + ''' 表名 + ''' 基础表名 + ''' + Public Overridable Function CreateCopyTable(tableName As String, baseTableName As String) As String + Return $"create table `{tableName}` as select * from `{baseTableName}`;" + End Function + + ''' + ''' 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键) + ''' 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + ''' + ''' 表名 + ''' 基础表名 + ''' + Public Overridable Function CreateCopyTableNotExists(tableName As String, baseTableName As String) As String + Return $"create table if not exists `{tableName}` as select * from `{baseTableName}`;" + End Function + + + ''' + ''' 复制基础表数据到新表中 + ''' + ''' 表名 + ''' 基础表名 + ''' + Public Overridable Function InsertCopyTable(tableName As String, baseTableName As String) As String + Return $"insert into `{tableName}` select * from `{baseTableName}`;" + End Function + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/DatabaseData.vb b/RCU-10/RCU/Database/Base/DatabaseData.vb new file mode 100644 index 0000000..96871cc --- /dev/null +++ b/RCU-10/RCU/Database/Base/DatabaseData.vb @@ -0,0 +1,94 @@ +Imports System.Text + +Namespace Database.Base + Public Class DatabaseData + Enum TypeEnum + [Bit] + [Char] + [Date] + [DateTime] + [Double] + [Enum] + [Float] + [Int] + [IntUnsigned] + [Json] + [Text] + [Time] + Varchar + [Year] + End Enum + + ''' + ''' 列名 + ''' + ''' + Public Property ColumnName() As String + + ''' + ''' 当前值 + ''' + ''' + Public Property Value() As String + + + ''' + ''' 默认值 + ''' + ''' + Public Property DefaultValue() As String + + ''' + ''' 数据类型 + ''' + ''' + Public Property DataType() As TypeEnum + + ''' + ''' 数据类型长度 + ''' + ''' + Public Property DataTypeLength() As Integer + + ''' + ''' 是否允许为空 + ''' + ''' + Public Property IsNull() As Boolean = True + + ''' + ''' 是否自动增长 + ''' + ''' + Public Property IsAutoIncrement() As Boolean + + ''' + ''' 是否为主键 + ''' + ''' + Public Property IsPrimaryKey() As Boolean + + Public Function ToAddColString() As String + Dim sb As New StringBuilder + sb.Append($"`{ColumnName}`") + + Select Case DataType + Case TypeEnum.Char, TypeEnum.Varchar + sb.Append($" {DataType}({DataTypeLength}) ") + Case TypeEnum.Int + sb.Append($" {DataType}") + If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT") + Case Else + sb.Append($" {DataType}") + End Select + + sb.Append(IIf(IsNull, " Default Null", " Not Null")) + + If IsPrimaryKey Then + sb.Append($" PRIMARY KEY") + End If + + Return sb.ToString() + End Function + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/DatabaseSchema.vb b/RCU-10/RCU/Database/Base/DatabaseSchema.vb new file mode 100644 index 0000000..0e2970f --- /dev/null +++ b/RCU-10/RCU/Database/Base/DatabaseSchema.vb @@ -0,0 +1,12 @@ +Imports System.Collections.Generic + +Namespace Database.Base + + ''' + ''' Contains the entire database schema + ''' + Public Class DatabaseSchema + Public Tables As List(Of TableSchema) = New List(Of TableSchema)() + Public Views As List(Of ViewSchema) = New List(Of ViewSchema)() + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/ForeignKeySchema.vb b/RCU-10/RCU/Database/Base/ForeignKeySchema.vb new file mode 100644 index 0000000..f0a47c6 --- /dev/null +++ b/RCU-10/RCU/Database/Base/ForeignKeySchema.vb @@ -0,0 +1,11 @@ + +Namespace Database.Base + Public Class ForeignKeySchema + Public TableName As String + Public ColumnName As String + Public ForeignTableName As String + Public ForeignColumnName As String + Public CascadeOnDelete As Boolean + Public IsNullable As Boolean + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/IndexSchema.vb b/RCU-10/RCU/Database/Base/IndexSchema.vb new file mode 100644 index 0000000..c64c2c1 --- /dev/null +++ b/RCU-10/RCU/Database/Base/IndexSchema.vb @@ -0,0 +1,16 @@ +Imports System.Collections.Generic + +Namespace Database.Base + + + Public Class IndexSchema + Public IndexName As String + Public IsUnique As Boolean + Public Columns As List(Of IndexColumn) + End Class + + Public Class IndexColumn + Public ColumnName As String + Public IsAscending As Boolean + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/InsertParams.vb b/RCU-10/RCU/Database/Base/InsertParams.vb new file mode 100644 index 0000000..c7b138a --- /dev/null +++ b/RCU-10/RCU/Database/Base/InsertParams.vb @@ -0,0 +1,7 @@ +Namespace Database.Base + Public Class InsertParams + Public Property TableName() As String + + Public Property InsertKeyValue As Dictionary(Of String, String) + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/SearchCondition.vb b/RCU-10/RCU/Database/Base/SearchCondition.vb new file mode 100644 index 0000000..f860c87 --- /dev/null +++ b/RCU-10/RCU/Database/Base/SearchCondition.vb @@ -0,0 +1,71 @@ +Imports System.Text + +Namespace Database.Base + Public Class SearchCondition + Enum ConditionType + LessThan + GreaterThen + EqualTo + LessThanOrEqualTo + GreaterThenOrEqualTo + End Enum + + Enum LogicType + [And] + [Or] + [Not] + End Enum + + + ''' + ''' 判断列名 + ''' + ''' + Public Property ColName() As String + + ''' + ''' 判断条件 + ''' + ''' + Public Property Condition() As ConditionType = ConditionType.EqualTo + + ''' + ''' 判断值 + ''' + ''' + Public Property ColValue() As String + + ''' + ''' 当前条件与上一个条件的逻辑关系 + ''' + ''' + Public Property LogicPrevious() As LogicType = LogicType.And + + ''' + ''' 将当前条件转换为字符串,不支持将条件逻辑关系同时转换 + ''' + ''' + Public Overrides Function ToString() As String + Dim stringBuilder As New StringBuilder + stringBuilder.Append(" ") + stringBuilder.Append(ColName) + + Select Case Condition + Case ConditionType.EqualTo + stringBuilder.Append("=") + Case ConditionType.LessThan + stringBuilder.Append("<") + Case ConditionType.LessThanOrEqualTo + stringBuilder.Append("<=") + Case ConditionType.GreaterThen + stringBuilder.Append(">") + Case ConditionType.GreaterThenOrEqualTo + stringBuilder.Append(">=") + End Select + + stringBuilder.Append($"'{ColValue}'") + + Return stringBuilder.ToString() + End Function + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/SearchParams.vb b/RCU-10/RCU/Database/Base/SearchParams.vb new file mode 100644 index 0000000..96652b4 --- /dev/null +++ b/RCU-10/RCU/Database/Base/SearchParams.vb @@ -0,0 +1,46 @@ +Namespace Database.Base + Public Class SearchParams + Enum OrderTypeEnum + None + Desc + Asc + End Enum + + ''' + ''' 查询条件的表名 + ''' + ''' + Public Property TableName() As String + + ''' + ''' 当IsSearchAllCols = False时,查询返回列名集合 + ''' + ''' + Public Property SearchColNames() As String() + + ''' + ''' 查询的条件 + ''' + ''' + Public Property SearchCondition() As List(Of SearchCondition) + + ''' + ''' 排序方式 + ''' + ''' + Public Property OrderType As OrderTypeEnum = OrderTypeEnum.None + + ''' + ''' 但需要排序时排序列名 + ''' + ''' + Public Property OrderColName() As String + + + ''' + ''' 从返回结果提取指定行的内容 + ''' + ''' + Public Property Limit() As Integer = 0 + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/TableSchema.vb b/RCU-10/RCU/Database/Base/TableSchema.vb new file mode 100644 index 0000000..b5048b0 --- /dev/null +++ b/RCU-10/RCU/Database/Base/TableSchema.vb @@ -0,0 +1,14 @@ +Imports System.Collections.Generic + +Namespace Database.Base + + + Public Class TableSchema + Public TableName As String + Public TableSchemaName As String + Public Columns As List(Of ColumnSchema) + Public PrimaryKey As List(Of String) + Public ForeignKeys As List(Of ForeignKeySchema) + Public Indexes As List(Of IndexSchema) + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/TriggerBuilder.vb b/RCU-10/RCU/Database/Base/TriggerBuilder.vb new file mode 100644 index 0000000..77eee4d --- /dev/null +++ b/RCU-10/RCU/Database/Base/TriggerBuilder.vb @@ -0,0 +1,71 @@ +Imports System.Collections.Generic +Imports System.Text + +Namespace Database.Base + + Public Module TriggerBuilder + Public Function GetForeignKeyTriggers(ByVal dt As TableSchema) As IList(Of TriggerSchema) + Dim result As IList(Of TriggerSchema) = New List(Of TriggerSchema)() + For Each fks As ForeignKeySchema In dt.ForeignKeys + result.Add(GenerateInsertTrigger(fks)) + result.Add(GenerateUpdateTrigger(fks)) + result.Add(GenerateDeleteTrigger(fks)) + Next + Return result + End Function + + Private Function MakeTriggerName(ByVal fks As ForeignKeySchema, ByVal prefix As String) As String + Return prefix & "_" & fks.TableName & "_" & fks.ColumnName & "_" & fks.ForeignTableName & "_" & fks.ForeignColumnName + End Function + + Public Function GenerateInsertTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema + Dim trigger As TriggerSchema = New TriggerSchema() + trigger.Name = MakeTriggerName(fks, "fki") + trigger.Type = TriggerType.Before + trigger.Event = TriggerEvent.Insert + trigger.Table = fks.TableName + Dim nullString As String = "" + + If fks.IsNullable Then + nullString = " NEW." & fks.ColumnName & " IS NOT NULL AND" + End If + + trigger.Body = "SELECT RAISE(ROLLBACK, 'insert on table " & fks.TableName & " violates foreign key constraint " & trigger.Name & "')" & " WHERE" & nullString & " (SELECT " & fks.ForeignColumnName & " FROM " & fks.ForeignTableName & " WHERE " & fks.ForeignColumnName & " = NEW." & fks.ColumnName & ") IS NULL; " + Return trigger + End Function + + Public Function GenerateUpdateTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema + Dim trigger As TriggerSchema = New TriggerSchema() + trigger.Name = MakeTriggerName(fks, "fku") + trigger.Type = TriggerType.Before + trigger.Event = TriggerEvent.Update + trigger.Table = fks.TableName + Dim triggerName As String = trigger.Name + Dim nullString As String = "" + + If fks.IsNullable Then + nullString = " NEW." & fks.ColumnName & " IS NOT NULL AND" + End If + + trigger.Body = "SELECT RAISE(ROLLBACK, 'update on table " & fks.TableName & " violates foreign key constraint " & triggerName & "')" & " WHERE" & nullString & " (SELECT " & fks.ForeignColumnName & " FROM " & fks.ForeignTableName & " WHERE " & fks.ForeignColumnName & " = NEW." & fks.ColumnName & ") IS NULL; " + Return trigger + End Function + + Public Function GenerateDeleteTrigger(ByVal fks As ForeignKeySchema) As TriggerSchema + Dim trigger As TriggerSchema = New TriggerSchema() + trigger.Name = MakeTriggerName(fks, "fkd") + trigger.Type = TriggerType.Before + trigger.Event = TriggerEvent.Delete + trigger.Table = fks.ForeignTableName + Dim triggerName as String = trigger.Name + + If Not fks.CascadeOnDelete Then + trigger.Body = "SELECT RAISE(ROLLBACK, 'delete on table " & fks.ForeignTableName & " violates foreign key constraint " & triggerName & "')" & " WHERE (SELECT " & fks.ColumnName & " FROM " & fks.TableName & " WHERE " & fks.ColumnName & " = OLD." & fks.ForeignColumnName & ") IS NOT NULL; " + Else + trigger.Body = "DELETE FROM [" & fks.TableName & "] WHERE " & fks.ColumnName & " = OLD." & fks.ForeignColumnName & "; " + End If + + Return trigger + End Function + End Module +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Base/TriggerSchema.vb b/RCU-10/RCU/Database/Base/TriggerSchema.vb new file mode 100644 index 0000000..c53bf19 --- /dev/null +++ b/RCU-10/RCU/Database/Base/TriggerSchema.vb @@ -0,0 +1,20 @@ +Namespace Database.Base + Public Enum TriggerEvent + Delete + Update + Insert + End Enum + + Public Enum TriggerType + After + Before + End Enum + + Public Class TriggerSchema + Public Name As String + Public [Event] As TriggerEvent + Public Type As TriggerType + Public Body As String + Public Table As String + End Class +End Namespace diff --git a/RCU-10/RCU/Database/Base/ViewSchema.vb b/RCU-10/RCU/Database/Base/ViewSchema.vb new file mode 100644 index 0000000..e6b8147 --- /dev/null +++ b/RCU-10/RCU/Database/Base/ViewSchema.vb @@ -0,0 +1,17 @@ + +Namespace Database.Base + ''' + ''' Describes a single view schema + ''' + Public Class ViewSchema + ''' + ''' Contains the view name + ''' + Public ViewName As String + + ''' + ''' Contains the view SQL statement + ''' + Public ViewSql As String + End Class +End NameSpace \ No newline at end of file diff --git a/RCU-10/RCU/Database/DbCmdHelper.vb b/RCU-10/RCU/Database/DbCmdHelper.vb new file mode 100644 index 0000000..bf9f2e0 --- /dev/null +++ b/RCU-10/RCU/Database/DbCmdHelper.vb @@ -0,0 +1,730 @@ +Imports System.Text + + +''' +''' 数据库语句助手 +''' 时间:2020-12-21 +''' 作者:ML +''' 版本:1.0 +''' +''' 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句 +''' 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用 +''' +''' +Public MustInherit Class DbCmdHelper + Protected FiledSuffix As Char + Protected FiledPrefix As Char + + Public Shared Function CreateCmdHelper(type As DbExecutor.DbTypeEnum) As DbCmdHelper + Select Case type + Case DbExecutor.DbTypeEnum.Mysql + Return New MysqlCmdHelper() + Case DbExecutor.DbTypeEnum.Mssql + Return New MssqlCmdHelper() + Case DbExecutor.DbTypeEnum.Sqlite + Return New SqliteCmdHelper() + Case Else + Throw New Exception($"CreateCmdHelper :Unknown Type {type}") + End Select + End Function + + +#Region "访问单数据库连接" + ''' + ''' 查询指定数据表符合条件的所有数据 + ''' + ''' 指定表名 + ''' 查询条件, + ''' + Public Overridable Function SearchAll(tableName As String, Optional condition As String = "") As String + If String.IsNullOrWhiteSpace(condition) Then + Return $"Select * FROM {FiledSuffix}{tableName}{FiledPrefix};" + Else + Return $"Select * FROM {FiledSuffix}{tableName}{FiledPrefix} WHERE {condition};" + End If + End Function + + + ''' + ''' 查询表符合条件的所有指定列的数据 + ''' + ''' 列名集合,需要返回多列时用','符号分隔列名 + ''' 表名 + ''' 条件 + ''' + Public Overridable Function Search(columnName As String, tableName As String, Optional condition As String = "") As String + If String.IsNullOrWhiteSpace(condition) Then + Return $"Select {columnName} FROM {FiledSuffix}{tableName}{FiledPrefix};" + Else + Return $"Select {columnName} FROM {FiledSuffix}{tableName}{FiledPrefix} WHERE {condition};" + End If + End Function + + ''' + ''' 查询表符合条件的所有指定列的数据 + ''' + ''' 表名 + ''' 条件 + ''' + Public Overridable Function Search(columnName As List(Of String), tableName As String, Optional condition As String = "") As String + Dim colNameString As New StringBuilder + For i As Integer = 0 To columnName.Count - 1 + If i = 0 Then + colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}") + Else + colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}") + End If + Next + + If String.IsNullOrWhiteSpace(condition) Then + Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix};" + Else + Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix} Where {condition};" + End If + End Function + + Public Overridable Function SearchOrder(columnName As List(Of String), tableName As String, Optional orderString As String = "") As String + Dim colNameString As New StringBuilder + For i As Integer = 0 To columnName.Count - 1 + If i = 0 Then + colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}") + Else + colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}") + End If + Next + + If String.IsNullOrWhiteSpace(orderString) Then + Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix};" + Else + Return $"Select {colNameString} FROM {FiledSuffix}{tableName}{FiledPrefix} {orderString};" + End If + End Function + + + ''' + ''' 查询指定表包含的内容行数 + ''' + ''' 数据表名 + ''' 查询条件 + ''' + Public Overridable Function SearchCount(tableName As String, Optional condition As String = "") As String + Return Search("count(*)", tableName, condition) + End Function + + ''' + ''' 查询指定数据表的信息 + ''' + ''' 表名 + ''' + Public Overridable Function SearchTableInfo(tableName As String) As String + Return $"Select * from information_schema.tables where table_name = '{tableName}';" + End Function + + + ''' + ''' 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量 + ''' + ''' 表名 + ''' + Public Overridable Function SearchTableExists(tableName As String) As String + Return $"Select count(*) from information_schema.tables where table_name = '{tableName}';" + End Function + + + ''' + ''' 数据表插入一行数据 + ''' + ''' 表名 + ''' 列名字符串 + ''' 列值字符串 + ''' + Public Overridable Function Insert(tableName As String, colNames As String, values As String) As String + Return $"Insert into {FiledSuffix}{tableName}{FiledPrefix} ({colNames}) Values ( {values} );" + End Function + + + ''' + ''' 数据表插入一行数据 + ''' + ''' 表名 + ''' 列名与列值键值对 + ''' + Public Overridable Function Insert(tableName As String, dicNameValues As Dictionary(Of String, String)) As String + Dim colNames As New StringBuilder + Dim values As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If colNames.Length = 0 Then + colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($"'{keyValuePair.Value}'") + Else + colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($",'{keyValuePair.Value}'") + End If + Next + Return Insert(tableName, colNames.ToString(), values.ToString()) + End Function + + ''' + ''' 数据表插入一行,通过命令参数方式执行时使用 + ''' + ''' + ''' + ''' + Public Overridable Function InsertParam(tableName As String, dicNameValues As Dictionary(Of String, String)) As String + Dim colNames As New StringBuilder + Dim values As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If colNames.Length = 0 Then + colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($"{keyValuePair.Value}") + Else + colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($",{keyValuePair.Value}") + End If + Next + Return Insert(tableName, colNames.ToString(), values.ToString()) + End Function + + ''' + ''' 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + ''' + ''' 表名 + ''' 字段列表 + ''' + Public Overridable Function InsertParam(tableName As String, colNames As List(Of String)) As String + Dim colNameString As New StringBuilder + Dim values As New StringBuilder + For Each colName As String In colNames + If colNameString.Length = 0 Then + colNameString.Append($"{FiledSuffix}{colName}{FiledPrefix}") + values.Append($"@{colName}") + Else + colNameString.Append($",{FiledSuffix}{colName}{FiledPrefix}") + values.Append($",@{colName}") + End If + Next + Return Insert(tableName, colNameString.ToString(), values.ToString()) + End Function + + + ''' + ''' 更新指定表数据 + ''' + ''' 指定表名 + ''' 更新字符串 + ''' + ''' + Public Overridable Function Update(tableName As String, destStr As String, condition As String) As String + Return $"Update {FiledSuffix}{tableName}{FiledPrefix} Set {destStr} Where {condition};" + End Function + + ''' + ''' 更新指定表数据 + ''' + ''' 指定表名 + ''' 更新列名与列值键值对 + ''' 更新列索引条件 + ''' + Public Overridable Function Update(tableName As String, dicNameValues As Dictionary(Of String, String), condition As String) As String + Dim destStr As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If destStr.Length = 0 Then + destStr.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix} = '{keyValuePair.Value}'") + Else + destStr.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix} = '{keyValuePair.Value}'") + End If + Next + Return Update(tableName, destStr.ToString(), condition) + End Function + + ''' + ''' 更新指定数据库中指定表数据,参数名由@{ColName} + ''' + ''' 指定表名 + ''' 更新列名的集合 + ''' 更新列索引条件 + ''' + Public Overridable Function UpdateParam(tableName As String, colNames As List(Of String), condition As String) As String + Dim destStr As New StringBuilder + For Each colName As String In colNames + If destStr.Length = 0 Then + destStr.Append($"{FiledSuffix}{colName}{FiledPrefix} = @{colName}") + Else + destStr.Append($",{FiledSuffix}{colName}{FiledPrefix} = @{colName}") + End If + Next + Return Update(tableName, destStr.ToString(), condition) + End Function + + ''' + ''' 指定数据表增加一列数据 + ''' + ''' 表名 + ''' 列名 + ''' 列类型 + ''' 是否允许为空 + ''' + Public Overridable Function AddCol(tableName As String, colName As String, colType As String, Optional isNull As Boolean = True) As String + Return $"Alter Table {FiledSuffix}{tableName}{FiledPrefix} Add {FiledSuffix}{colName}{FiledPrefix} {colType} {IIf(isNull, "Default Null", "Not Null")};" + End Function + + ''' + ''' 数据表删除一列数据 + ''' + ''' 表名 + ''' 需要删除的列名,仅一列 + ''' + Public Overridable Function DropCol(tableName As String, colName As String) As String + Return $"Alter Table {FiledSuffix}{tableName}{FiledPrefix} Drop Column {FiledSuffix}{colName}{FiledPrefix};" + End Function + + ''' + ''' 删除指定表多行数据 + ''' + ''' 表名 + ''' 条件 + ''' + Public Overridable Function DeleteRows(tableName As String, condition As String) As String + Return $"Delete From {FiledSuffix}{tableName}{FiledPrefix} Where {condition};" + End Function + + ''' + ''' 创建数据表 + ''' + ''' 表名 + ''' 创建表的列信息字符串 + ''' + Public Overridable Function CreateTable(tableName As String, createStr As String) As String + Return $"Create Table {FiledSuffix}{tableName}{FiledPrefix} ( {createStr} );" + End Function + + ''' + ''' 创建数据表,如果存在则不创建 + ''' + ''' 表名 + ''' 创建表的列信息字符串 + ''' + Public Overridable Function CreateTableWhenNotExists(tableName As String, createStr As String) As String + Return $"Create Table if not exists {FiledSuffix}{tableName}{FiledPrefix} ( {createStr} );" + End Function + + ''' + ''' 清空数据表,表依旧存在 + ''' + ''' 数据表名 + ''' + Public Overridable Function DeleteTable(tableName As String) As String + Return $"Delete From {FiledSuffix}{tableName}{FiledPrefix};" + End Function + + + ''' + ''' 删除数据表 + ''' + ''' 数据表名 + ''' + Public Overridable Function DropTable(tableName As String) As String + Return $"Drop Table {FiledSuffix}{tableName}{FiledPrefix};" + End Function + + ''' + ''' 删除数据表 + ''' + ''' 数据表名 + ''' + Public Overridable Function DropTableWhenExists(tableName As String) As String + Return $"Drop Table If Exists {FiledSuffix}{tableName}{FiledPrefix};" + End Function +#End Region + + +#Region "访问多数据库连接" + + + + ''' + ''' 查询指定数据库中指定数据表符合条件的所有指定列的数据 + ''' + ''' 数据库名 + ''' 列名集合,需要返回多列时用','符号分隔列名 + ''' 表名 + ''' 条件 + ''' + Public Overridable Function DbSearch(dbName As String, colsName As String, tableName As String, Optional condition As String = "") As String + Dim cmdText As New StringBuilder + cmdText.Append($"Select {colsName} From ") + + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + + If String.IsNullOrWhiteSpace(condition) = False Then + cmdText.Append($" WHERE {condition}") + End If + + cmdText.Append($";") + Return cmdText.ToString() + End Function + + ''' + ''' 查询指定数据库中指定数据表符合条件的所有指定列的去重数据 + ''' + ''' 数据库名 + ''' 列名集合,需要返回多列时用','符号分隔列名 + ''' 表名 + ''' 条件 + ''' + Public Overridable Function DbDistinctSearch(dbName As String, colsName As String, tableName As String, Optional condition As String = "") As String + Dim cmdText As New StringBuilder + cmdText.Append($"Select Distinct {colsName} From ") + + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + + If String.IsNullOrWhiteSpace(condition) = False Then + cmdText.Append($" WHERE {condition}") + End If + + cmdText.Append($";") + Return cmdText.ToString() + End Function + + + ''' + ''' 查询指定数据库中指定数据表符合条件的所有指定列的数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 条件 + ''' + Public Overridable Function DbSearch(dbName As String, columnName As List(Of String), tableName As String, Optional condition As String = "") As String + Dim colNameString As New StringBuilder + For i As Integer = 0 To columnName.Count - 1 + If i = 0 Then + colNameString.Append($"{FiledSuffix}{columnName(i)}{FiledPrefix}") + Else + colNameString.Append($",{FiledSuffix}{columnName(i)}{FiledPrefix}") + End If + Next + + Return DbSearch(dbName, colNameString.ToString(), tableName, condition) + End Function + + ''' + ''' 查询指定表包含的内容行数 + ''' + ''' 数据库名 + ''' 数据表名 + ''' 查询条件 + ''' + Public Overridable Function DbSearchCount(dbName As String, tableName As String, Optional condition As String = "") As String + Return DbSearch(dbName, "count(*)", tableName, condition) + End Function + + ''' + ''' 查询指定数据库中指定数据表符合条件的所有数据 + ''' + ''' + ''' 数据库名 + ''' 数据表名 + ''' 查询条件(可选) + ''' + Public Overridable Function DbSearchAll(dbName As String, tableName As String, Optional condition As String = "") As String + Return DbSearch(dbName, "*", tableName, condition) + End Function + + ''' + ''' 查询指定数据库中指定数据表的信息 + ''' + ''' 数据库名 + ''' 表名 + ''' + Public Overridable Function DbSearchTableInfo(dbName As String, tableName As String) As String + Return DbSearch("", "*", "information_schema.tables", "table_schema = '{dbName}' and table_name = '{tableName}'") + End Function + + ''' + ''' 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量 + ''' + ''' 数据库名 + ''' 表名 + ''' + Public Overridable Function DbSearchTableExists(dbName As String, tableName As String) As String + Return DbSearch("", "count(*)", "information_schema.tables", "table_schema = '{dbName}' and table_name = '{tableName}'") + End Function + + + + ''' + ''' 指定数据库中数据表插入一行数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 列名字符串 + ''' 列值字符串 + ''' + Public Overridable Function DbInsert(dbName As String, tableName As String, colNames As String, values As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Insert into ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" ({colNames}) Values ( {values} );") + Return cmdText.ToString() + End Function + + + ''' + ''' 指定数据库中数据表插入一行数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 列名与列值键值对 + ''' + Public Overridable Function DbInsert(dbName As String, tableName As String, dicNameValues As Dictionary(Of String, String)) As String + Dim colNames As New StringBuilder + Dim values As New StringBuilder + For Each keyValuePair As KeyValuePair(Of String, String) In dicNameValues + If colNames.Length = 0 Then + colNames.Append($"{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($"'{keyValuePair.Value}'") + Else + colNames.Append($",{FiledSuffix}{keyValuePair.Key}{FiledPrefix}") + values.Append($",'{keyValuePair.Value}'") + End If + Next + + Return DbInsert(dbName, tableName, colNames.ToString(), values.ToString()) + End Function + + ''' + ''' 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + ''' + ''' 数据库名 + ''' + ''' 需要插入列名的集合 + ''' + Public Overridable Function DbInsertParam(dbName As String, tableName As String, colNames As List(Of String)) As String + Dim colNameBuilder As New StringBuilder + Dim valueBuilder As New StringBuilder + For Each colName As String In colNames + If colNameBuilder.Length = 0 Then + colNameBuilder.Append($"{FiledSuffix}{colName}{FiledPrefix}") + valueBuilder.Append($"@{colName}") + Else + colNameBuilder.Append($",{FiledSuffix}{colName}{FiledPrefix}") + valueBuilder.Append($",@{colName}") + End If + Next + 'insert into dbName.tablename (1,2,3) value (@1,@2,@3) + Return DbInsert(dbName, tableName, colNameBuilder.ToString(), valueBuilder.ToString()) + End Function + + + ''' + ''' 更新指定数据库中指定表数据 + ''' + ''' 数据库名 + ''' 指定表名 + ''' 更新字符串 + ''' + ''' + Public Overridable Function DbUpdate(dbName As String, tableName As String, destStr As String, condition As String) As String + Dim cmdText As New StringBuilder + Dim tmpStrCmdText As String = "" + + cmdText.Append($"Update ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" Set {destStr} Where {condition};") + tmpStrCmdText = cmdText.ToString() + Console.WriteLine("SQL_CMD = " & tmpStrCmdText) + + Return tmpStrCmdText + End Function + + ''' + ''' 更新指定数据库中指定表数据,参数名由@{ColName} + ''' + ''' 数据库名 + ''' 指定表名 + ''' 更新列名的集合 + ''' 更新列索引条件 + ''' + Public Overridable Function DbUpdateParam(dbName As String, tableName As String, colNames As List(Of String), condition As String) As String + Dim destStr As New StringBuilder + For Each colName As String In colNames + If destStr.Length = 0 Then + destStr.Append($"{FiledSuffix}{colName}{FiledPrefix} = @{colName}") + Else + destStr.Append($",{FiledSuffix}{colName}{FiledPrefix} = @{colName}") + End If + Next + Return DbUpdate(dbName, tableName, destStr.ToString(), condition) + End Function + + + ''' + ''' 更新指定数据库中指定表数据 + ''' + ''' 数据库名 + ''' 指定表名 + ''' 更新列名与列值键值对 + ''' 更新列索引条件 + ''' + Public Overridable Function DbUpdate(dbName As String, tableName As String, filedDictionary As Dictionary(Of String, String), condition As String) As String + Dim destStr As New StringBuilder + For Each filed As KeyValuePair(Of String, String) In filedDictionary + If destStr.Length = 0 Then + destStr.Append($"{FiledSuffix}{filed.Key}{FiledPrefix} = '{filed.Value}'") + Else + destStr.Append($",{FiledSuffix}{filed.Key}{FiledPrefix} = '{filed.Value}'") + End If + Next + Return DbUpdate(dbName, tableName, destStr.ToString(), condition) + End Function + + + ''' + ''' 指定数据库中指定数据表增加一列数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 列名 + ''' 列类型 + ''' 是否允许为空 + ''' + Public Overridable Function DbAddCol(dbName As String, tableName As String, colName As String, colType As String, Optional isNull As Boolean = True) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Alter Table ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" Add {FiledSuffix}{colName}{FiledPrefix} {colType} {IIf(isNull, "Default Null", "Not Null")};") + + Return cmdText.ToString() + End Function + + ''' + ''' 指定数据库中数据表删除一列数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 需要删除的列名,仅一列 + ''' + Public Overridable Function DbDropCol(dbName As String, tableName As String, colName As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Alter Table ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" Drop Column {FiledSuffix}{colName}{FiledPrefix};") + + Return cmdText.ToString() + End Function + + ''' + ''' 指定数据库中指定表删除多行数据 + ''' + ''' 数据库名 + ''' 表名 + ''' 条件 + ''' + Public Overridable Function DbDeleteRows(dbName As String, tableName As String, condition As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Delete From ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" Where {condition};") + + Return cmdText.ToString() + End Function + + ''' + ''' 指定数据库中创建数据表 + ''' + ''' 数据库名 + ''' 表名 + ''' 创建表的列信息字符串 + ''' + Public Overridable Function DbCreateTable(dbName As String, tableName As String, createStr As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Create Table ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" ( {createStr} );") + + Return cmdText.ToString() + End Function + + ''' + ''' 指定数据库中创建数据表,如果存在则不创建 + ''' + ''' 数据库名 + ''' 表名 + ''' 创建表的列信息字符串 + ''' + Public Overridable Function DbCreateTableWhenNotExists(dbName As String, tableName As String, createStr As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Create Table if not exists ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($" ( {createStr} );") + + Return cmdText.ToString() + End Function + + ''' + ''' 清空指定数据库中数据表,表依旧存在 + ''' + ''' 数据库名 + ''' 数据表名 + ''' + Public Overridable Function DbDeleteTable(dbName As String, tableName As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Delete From ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($";") + + Return cmdText.ToString() + End Function + + + ''' + ''' 删除指定数据库中数据表 + ''' + ''' 数据库名 + ''' 数据表名 + ''' + Public Overridable Function DbDropTable(dbName As String, tableName As String) As String + Dim cmdText As New StringBuilder + cmdText.Append($"Drop Table ") + If String.IsNullOrEmpty(dbName) = False Then + cmdText.Append($"{FiledSuffix}{dbName}{FiledPrefix}.") + End If + cmdText.Append($"{FiledSuffix}{tableName}{FiledPrefix}") + cmdText.Append($";") + + Return cmdText.ToString() + End Function +#End Region +End Class \ No newline at end of file diff --git a/RCU-10/RCU/Database/DbExecutor.vb b/RCU-10/RCU/Database/DbExecutor.vb new file mode 100644 index 0000000..7bd9509 --- /dev/null +++ b/RCU-10/RCU/Database/DbExecutor.vb @@ -0,0 +1,377 @@ +Imports System.Data.Common +Imports System.Data.SqlClient +Imports System.Data.SQLite +Imports MySql.Data.MySqlClient + +''' +''' 数据库通用命令执行器 +''' 时间:2020-12-21 +''' 作者:ML +''' 版本:1.0 +''' +Public Class DbExecutor + Implements IDisposable + ''' + ''' 数据库类型,目前支持Mysql与Sqlite + ''' + Enum DbTypeEnum + Mysql + Sqlite + Mssql + End Enum + + + Private ReadOnly _connectionString As String '数据库连接语句 + + Private ReadOnly _dbType As DbTypeEnum '数据库类型 + + Private _connection As DbConnection '数据库连接句柄 + + Private _command As DbCommand '数据库命令句柄 + + Private _dataAdapter As DbDataAdapter '数据库查询填充器句柄 + + Private _transaction As DbTransaction '数据库事务句柄 + + Private _commandHelper As DbCmdHelper '数据库语句填充助手 + + Sub New(type As DbTypeEnum, connectionString As String) + _dbType = type + _connectionString = connectionString + InitByDbType(_dbType) + End Sub + + Private Sub InitByDbType(type As DbTypeEnum) + Select Case type + Case DbTypeEnum.Mysql + _connection = New MySqlConnection() + _command = _connection.CreateCommand() + _dataAdapter = New MySqlDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey} + + _commandHelper = New MysqlCmdHelper() + Case DbTypeEnum.Sqlite + _connection = New SqliteConnection() + _command = _connection.CreateCommand() + _dataAdapter = New SQLiteDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey} + + _commandHelper = New SqliteCmdHelper() + Case DbTypeEnum.Mssql + _connection = New SqlConnection() + _command = _connection.CreateCommand() + _dataAdapter = New SqlDataAdapter() With {.MissingSchemaAction = MissingSchemaAction.AddWithKey} + + _commandHelper = New MssqlCmdHelper() + End Select + End Sub + + + Public ReadOnly Property DatabaseType() As DbTypeEnum + Get + Return _dbType + End Get + 'Set(value As DbTypeEnum) + ' _dbType = value + ' '执行上一个数据库的关闭操作 + ' InitByDbType(_dbType) + 'End Set + End Property + + Public ReadOnly Property Connection() As DbConnection + Get + Return _connection + End Get + End Property + + + Public ReadOnly Property Command() As DbCommand + Get + Return _command + End Get + End Property + + Public ReadOnly Property CmdHelper() As DbCmdHelper + Get + Return _commandHelper + End Get + End Property + + + ''' + ''' 打开数据库连接 + ''' + ''' + Public Function Open() As Boolean + If _connection Is Nothing Then Return False + If String.IsNullOrWhiteSpace(_connectionString) Then Return False + Try + _connection.ConnectionString = _connectionString + _connection.Open() + Catch ex As Exception + Throw + End Try + Return True + End Function + + ''' + ''' 关闭数据库连接 + ''' + Public Sub Close() + If _connection Is Nothing Then Return + If _connection.State = ConnectionState.Closed Then Return + _connection.Close() + End Sub + + ''' + ''' 创建当前连接的命令执行句柄 + ''' + ''' + Public Function CreateCommand() As DbCommand + Return _connection.CreateCommand() + End Function + + + + ''' + ''' 运行非查询语句,返回执行该语句受到影响的行数 + ''' + ''' 执行的数据库命令文本 + ''' + Public Function ExecuteNonQuery(commandText As String) As Integer + Dim result As Integer + Try + _command.CommandText = commandText + result = _command.ExecuteNonQuery() + Catch ex As Exception + Throw + End Try + Return result + End Function + + ''' + ''' 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数 + ''' + ''' 执行的数据库命令文本 + ''' 执行的数据库命令参数 + ''' + Public Function ExecuteNonQuery(commandText As String, commandParams As DbParameterCollection) As Integer + Dim result As Integer + Try + _command.CommandText = commandText + _command.Parameters.Clear() + For Each param As DbParameter In commandParams + _command.Parameters.Add(param) + Next + result = _command.ExecuteNonQuery() + Catch ex As Exception + Throw + End Try + Return result + End Function + + ''' + ''' 执行数据库语句,返回数据库读取流的句柄 + ''' + ''' 执行的数据库命令文本 + ''' + Public Function ExecuteReader(commandText As String) As DbDataReader + Dim result As DbDataReader + Try + _command.CommandText = commandText + result = _command.ExecuteReader() + Catch ex As Exception + Throw + End Try + Return result + End Function + + ''' + ''' 使用命令参数模式执行数据库语句,返回数据库读取流的句柄 + ''' + ''' 执行的数据库命令文本 + ''' 执行的数据库命令参数 + ''' + Public Function ExecuteReader(commandText As String, commandParams As DbParameterCollection) As DbDataReader + Dim result As DbDataReader + Try + _command.CommandText = commandText + _command.Parameters.Clear() + For Each param As DbParameter In commandParams + _command.Parameters.Add(param) + Next + result = _command.ExecuteReader() + Catch ex As Exception + Throw + End Try + Return result + End Function + + ''' + ''' 执行数据库语句,返回查询结果的第一行第一列的内容 + ''' + ''' 执行的数据库命令文本 + ''' + Public Function ExecuteScalar(commandText As String) As Object + Dim result As Object + Try + _command.CommandText = commandText + result = _command.ExecuteScalar() + Catch ex As Exception + Throw + End Try + Return result + End Function + + + ''' + ''' 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容 + ''' + ''' 执行的数据库命令文本 + ''' 执行的数据库命令参数 + ''' + Public Function ExecuteScalar(commandText As String, commandParams As DbParameterCollection) As Object + Dim result As Object + Try + _command.CommandText = commandText + _command.Parameters.Clear() + For Each param As DbParameter In commandParams + _command.Parameters.Add(param) + Next + result = _command.ExecuteScalar() + Catch ex As Exception + Throw + End Try + Return result + End Function + + + ''' + ''' 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + ''' + ''' 执行的数据库命令文本 + ''' + Public Function ExecuteDataTable(commandText As String, Optional withKey As Boolean = True) As DataTable + Dim dataTable As New DataTable + Try + _command.CommandText = commandText + If withKey Then + _dataAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey + Else + _dataAdapter.MissingSchemaAction = MissingSchemaAction.Add + End If + _dataAdapter.SelectCommand = _command + _dataAdapter.Fill(dataTable) + Catch ex As Exception + 'Throw + End Try + Return dataTable + End Function + + ''' + ''' 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + ''' + ''' 执行的数据库命令文本 + ''' 执行的数据库命令参数 + ''' + Public Function ExecuteDataTable(commandText As String, commandParams As DbParameterCollection) As DataTable + Dim dataTable As New DataTable + Try + _command.CommandText = commandText + _command.Parameters.Clear() + For Each param As DbParameter In commandParams + _command.Parameters.Add(param) + Next + _dataAdapter.SelectCommand = _command + _dataAdapter.Fill(dataTable) + Catch ex As Exception + Throw + End Try + Return dataTable + End Function + + ''' + ''' 开启事务 + ''' + ''' + Public Function BeginTransaction() As DbTransaction + _transaction = _connection.BeginTransaction() + Return _transaction + End Function + + ''' + ''' 提交事务 + ''' + Public Sub CommitTransaction() + Try + _transaction.Commit() + Catch ex As Exception + Throw + End Try + End Sub + + ''' + ''' 回滚事务 + ''' + Public Sub RollbackTransaction() + Try + _transaction.Rollback() + Catch ex As Exception + Throw + End Try + End Sub + + ''' + ''' 创建数据参数 + ''' + ''' 参数数据类型 + ''' 参数名称 + ''' 参数值 + ''' + Public Function CreateDbParameter(type As DbType, parameterName As String, value As Object) As DbParameter + Dim dbParam As DbParameter = _command.CreateParameter() + dbParam.DbType = type + dbParam.ParameterName = parameterName + dbParam.Value = value + Return dbParam + End Function + + ''' + ''' 添加数据参数 + ''' + ''' + ''' + ''' + ''' + Public Function AddDbParameter(type As DbType, parameterName As String, value As Object) As DbParameter + Dim dbParam As DbParameter = _command.CreateParameter() + dbParam.DbType = type + dbParam.ParameterName = parameterName + dbParam.Value = value + _command.Parameters.Add(dbParam) + Return dbParam + End Function + + ''' + ''' 清空数据 + ''' + Public Sub ClearDbParameter() + _command.Parameters.Clear() + End Sub + + + ''' + ''' 回收资源 + ''' + Public Sub Dispose() Implements IDisposable.Dispose + If _connection IsNot Nothing Then + If _connection.State = ConnectionState.Open Then + _connection.Close() + End If + _connection.Dispose() + End If + + If _command IsNot Nothing Then _command.Dispose() + If _dataAdapter IsNot Nothing Then _dataAdapter.Dispose() + + GC.Collect() '对所有缓存垃圾进行回收 + End Sub +End Class \ No newline at end of file diff --git a/RCU-10/RCU/Database/Mssql/MssqlCmdHelper.vb b/RCU-10/RCU/Database/Mssql/MssqlCmdHelper.vb new file mode 100644 index 0000000..aba0d2d --- /dev/null +++ b/RCU-10/RCU/Database/Mssql/MssqlCmdHelper.vb @@ -0,0 +1,10 @@ +Namespace Database.Mssql + Public Class MssqlCmdHelper + Inherits DbCmdHelper + + Sub New() + FiledSuffix = "["c + FiledPrefix = "]"c + End Sub + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/MssqlCmdHelper.vb b/RCU-10/RCU/Database/MssqlCmdHelper.vb new file mode 100644 index 0000000..d1137f8 --- /dev/null +++ b/RCU-10/RCU/Database/MssqlCmdHelper.vb @@ -0,0 +1,8 @@ +Public Class MssqlCmdHelper + Inherits DbCmdHelper + + Sub New() + FiledSuffix = "["c + FiledPrefix = "]"c + End Sub +End Class \ No newline at end of file diff --git a/RCU-10/RCU/Database/Mysql/DataParam.vb b/RCU-10/RCU/Database/Mysql/DataParam.vb new file mode 100644 index 0000000..475708d --- /dev/null +++ b/RCU-10/RCU/Database/Mysql/DataParam.vb @@ -0,0 +1,222 @@ +Imports System.Text + +Namespace Database.Mysql + Public Class DataParam + Enum DataTypeEnum + '###############################数值类型############################# + ''' + ''' 1 byte,小整数值 + ''' + Tinyint + + ''' + ''' 2 bytes,大整数值 + ''' + Smallint + + ''' + ''' 3 bytes,大整数值 + ''' + Mediumint + + ''' + ''' 4 bytes,大整数值 + ''' + Int + + ''' + ''' 4 bytes,大整数值 + ''' + [Integer] + + ''' + ''' 8 bytes,极大整数值 + ''' + Bigint + + ''' + ''' 4 bytes,单精度浮点数值 + ''' + Float + + + ''' + ''' 8 bytes,双精度浮点数值 + ''' + [Double] + + + + '####################日期类型############################### + + ''' + ''' 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + ''' + [Decimal] + + ''' + ''' 3 bytes,日期值,YYYY-MM-DD + ''' + [Date] + + + ''' + ''' 3 bytes,时间值或持续时间,HH:MM:SS + ''' + Time + + + ''' + ''' 1 bytes,年份值,YYYY + ''' + Year + + + ''' + ''' 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + ''' + Datetime + + ''' + ''' 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + ''' + Timestamp + + + '####################字符类型############################### + + ''' + ''' 0-255 bytes,定长字符串 + ''' + [Char] + + ''' + ''' 0-65535 bytes,变长字符串 + ''' + Varchar + + ''' + ''' 0-255 bytes,不超过 255 个字符的二进制字符串 + ''' + Tinyblob + + + ''' + ''' 0-255 bytes,短文本字符串 + ''' + Tinytext + + ''' + ''' 0-65 535 bytes,二进制形式的长文本数据 + ''' + Blob + + ''' + ''' 0-65 535 bytes,长文本数据 + ''' + Text + + + ''' + ''' 0-16 777 215 bytes,二进制形式的中等长度文本数据 + ''' + Mediumblob + + ''' + ''' 0-16 777 215 bytes,中等长度文本数据 + ''' + Mediumtext + + ''' + ''' 0-4 294 967 295 bytes,二进制形式的极大文本数据 + ''' + Longblob + + ''' + ''' 0-4 294 967 295 bytes,极大文本数据 + ''' + Longtext + End Enum + + ''' + ''' 列名 + ''' + ''' + Public Property ColumnName() As String + + ''' + ''' 当前值 + ''' + ''' + Public Property Value() As String + + + ''' + ''' 默认值 + ''' + ''' + Public Property DefaultValue() As String + + ''' + ''' 数据类型 + ''' + ''' + Public Property DataType() As DataTypeEnum + + ''' + ''' 数据类型长度 + ''' + ''' + Public Property DataTypeLength() As Integer + + ''' + ''' 数据类型是否带符号 + ''' + ''' + Public Property IsUnsigned() As Boolean + + + + ''' + ''' 是否允许为空 + ''' + ''' + Public Property IsNull() As Boolean = True + + ''' + ''' 是否自动增长 + ''' + ''' + Public Property IsAutoIncrement() As Boolean + + ''' + ''' 是否为主键 + ''' + ''' + Public Property IsPrimaryKey() As Boolean + + Public Function ToAddColString() As String + Dim sb As New StringBuilder + sb.Append($"`{ColumnName}`") + + Select Case DataType + Case DataTypeEnum.Varchar,DataTypeEnum.[Char] + sb.Append($" {DataType}({DataTypeLength}) ") + Case DataTypeEnum.Int + sb.Append($" {DataType}") + if IsUnsigned Then sb.Append($" Unsigned") + If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT") + Case Else + sb.Append($" {DataType}") + End Select + + sb.Append(IIf(IsNull, " Default Null", " Not Null")) + + If IsPrimaryKey Then + sb.Append($" PRIMARY KEY") + End If + + Return sb.ToString() + End Function + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Mysql/MysqlCmdHelper.vb b/RCU-10/RCU/Database/Mysql/MysqlCmdHelper.vb new file mode 100644 index 0000000..33e3bcc --- /dev/null +++ b/RCU-10/RCU/Database/Mysql/MysqlCmdHelper.vb @@ -0,0 +1,13 @@ +Imports System.Text + +Namespace Database.Mysql + Public Class MysqlCmdHelper + Inherits DbCmdHelper + + Sub New + FiledSuffix = "`"c + FiledPrefix = "`"c + End Sub + + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/MysqlCmdHelper.vb b/RCU-10/RCU/Database/MysqlCmdHelper.vb new file mode 100644 index 0000000..b4efed5 --- /dev/null +++ b/RCU-10/RCU/Database/MysqlCmdHelper.vb @@ -0,0 +1,9 @@ +Public Class MysqlCmdHelper + Inherits DbCmdHelper + + Sub New() + FiledSuffix = "`"c + FiledPrefix = "`"c + End Sub + +End Class diff --git a/RCU-10/RCU/Database/MysqlDataParam.vb b/RCU-10/RCU/Database/MysqlDataParam.vb new file mode 100644 index 0000000..fa75e80 --- /dev/null +++ b/RCU-10/RCU/Database/MysqlDataParam.vb @@ -0,0 +1,220 @@ +Imports System.Text + +Public Class MysqlDataParam + Enum DataTypeEnum + '###############################数值类型############################# + ''' + ''' 1 byte,小整数值 + ''' + Tinyint + + ''' + ''' 2 bytes,大整数值 + ''' + Smallint + + ''' + ''' 3 bytes,大整数值 + ''' + Mediumint + + ''' + ''' 4 bytes,大整数值 + ''' + Int + + ''' + ''' 4 bytes,大整数值 + ''' + [Integer] + + ''' + ''' 8 bytes,极大整数值 + ''' + Bigint + + ''' + ''' 4 bytes,单精度浮点数值 + ''' + Float + + + ''' + ''' 8 bytes,双精度浮点数值 + ''' + [Double] + + + + '####################日期类型############################### + + ''' + ''' 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + ''' + [Decimal] + + ''' + ''' 3 bytes,日期值,YYYY-MM-DD + ''' + [Date] + + + ''' + ''' 3 bytes,时间值或持续时间,HH:MM:SS + ''' + Time + + + ''' + ''' 1 bytes,年份值,YYYY + ''' + Year + + + ''' + ''' 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + ''' + Datetime + + ''' + ''' 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + ''' + Timestamp + + + '####################字符类型############################### + + ''' + ''' 0-255 bytes,定长字符串 + ''' + [Char] + + ''' + ''' 0-65535 bytes,变长字符串 + ''' + Varchar + + ''' + ''' 0-255 bytes,不超过 255 个字符的二进制字符串 + ''' + Tinyblob + + + ''' + ''' 0-255 bytes,短文本字符串 + ''' + Tinytext + + ''' + ''' 0-65 535 bytes,二进制形式的长文本数据 + ''' + Blob + + ''' + ''' 0-65 535 bytes,长文本数据 + ''' + Text + + + ''' + ''' 0-16 777 215 bytes,二进制形式的中等长度文本数据 + ''' + Mediumblob + + ''' + ''' 0-16 777 215 bytes,中等长度文本数据 + ''' + Mediumtext + + ''' + ''' 0-4 294 967 295 bytes,二进制形式的极大文本数据 + ''' + Longblob + + ''' + ''' 0-4 294 967 295 bytes,极大文本数据 + ''' + Longtext + End Enum + + ''' + ''' 列名 + ''' + ''' + Public Property ColumnName() As String + + ''' + ''' 当前值 + ''' + ''' + Public Property Value() As String + + + ''' + ''' 默认值 + ''' + ''' + Public Property DefaultValue() As String + + ''' + ''' 数据类型 + ''' + ''' + Public Property DataType() As DataTypeEnum + + ''' + ''' 数据类型长度 + ''' + ''' + Public Property DataTypeLength() As Integer + + ''' + ''' 数据类型是否带符号 + ''' + ''' + Public Property IsUnsigned() As Boolean + + + + ''' + ''' 是否允许为空 + ''' + ''' + Public Property IsNull() As Boolean = True + + ''' + ''' 是否自动增长 + ''' + ''' + Public Property IsAutoIncrement() As Boolean + + ''' + ''' 是否为主键 + ''' + ''' + Public Property IsPrimaryKey() As Boolean + + Public Function ToAddColString() As String + Dim sb As New StringBuilder + sb.Append($"`{ColumnName}`") + + Select Case DataType + Case DataTypeEnum.Varchar, DataTypeEnum.[Char] + sb.Append($" {DataType}({DataTypeLength}) ") + Case DataTypeEnum.Int + sb.Append($" {DataType}") + If IsUnsigned Then sb.Append($" Unsigned") + If IsAutoIncrement Then sb.Append($" AUTO_INCREMENT") + Case Else + sb.Append($" {DataType}") + End Select + + sb.Append(IIf(IsNull, " Default Null", " Not Null")) + + If IsPrimaryKey Then + sb.Append($" PRIMARY KEY") + End If + + Return sb.ToString() + End Function +End Class \ No newline at end of file diff --git a/RCU-10/RCU/Database/Sqlite/DataParam.vb b/RCU-10/RCU/Database/Sqlite/DataParam.vb new file mode 100644 index 0000000..2fa45b9 --- /dev/null +++ b/RCU-10/RCU/Database/Sqlite/DataParam.vb @@ -0,0 +1,106 @@ +Imports System.Text + +Namespace Database.Sqlite + Public Class DataParam + Enum DataTypeEnum + Varchar + Nchar + Blob + Bit + Datetime + [Decimal] + Real + UniqueIdentifier + Int + [Integer] + TinyInt + [Single] + Nvarchar + SmallInt + SmallUint + Uint + UnsignedInteger + End Enum + + ''' + ''' 列名 + ''' + ''' + Public Property ColumnName() As String + + ''' + ''' 当前值 + ''' + ''' + Public Property Value() As String + + + ''' + ''' 默认值 + ''' + ''' + Public Property DefaultValue() As String + + ''' + ''' 数据类型 + ''' + ''' + Public Property DataType() As DataTypeEnum + + ''' + ''' 数据类型长度 + ''' + ''' + Public Property DataTypeLength() As Integer + + + ''' + ''' 是否允许为空 + ''' + ''' + Public Property IsNull() As Boolean = True + + ''' + ''' 是否自动增长 + ''' + ''' + Public Property IsAutoIncrement() As Boolean + + ''' + ''' 是否为主键 + ''' + ''' + Public Property IsPrimaryKey() As Boolean + + ''' + ''' 是否为唯一值 + ''' + ''' + Public Property IsUnique() As Boolean + + + Public Function ToAddColString() As String + Dim sb As New StringBuilder + sb.Append($"`{ColumnName}`") + + Select Case DataType + Case DataTypeEnum.Varchar, DataTypeEnum.Nchar, DataTypeEnum.Nvarchar + sb.Append($" {DataType}({DataTypeLength}) ") + Case DataTypeEnum.Int,DataTypeEnum.Integer + sb.Append($" {DataType}") + Case Else + sb.Append($" {DataType}") + End Select + + If IsAutoIncrement Then sb.Append($" AUTOINCREMENT") + + sb.Append(IIf(IsNull, " Default Null", " Not Null")) + + If IsPrimaryKey Then + sb.Append($" PRIMARY KEY") + End If + + Return sb.ToString() + End Function + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/Sqlite/SqliteCmdHelper.vb b/RCU-10/RCU/Database/Sqlite/SqliteCmdHelper.vb new file mode 100644 index 0000000..01a0efb --- /dev/null +++ b/RCU-10/RCU/Database/Sqlite/SqliteCmdHelper.vb @@ -0,0 +1,20 @@ +Namespace Database.Sqlite + Public Class SqliteCmdHelper + Inherits DbCmdHelper + + Sub New() + FiledSuffix = "["c + FiledPrefix = "]"c + End Sub + + ''' + ''' 查询指定数据表的信息 + ''' + ''' + ''' + Public Overrides Function SearchTableInfo(tableName As String) As String + Return $"select * from sqlite_master where tbl_name = '{tableName}';" + End Function + + End Class +End Namespace \ No newline at end of file diff --git a/RCU-10/RCU/Database/SqliteCmdHelper.vb b/RCU-10/RCU/Database/SqliteCmdHelper.vb new file mode 100644 index 0000000..b89febc --- /dev/null +++ b/RCU-10/RCU/Database/SqliteCmdHelper.vb @@ -0,0 +1,19 @@ + +Public Class SqliteCmdHelper + Inherits DbCmdHelper + + Sub New() + FiledSuffix = "["c + FiledPrefix = "]"c + End Sub + + ''' + ''' 查询指定数据表的信息 + ''' + ''' + ''' + Public Overrides Function SearchTableInfo(tableName As String) As String + Return $"select * from sqlite_master where tbl_name = '{tableName}';" + End Function + +End Class diff --git a/RCU-10/RCU/Database/SqliteDataParam.vb b/RCU-10/RCU/Database/SqliteDataParam.vb new file mode 100644 index 0000000..81fba52 --- /dev/null +++ b/RCU-10/RCU/Database/SqliteDataParam.vb @@ -0,0 +1,105 @@ +Imports System.Text + + +Public Class SqliteDataParam + Enum DataTypeEnum + Varchar + Nchar + Blob + Bit + Datetime + [Decimal] + Real + UniqueIdentifier + Int + [Integer] + TinyInt + [Single] + Nvarchar + SmallInt + SmallUint + Uint + UnsignedInteger + End Enum + + ''' + ''' 列名 + ''' + ''' + Public Property ColumnName() As String + + ''' + ''' 当前值 + ''' + ''' + Public Property Value() As String + + + ''' + ''' 默认值 + ''' + ''' + Public Property DefaultValue() As String + + ''' + ''' 数据类型 + ''' + ''' + Public Property DataType() As DataTypeEnum + + ''' + ''' 数据类型长度 + ''' + ''' + Public Property DataTypeLength() As Integer + + + ''' + ''' 是否允许为空 + ''' + ''' + Public Property IsNull() As Boolean = True + + ''' + ''' 是否自动增长 + ''' + ''' + Public Property IsAutoIncrement() As Boolean + + ''' + ''' 是否为主键 + ''' + ''' + Public Property IsPrimaryKey() As Boolean + + ''' + ''' 是否为唯一值 + ''' + ''' + Public Property IsUnique() As Boolean + + + Public Function ToAddColString() As String + Dim sb As New StringBuilder + sb.Append($"`{ColumnName}`") + + Select Case DataType + Case DataTypeEnum.Varchar, DataTypeEnum.Nchar, DataTypeEnum.Nvarchar + sb.Append($" {DataType}({DataTypeLength}) ") + Case DataTypeEnum.Int, DataTypeEnum.Integer + sb.Append($" {DataType}") + Case Else + sb.Append($" {DataType}") + End Select + + If IsAutoIncrement Then sb.Append($" AUTOINCREMENT") + + sb.Append(IIf(IsNull, " Default Null", " Not Null")) + + If IsPrimaryKey Then + sb.Append($" PRIMARY KEY") + End If + + Return sb.ToString() + End Function +End Class \ No newline at end of file diff --git a/RCU-10/RCU/DeviceListInfo.vb b/RCU-10/RCU/DeviceListInfo.vb new file mode 100644 index 0000000..a34d5bc --- /dev/null +++ b/RCU-10/RCU/DeviceListInfo.vb @@ -0,0 +1,114 @@ +Public Class DeviceListInfo + + + ''' + ''' 设备类型 + ''' + Public Property DevType As String + + + ''' + ''' 设备地址 + ''' + Public Property DevAddr As String + + + ''' + ''' 设备状态 + ''' + Public Property DevState As String + + + ''' + ''' 设备名称 + ''' + Public Property DevName As String + + + ''' + ''' 设备控制计数 + ''' + Public Property DevControlCount As Integer + + + ''' + ''' 设备控制信息 + ''' + Public Property DevControlInfo As String + + + ''' + ''' 设备测试成功率 + ''' + Public Property DevTest As String + + + ''' + ''' 初始化 + ''' + Sub New() + DevType = "" + Me.DevAddr = "" + DevName = GetDevName(DevType, DevAddr) + DevState = $"未知" + DevControlCount = 0 + DevControlInfo = "" + DevTest = "" + End Sub + + + ''' + ''' 初始化 + ''' + ''' 设备类型 + ''' 设备地址 + Sub New(devType As String, devAddr As String) + Me.DevType = devType + Me.DevAddr = devAddr + DevName = GetDevName(devType, devAddr) + DevState = $"未知" + DevControlCount = 0 + DevControlInfo = "" + DevTest = "" + End Sub + + + ''' + ''' 初始化 + ''' + ''' 设备类型 + ''' 设备地址 + ''' 设备状态 + Sub New(devType As String, devAddr As String, devState As String) + Me.DevType = devType + Me.DevAddr = devAddr + DevName = GetDevName(devType, devAddr) + Me.DevState = devState + DevControlCount = 0 + DevControlInfo = "" + DevTest = "" + End Sub + + + ''' + ''' 获取设备名称 + ''' + ''' 设备类型 + ''' 设备地址 + ''' + Public Shared Function GetDevName(devType As String, devAddr As String) As String + Return $"{devType}_{devAddr}" + End Function + + + ''' + ''' 复位状态 + ''' + Public Sub ResetState() + DevState = $"未知" + End Sub + + + + +End Class diff --git a/RCU-10/RCU/Dialog1.Designer.vb b/RCU-10/RCU/Dialog1.Designer.vb new file mode 100644 index 0000000..2958776 --- /dev/null +++ b/RCU-10/RCU/Dialog1.Designer.vb @@ -0,0 +1,87 @@ + _ +Partial Class Dialog1 + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel + Me.OK_Button = New System.Windows.Forms.Button + Me.Cancel_Button = New System.Windows.Forms.Button + Me.TableLayoutPanel1.SuspendLayout() + Me.SuspendLayout() + ' + 'TableLayoutPanel1 + ' + Me.TableLayoutPanel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TableLayoutPanel1.ColumnCount = 2 + Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!)) + Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!)) + Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0) + Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0) + Me.TableLayoutPanel1.Location = New System.Drawing.Point(277, 274) + Me.TableLayoutPanel1.Name = "TableLayoutPanel1" + Me.TableLayoutPanel1.RowCount = 1 + Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!)) + Me.TableLayoutPanel1.Size = New System.Drawing.Size(146, 29) + Me.TableLayoutPanel1.TabIndex = 0 + ' + 'OK_Button + ' + Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None + Me.OK_Button.Location = New System.Drawing.Point(3, 3) + Me.OK_Button.Name = "OK_Button" + Me.OK_Button.Size = New System.Drawing.Size(67, 23) + Me.OK_Button.TabIndex = 0 + Me.OK_Button.Text = "确定" + ' + 'Cancel_Button + ' + Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None + Me.Cancel_Button.Location = New System.Drawing.Point(76, 3) + Me.Cancel_Button.Name = "Cancel_Button" + Me.Cancel_Button.Size = New System.Drawing.Size(67, 23) + Me.Cancel_Button.TabIndex = 1 + Me.Cancel_Button.Text = "取消" + ' + 'Dialog1 + ' + Me.AcceptButton = Me.OK_Button + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel_Button + Me.ClientSize = New System.Drawing.Size(435, 315) + Me.Controls.Add(Me.TableLayoutPanel1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "Dialog1" + Me.ShowInTaskbar = False + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "Dialog1" + Me.TableLayoutPanel1.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel + Friend WithEvents OK_Button As System.Windows.Forms.Button + Friend WithEvents Cancel_Button As System.Windows.Forms.Button + +End Class diff --git a/RCU-10/RCU/Dialog1.vb b/RCU-10/RCU/Dialog1.vb new file mode 100644 index 0000000..37e898c --- /dev/null +++ b/RCU-10/RCU/Dialog1.vb @@ -0,0 +1,15 @@ +Imports System.Windows.Forms + +Public Class Dialog1 + + Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.OK + Me.Close() + End Sub + + Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click + Me.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Close() + End Sub + +End Class diff --git a/RCU-10/RCU/Frm485Update.Designer.vb b/RCU-10/RCU/Frm485Update.Designer.vb new file mode 100644 index 0000000..e96cce1 --- /dev/null +++ b/RCU-10/RCU/Frm485Update.Designer.vb @@ -0,0 +1,296 @@ + _ +Partial Class Frm485Update + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Me.StatusStrip1 = New System.Windows.Forms.StatusStrip() + Me.TSSLbl1 = New System.Windows.Forms.ToolStripStatusLabel() + Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel() + Me.TSPBar1 = New System.Windows.Forms.ToolStripProgressBar() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.ComboBox2 = New System.Windows.Forms.ComboBox() + Me.Label4 = New System.Windows.Forms.Label() + Me.Button1 = New System.Windows.Forms.Button() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.BtnUpdateFile = New System.Windows.Forms.Button() + Me.BtnSelectFile = New System.Windows.Forms.Button() + Me.BtnSearch = New System.Windows.Forms.Button() + Me.Label3 = New System.Windows.Forms.Label() + Me.NumericUpDown2 = New System.Windows.Forms.NumericUpDown() + Me.Label2 = New System.Windows.Forms.Label() + Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown() + Me.Label1 = New System.Windows.Forms.Label() + Me.ComboBox1 = New System.Windows.Forms.ComboBox() + Me.GrdTypeInfo = New FlexCell.Grid() + Me.StatusStrip1.SuspendLayout + CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).BeginInit + Me.SplitContainer1.Panel1.SuspendLayout + Me.SplitContainer1.Panel2.SuspendLayout + Me.SplitContainer1.SuspendLayout + Me.GroupBox1.SuspendLayout + CType(Me.NumericUpDown2,System.ComponentModel.ISupportInitialize).BeginInit + CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).BeginInit + Me.SuspendLayout + ' + 'StatusStrip1 + ' + Me.StatusStrip1.Font = New System.Drawing.Font("微软雅黑", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TSSLbl1, Me.ToolStripStatusLabel1, Me.TSPBar1}) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 456) + Me.StatusStrip1.Name = "StatusStrip1" + Me.StatusStrip1.Size = New System.Drawing.Size(404, 26) + Me.StatusStrip1.TabIndex = 0 + Me.StatusStrip1.Text = "StatusStrip1" + ' + 'TSSLbl1 + ' + Me.TSSLbl1.Name = "TSSLbl1" + Me.TSSLbl1.RightToLeft = System.Windows.Forms.RightToLeft.No + Me.TSSLbl1.Size = New System.Drawing.Size(187, 21) + Me.TSSLbl1.Spring = true + Me.TSSLbl1.Text = "等待解析" + Me.TSSLbl1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'ToolStripStatusLabel1 + ' + Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1" + Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(20, 21) + Me.ToolStripStatusLabel1.Text = " " + ' + 'TSPBar1 + ' + Me.TSPBar1.Name = "TSPBar1" + Me.TSPBar1.Size = New System.Drawing.Size(180, 20) + ' + 'SplitContainer1 + ' + Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox1) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.GrdTypeInfo) + Me.SplitContainer1.Size = New System.Drawing.Size(404, 456) + Me.SplitContainer1.SplitterDistance = 224 + Me.SplitContainer1.TabIndex = 1 + ' + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.ComboBox2) + Me.GroupBox1.Controls.Add(Me.Label4) + Me.GroupBox1.Controls.Add(Me.Button1) + Me.GroupBox1.Controls.Add(Me.TextBox1) + Me.GroupBox1.Controls.Add(Me.BtnUpdateFile) + Me.GroupBox1.Controls.Add(Me.BtnSelectFile) + Me.GroupBox1.Controls.Add(Me.BtnSearch) + Me.GroupBox1.Controls.Add(Me.Label3) + Me.GroupBox1.Controls.Add(Me.NumericUpDown2) + Me.GroupBox1.Controls.Add(Me.Label2) + Me.GroupBox1.Controls.Add(Me.NumericUpDown1) + Me.GroupBox1.Controls.Add(Me.Label1) + Me.GroupBox1.Controls.Add(Me.ComboBox1) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(402, 222) + Me.GroupBox1.TabIndex = 0 + Me.GroupBox1.TabStop = false + Me.GroupBox1.Text = "升级信息" + ' + 'ComboBox2 + ' + Me.ComboBox2.FormattingEnabled = true + Me.ComboBox2.Location = New System.Drawing.Point(95, 124) + Me.ComboBox2.Name = "ComboBox2" + Me.ComboBox2.Size = New System.Drawing.Size(85, 20) + Me.ComboBox2.TabIndex = 12 + ' + 'Label4 + ' + Me.Label4.AutoSize = true + Me.Label4.Location = New System.Drawing.Point(12, 127) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(77, 12) + Me.Label4.TabIndex = 11 + Me.Label4.Text = "单包字节数:" + ' + 'Button1 + ' + Me.Button1.ForeColor = System.Drawing.Color.Green + Me.Button1.Location = New System.Drawing.Point(206, 168) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(65, 29) + Me.Button1.TabIndex = 10 + Me.Button1.Text = "测试" + Me.Button1.UseVisualStyleBackColor = true + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(14, 89) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(257, 21) + Me.TextBox1.TabIndex = 9 + ' + 'BtnUpdateFile + ' + Me.BtnUpdateFile.ForeColor = System.Drawing.Color.Green + Me.BtnUpdateFile.Location = New System.Drawing.Point(292, 119) + Me.BtnUpdateFile.Name = "BtnUpdateFile" + Me.BtnUpdateFile.Size = New System.Drawing.Size(65, 29) + Me.BtnUpdateFile.TabIndex = 8 + Me.BtnUpdateFile.Text = "开始升级" + Me.BtnUpdateFile.UseVisualStyleBackColor = true + ' + 'BtnSelectFile + ' + Me.BtnSelectFile.Location = New System.Drawing.Point(292, 84) + Me.BtnSelectFile.Name = "BtnSelectFile" + Me.BtnSelectFile.Size = New System.Drawing.Size(65, 29) + Me.BtnSelectFile.TabIndex = 7 + Me.BtnSelectFile.Text = "选择文件" + Me.BtnSelectFile.UseVisualStyleBackColor = true + ' + 'BtnSearch + ' + Me.BtnSearch.Location = New System.Drawing.Point(292, 49) + Me.BtnSearch.Name = "BtnSearch" + Me.BtnSearch.Size = New System.Drawing.Size(65, 29) + Me.BtnSearch.TabIndex = 6 + Me.BtnSearch.Text = "搜索" + Me.BtnSearch.UseVisualStyleBackColor = true + ' + 'Label3 + ' + Me.Label3.AutoSize = true + Me.Label3.Location = New System.Drawing.Point(153, 59) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(17, 12) + Me.Label3.TabIndex = 5 + Me.Label3.Text = "—" + ' + 'NumericUpDown2 + ' + Me.NumericUpDown2.Location = New System.Drawing.Point(176, 55) + Me.NumericUpDown2.Name = "NumericUpDown2" + Me.NumericUpDown2.Size = New System.Drawing.Size(64, 21) + Me.NumericUpDown2.TabIndex = 4 + ' + 'Label2 + ' + Me.Label2.AutoSize = true + Me.Label2.Location = New System.Drawing.Point(12, 57) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(65, 12) + Me.Label2.TabIndex = 3 + Me.Label2.Text = "搜索范围:" + ' + 'NumericUpDown1 + ' + Me.NumericUpDown1.Location = New System.Drawing.Point(83, 55) + Me.NumericUpDown1.Name = "NumericUpDown1" + Me.NumericUpDown1.Size = New System.Drawing.Size(64, 21) + Me.NumericUpDown1.TabIndex = 2 + ' + 'Label1 + ' + Me.Label1.AutoSize = true + Me.Label1.Location = New System.Drawing.Point(12, 23) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(41, 12) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "设备:" + ' + 'ComboBox1 + ' + Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBox1.FormattingEnabled = true + Me.ComboBox1.Location = New System.Drawing.Point(59, 20) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(121, 20) + Me.ComboBox1.TabIndex = 0 + ' + 'GrdTypeInfo + ' + Me.GrdTypeInfo.CheckedImage = Nothing + Me.GrdTypeInfo.DefaultFont = New System.Drawing.Font("宋体", 9!) + Me.GrdTypeInfo.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrdTypeInfo.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.GrdTypeInfo.GridColor = System.Drawing.Color.FromArgb(CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer)) + Me.GrdTypeInfo.Location = New System.Drawing.Point(0, 0) + Me.GrdTypeInfo.Name = "GrdTypeInfo" + Me.GrdTypeInfo.Size = New System.Drawing.Size(402, 226) + Me.GrdTypeInfo.TabIndex = 0 + Me.GrdTypeInfo.UncheckedImage = Nothing + ' + 'Frm485Update + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 12!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(404, 482) + Me.Controls.Add(Me.SplitContainer1) + Me.Controls.Add(Me.StatusStrip1) + Me.Name = "Frm485Update" + Me.Text = "Frm485Update" + Me.StatusStrip1.ResumeLayout(false) + Me.StatusStrip1.PerformLayout + Me.SplitContainer1.Panel1.ResumeLayout(false) + Me.SplitContainer1.Panel2.ResumeLayout(false) + CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).EndInit + Me.SplitContainer1.ResumeLayout(false) + Me.GroupBox1.ResumeLayout(false) + Me.GroupBox1.PerformLayout + CType(Me.NumericUpDown2,System.ComponentModel.ISupportInitialize).EndInit + CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).EndInit + Me.ResumeLayout(false) + Me.PerformLayout + +End Sub + + Friend WithEvents StatusStrip1 As StatusStrip + Friend WithEvents SplitContainer1 As SplitContainer + Friend WithEvents GrdTypeInfo As FlexCell.Grid + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents Label1 As Label + Friend WithEvents ComboBox1 As ComboBox + Friend WithEvents BtnUpdateFile As Button + Friend WithEvents BtnSelectFile As Button + Friend WithEvents BtnSearch As Button + Friend WithEvents Label3 As Label + Friend WithEvents NumericUpDown2 As NumericUpDown + Friend WithEvents Label2 As Label + Friend WithEvents NumericUpDown1 As NumericUpDown + Friend WithEvents TextBox1 As TextBox + Friend WithEvents TSSLbl1 As ToolStripStatusLabel + Friend WithEvents ToolStripStatusLabel1 As ToolStripStatusLabel + Friend WithEvents TSPBar1 As ToolStripProgressBar + Friend WithEvents Button1 As Button + Friend WithEvents ComboBox2 As ComboBox + Friend WithEvents Label4 As Label +End Class diff --git a/RCU-10/RCU/Frm485Update.resx b/RCU-10/RCU/Frm485Update.resx new file mode 100644 index 0000000..b3736d1 --- /dev/null +++ b/RCU-10/RCU/Frm485Update.resx @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 61 + + \ No newline at end of file diff --git a/RCU-10/RCU/Frm485Update.vb b/RCU-10/RCU/Frm485Update.vb new file mode 100644 index 0000000..83f06f3 --- /dev/null +++ b/RCU-10/RCU/Frm485Update.vb @@ -0,0 +1,1398 @@ +Imports System.Threading + +Public Class Frm485Update + Implements IModuleForm + + +#Region "窗体" + + ''' + ''' 窗体加载函数 + ''' + ''' + ''' + Private Sub Frm485Update_Load(sender As Object, e As EventArgs) Handles Me.Load + InitDevInfo() + InitTypeGirdInfo() + + End Sub + + + ''' + ''' 显示窗体_接口 + ''' + ''' + Public Sub ShowForm(parentControl As Control) Implements IModuleForm.ShowForm + FormBorderStyle = FormBorderStyle.None '无边框 + TopLevel = False + Dock = DockStyle.Fill '填满大小 + Parent = parentControl '父容器 + + Show() + End Sub + + + ''' + ''' 发送函数 + ''' + ''' + Public Sub SendData(sendPacket() As Byte) + FrmRCU.SendData(sendPacket) '方法1 + + End Sub + +#End Region + + +#Region "485升级" + + +#Region "设备表信息" + + ''' + ''' 枚举表格设备列信息 + ''' + Enum EnTypeColInfo + ''' NULL + Null + ''' 是否选中 + Check + ''' 设备地址 + DevAddr + ''' 设备名称 + DevName + ''' 状态_区域 + Status + ''' 结果 + Result + End Enum + + + ''' 类型表的列集合 + Private _typeGirdCols() As String = {"0", "是否选中", "设备地址", "设备名称", "设备分区", "升级结果"} + + + ''' + ''' 初始化设备表格信息 + ''' + Private Sub InitTypeGirdInfo() + GrdTypeInfo.DisplayRowNumber = True + GrdTypeInfo.ExtendLastCol = True + GrdTypeInfo.Cols = _typeGirdCols.Length + GrdTypeInfo.Rows = 1 + + For index = 1 To _typeGirdCols.Length - 1 + With GrdTypeInfo.Cell(EnTypeColInfo.Null, index) + .Text = _typeGirdCols(index) + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + Next + + '是否选中_文本对齐,单元格宽度 + GrdTypeInfo.Column(EnTypeColInfo.Check).CellType = FlexCell.CellTypeEnum.CheckBox + 'GrdTypeInfo.Cell(1, EnTypeColInfo.Check).Text = $"0" + GrdTypeInfo.Column(EnTypeColInfo.Check).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdTypeInfo.Column(EnTypeColInfo.Check).Width = 80 + + '设备地址_文本对齐,单元格宽度 + GrdTypeInfo.Column(EnTypeColInfo.DevAddr).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdTypeInfo.Column(EnTypeColInfo.DevAddr).Width = 80 + + '设备名称_文本对齐,单元格宽度 + GrdTypeInfo.Column(EnTypeColInfo.DevName).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdTypeInfo.Column(EnTypeColInfo.DevName).Width = 180 + + '设备分区_文本对齐,单元格宽度 + GrdTypeInfo.Column(EnTypeColInfo.Status).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdTypeInfo.Column(EnTypeColInfo.Status).Width = 80 + + End Sub + + + + +#End Region + + +#Region "485升级初始化" + + + ''' 设备项目列表 + Private _devNameList() As String = {"None 485", "PB 485", "BLV_C1"} + + ''' 单包数据字节长度 + Private _packagebyte() As String = {"128", "256", "512", "1024", "2048", "4096"} + + ''' 发送数据序号 + Private _dataNumber As Byte = 0 + + Const _loadFileSize As Integer = 512 * 1024 + Const _loadDataSize As Integer = 512 * 1024 + + Private _LoadHexFileData(_loadFileSize - 1) As Byte + Private _LoadDataBuff(_loadDataSize - 1) As Byte + Private _LoadEndAddr As Integer + Private _HexStart_C1 As Integer = 0 + + + ''' + ''' 初始化设备列表 + ''' + Private Sub InitDevInfo() + ComboBox1.Items.Clear() + ComboBox1.Items.AddRange(_devNameList) + If ComboBox1.Items.Count >= 3 Then ComboBox1.SelectedIndex = 2 + + ComboBox2.Items.Clear() + ComboBox2.Items.AddRange(_packagebyte) + If ComboBox2.Items.Count >= 3 Then ComboBox2.SelectedIndex = 2 + End Sub + + + ''' + ''' 设备类型转换 + ''' + ''' + ''' + Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged + If ComboBox1.SelectedIndex = 0 Or ComboBox1.SelectedIndex = 1 Then + If ComboBox2.Items.Count > 1 Then + ComboBox2.SelectedIndex = 0 + End If + End If + End Sub + + +#End Region + + +#Region "串口固件升级组包" + + ''' + ''' 填充串口升级包 + ''' + ''' + ''' + ''' + Private Function FillSendPacket(cmd As Byte, data As Byte()) + Dim databuff As Byte() + Select Case ComboBox1.Text + Case _devNameList(0), _devNameList(1) + 'databuff = FillSendPacket485(cmd, data) + Case _devNameList(2) + databuff = FillSendPacketC1(cmd, data) + Case Else + + End Select + Return databuff + End Function + + + ''' + ''' 填充C1发送包 + ''' + ''' 命令码 + ''' Data数组 + ''' + Private Function FillSendPacketC1(cmd As Byte, data As Byte()) + Dim sendNumber As Byte = GetSendNumber() '发送序号 + Dim len(1) As Byte '数据长度,占2个字节 + Dim dataSum As Byte '校验和 + + Dim length As Integer = 5 + data.Length + len = IntToByteLB(length) + + Dim databuff As New List(Of Byte) + databuff.Add(sendNumber) + databuff.Add(cmd) + databuff.AddRange(len) + databuff.AddRange(data) + + dataSum = GetSumCheckMod(databuff.ToArray) + databuff.Insert(4, dataSum) + + Return databuff.ToArray + End Function + + + ''' + ''' 获取发送序号 + ''' + ''' + Private Function GetSendNumber() + _dataNumber += 1 + If _dataNumber > 15 Then + _dataNumber = 1 + End If + + Return _dataNumber + End Function + + +#End Region + + + ''' + ''' 判断设备类型 + ''' + Private Sub SelectDevice() + If ComboBox1.Text <> _devNameList(2) Then + FrmRCU._isDeviceC1 = True + Else + FrmRCU._isDeviceC1 = False + End If + End Sub + + + ''' + ''' 搜索 + ''' + ''' + ''' + Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click + Dim startValue As Integer = NumericUpDown1.Value + Dim endValue As Integer = NumericUpDown2.Value + + SelectDevice() + + BtnUpdateFile.Enabled = False + SearchData(startValue, endValue) + BtnUpdateFile.Enabled = True + End Sub + + + ''' + ''' 搜索数据 + ''' + ''' + ''' + Private Sub SearchData(startValue As Integer, endValue As Integer) + Dim cmd As Byte + + For count = 0 To 1 + If count = 0 Then + FrmRCU.SerialPort.BaudRate = 2400 + PauseWait(1) + cmd = &H63 + Else + FrmRCU.SerialPort.BaudRate = CInt(FrmRCU.CboSerialBaud.Text) + PauseWait(1) + cmd = &H1 + End If + + For index = startValue To endValue + If startValue > endValue Then + index = endValue + End If + + Dim indexs(0) As Byte + indexs(0) = index + Dim sendPacket As Byte() + If cmd = &H63 Then 'Boot区搜索 + Dim data As Byte() = GetAppSearchData(index) + sendPacket = FillSendPacket(cmd, data) + Console.WriteLine($"Boot区搜索{index}:{ByteToString(sendPacket)}") + ElseIf cmd = &H1 Then 'App区搜索 + sendPacket = FillSendPacket(cmd, indexs) + Console.WriteLine($"App区搜索{index}:{ByteToString(sendPacket)}") + End If + + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + SendData(sendPacket) '发送数据包 + Next + Next + End Sub + + + ''' + ''' Boot区搜索数据 + ''' + ''' + ''' + Private Function GetAppSearchData(index As Byte) As Byte() + Dim data As New List(Of Byte) + data.Add(index) + data.Add(&H0) '超时时间H + data.Add(&H14) '超时时间H + + Return data.ToArray + End Function + + + ''' + ''' 搜索范围值_委托 + ''' + ''' + ''' + Delegate Sub Delegate_SearchRangeValue_Change(ByRef startValue As Integer, ByRef endValue As Integer) + + ''' + ''' 委托搜索范围值 + ''' + ''' + ''' + Private Sub SearchRangeValue(ByRef startValue As Integer, ByRef endValue As Integer) + If Me.InvokeRequired = True Then + Dim a As New Delegate_SearchRangeValue_Change(AddressOf SearchRangeValue) + Me.Invoke(a, New Object() {startValue, endValue}) + Else + startValue = NumericUpDown1.Value + endValue = NumericUpDown2.Value + End If + End Sub + + + ''' + ''' 选择下发文件改变 + ''' + ''' + ''' + Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged + _flashData = Nothing '重新选择,置空 + End Sub + + + ''' + ''' 选择文件 + ''' + ''' + ''' + Private Sub BtnSelectFile_Click(sender As Object, e As EventArgs) Handles BtnSelectFile.Click + _flashData = Nothing '重新选择,置空 + Dim dlg As New OpenFileDialog + dlg.InitialDirectory = Application.StartupPath + dlg.Filter = "HEX File|*.hex||" + Dim oldPath As String = TextBox1.Text + + If IO.File.Exists(oldPath) Then + dlg.InitialDirectory = IO.Path.GetDirectoryName(oldPath) + dlg.FileName = oldPath + Else + dlg.InitialDirectory = Application.StartupPath + End If + + If dlg.ShowDialog() = DialogResult.OK Then + TextBox1.Text = dlg.FileName + 'BtnSelectFile.PerformClick() + End If + + 'Todo:解析Hex文件 + Dim path As String = TextBox1.Text + + ThreadPool.QueueUserWorkItem(AddressOf DealHexFile, path) + End Sub + + + ''' + ''' 状态栏解析文本委托 + ''' 改变文本和颜色 + ''' + ''' + ''' + ''' + Delegate Sub Delegate_StateLabel_Change(text As String, color As Color, flg As Boolean) + + ''' + ''' 状态栏解析文本 + ''' 改变文本和颜色 + ''' + ''' + ''' + ''' + Private Sub StateLabel(text As String, color As Color, flg As Boolean) + If Me.InvokeRequired = True Then + Dim a As New Delegate_StateLabel_Change(AddressOf StateLabel) + Me.Invoke(a, New Object() {text, color, flg}) + Else + TSSLbl1.ForeColor = color + TSSLbl1.Text = text + BtnUpdateFile.Enabled = flg + End If + End Sub + + +#Region "解析Hex文件" + + + ''' + ''' 解析Hex文件 + ''' + ''' + Private Sub DealHexFile(filePath As String) + StateLabel($"正在解析......", Color.Blue, False) + + Dim tmpRet As Boolean = LoadDataFromFile(filePath) + Dim checkSum(3) As Byte + Dim tmpStrCks As String = "" + + Dim tmpIdx As Integer = 0 + Dim tmpLineCnt As Integer = 1 + Dim tmpStrBuffer As String = "" + + Dim tmpHexValidLenght As Integer = _LoadEndAddr - _HexStart_C1 + + If tmpRet Then + For tmpIdx = _HexStart_C1 To _LoadEndAddr - 1 + tmpStrBuffer = tmpStrBuffer & HexByteStr(_LoadDataBuff(tmpIdx)) & " " + If tmpIdx > 0 And (tmpIdx + 1) Mod 16 = 0 Then + tmpLineCnt = tmpLineCnt + 1 + + 'Todo:加进度条显示 + tmpStrBuffer = tmpStrBuffer & vbCrLf + End If + + Next + MsgBox("Hex 加载成功!" & vbCrLf & + "起始偏移地址 :" & _HexStart_C1 & vbCrLf & + " 结束地址 :" & _LoadEndAddr & vbCrLf & + " 文件长度 :" & tmpHexValidLenght & vbCrLf + ) + + StateLabel($"解析完成", Color.Green, True) + _flashData = tmpStrBuffer + Console.WriteLine($"解析出的数据:{vbCrLf}{tmpStrBuffer}") + + 'GetSumCheck(_LoadDataBuff, _LoadEndAddr, checkSum) + 'tmpStrCks = HexByteStr(checkSum(3)) + 'tmpStrCks = tmpStrCks & " " & HexByteStr(checkSum(2)) + 'tmpStrCks = tmpStrCks & " " & HexByteStr(checkSum(1)) + 'tmpStrCks = tmpStrCks & " " & HexByteStr(checkSum(0)) + + 'lab_HexLastModifyDate.Text = IO.File.GetLastWriteTime(Tb_HexFilePath.Text) + 'lab_HexDataLenght.Text = Format(tmpHexValidLenght, "###,###") & " Bytes" + 'lab_HexDataCks.Text = tmpStrCks + 'Me.Text = "Massduino Nano485 Loader(" & Application.ProductVersion & ")" & " - " & Tb_HexFilePath.Text + Else + 'lab_HexDataLenght.Text = "" + 'lab_HexDataCks.Text = "" + End If + End Sub + + + ''' + ''' 加载hex文件数据 + ''' + ''' + ''' + Private Function LoadDataFromFile(ByVal path As String) As Boolean + Array.Clear(_LoadHexFileData, 0, _LoadHexFileData.Length) + + Try + Dim fs As New IO.FileStream(path, IO.FileMode.Open, IO.FileAccess.Read) + If fs.Length <= _loadFileSize Then + fs.Read(_LoadHexFileData, 0, fs.Length) + Else + Return False + End If + fs.Close() + Catch ex As Exception + Return False + End Try + + Return HexFileToData(_LoadHexFileData, _LoadDataBuff, _LoadEndAddr) + End Function + + + + ''' + ''' 解析Hex文件到Byte数组 + ''' + ''' + ''' + ''' + ''' + Private Function HexFileToData(ByVal hexBuffer() As Byte, ByVal dataBuffer() As Byte, ByRef endAddr As Integer) As Boolean + Dim i As Integer + + '行数 + Dim LineCnt As Integer = 0 + Dim DataType_00_Idx As Integer = 0 + + '清空数据缓存区域 + For i = 0 To dataBuffer.Length - 1 + dataBuffer(i) = &HFF + Next + + '本行数据缓存 + Dim dataStrBuf(31) As Byte + Dim dataValBuf(15) As Byte + + '首地址标记 + Dim headAddrFlag As Boolean = True + + '本行地址值 + Dim tmpLineAdd As Integer = 0 + + '偏移地址 0x04 数据类型指示偏移地址 + Dim LineAddOffestBase As Integer = 0 + + '结束地址 + endAddr = 0 + + Dim flashAddressBuf(3) As Byte + Dim flashAddress As Integer + + 'Hex格式解析,每一行以0D 0A结束 + '文本串::1000000000800020A500010061090100AF0001008F + '分解为20 Bytes Hex数据 + ' + '--- | ----- | ---| ----------------------------------------------------------|---- + 'Len | ADD |Type| Data | CKS + '--- | ----- | ---| ----------------------------------------------------------|---- + ' B0 | B1 B2 | B3 | B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 | B20 + ':10 | 00 00 | 00 | 00 80 00 20 A5 00 01 00 61 09 01 00 AF 00 01 00 | 8F + ' ---| -----| ---| ----------------------------------------------------------|---- + + '1: 每行固定以“:”开头 + '2:B0 :数据长度 + '3:B1~B2 :数据地址 B1为地址高位,B2为地址低位 + '4:B3 :数据类型 + ' 00' Data Record //数据记录 + ' 01' End of File Record //文件结束记录 + ' 02' Extended Segment Address Record //扩展段地址记录 + ' 03' Start Segment Address Record //开始段地址记录 + ' 04' Extended Linear Address Record //扩展线性地址记录 + ' 05' Start Linear Address Record //开始线性地址记录 + '5:B4~B19 :数据内容 + '6:B20 :校验码 + '’'''''''''''’'' + 'Hex 数据首地址确认方式:将第一个00类型的数据的地址作为起始地址 + '因此,最低地址必须出现在第一个00类型数据中 + + For i = 0 To hexBuffer.Length - 1 + '首先找到冒号 + If hexBuffer(i) = &H3A Then '&H3A = ":" + LineCnt += 1 + 'B0:数据长度 + Dim dataLen As Integer = (StrToHex(hexBuffer(i + 1)) * 16 + StrToHex(hexBuffer(i + 2))) + If dataLen > 0 Then + 'By:CheckSum + Dim checkSum As Byte = (StrToHex(hexBuffer(i + 9 + dataLen * 2)) * 16 + StrToHex(hexBuffer(i + 10 + dataLen * 2))) + + '取出整行数据 + Dim rowDataStrBuf(41) As Byte + Dim rowDataValBuf(20) As Byte + Dim rowLen As Integer + Array.Clear(rowDataStrBuf, 0, 42) + Array.Clear(rowDataValBuf, 0, 21) + + rowLen = (dataLen * 2) + 10 + Array.Copy(hexBuffer, i + 1, rowDataStrBuf, 0, rowLen) + StrToHex(rowDataValBuf, rowDataStrBuf, rowLen / 2) + + Dim tempCheckSum As Byte = GetSumChecks(rowDataValBuf, rowLen / 2) + + If tempCheckSum <> &HFF Then + Return False 'CheckSum校验不通过,返回错误 + End If + + 'B4~Bx:数据内容 + Array.Clear(dataStrBuf, 0, 32) + Array.Clear(dataValBuf, 0, 16) + Array.Copy(hexBuffer, i + 9, dataStrBuf, 0, dataLen * 2) + StrToHex(dataValBuf, dataStrBuf, dataLen) + End If + + 'B1~B2:取出地址位的值 + Array.Copy(hexBuffer, i + 3, flashAddressBuf, 0, 4) + + '本行地址取出来放在 flashAddress中’ + StrToHex(tmpLineAdd, flashAddressBuf) + flashAddress = LineAddOffestBase + tmpLineAdd + + 'B3:数据类型 + Dim dataType = StrToHex(hexBuffer(i + 8)) + Select Case dataType + Case 0 '数据记录 + DataType_00_Idx = DataType_00_Idx + 1 + '将第一个00类型数据的地址作为起始地址, 保存到 _HexStart_C1 + If DataType_00_Idx = 1 Then + _HexStart_C1 = flashAddress + End If + Array.Copy(dataValBuf, 0, dataBuffer, flashAddress, dataLen) + endAddr = flashAddress + dataLen + Case 1 '文件结束 + If endAddr = 0 Then + Return False + Else + Return True + End If + Case 2, 3, 5 '扩展段地址, 开始段地址, 开始线性地址’ + Continue For + Case 4 '扩展线性地址 + If dataLen = 2 Then + LineAddOffestBase = (dataValBuf(0) * 256 + dataValBuf(1)) * 65536 + Else + Return False '确认DataLen必须是2,否则报错 + End If + Case Else + Return False + End Select + End If + Next + Return False + End Function + + + Private Function HexByteStr(hexByte As Byte) As String + If hexByte < 16 Then + Return "0" & Hex(hexByte) + Else + Return Hex(hexByte) + End If + End Function + + + ''' + ''' 获取和校验 + ''' + ''' + ''' + ''' + Private Sub GetSumCheck(ByVal buf() As Byte, ByVal len As UInt32, ByRef resultBuf() As Byte) + Dim sum As Integer = 0 + Dim i As Integer = 0 + Dim j As Integer = 0 + Dim retByte As Integer + + Do + For j = 0 To 127 + sum += buf(i + j) + sum = sum And &HFFFFFFFF + Next + i += 128 + Loop Until i >= len + + retByte = sum + + resultBuf(0) = (retByte \ &H1000000) And &HFF + resultBuf(1) = (retByte \ &H10000) And &HFF + resultBuf(2) = (retByte \ &H100) And &HFF + resultBuf(3) = retByte And &HFF + End Sub + + + Private Sub StrToHex(pbDest() As Byte, pbSrc() As Byte, nLen As UInt16) + Dim h1 As Byte + Dim h2 As Byte + Dim s1 As Byte + Dim s2 As Byte + Dim i As Integer + + For i = 0 To nLen - 1 + h1 = pbSrc(2 * i) + h2 = pbSrc(2 * i + 1) + + s1 = toupper(h1) - &H30 + If s1 > 9 Then + s1 -= 7 + End If + + s2 = toupper(h2) - &H30 + If s2 > 9 Then + s2 -= 7 + End If + + pbDest(i) = s1 * 16 + s2 + Next + End Sub + + Private Sub StrToHex(ByRef pbDest As UInt16, pbSrc() As Byte) + Dim pBufDest(1) As Byte + Dim h1 As Byte + Dim h2 As Byte + Dim s1 As Byte + Dim s2 As Byte + Dim i As UInt16 + + For i = 0 To 2 - 1 + h1 = pbSrc(2 * i) + h2 = pbSrc(2 * i + 1) + + s1 = toupper(h1) - &H30 + If s1 > 9 Then + s1 -= 7 + End If + + s2 = toupper(h2) - &H30 + If s2 > 9 Then + s2 -= 7 + End If + + pBufDest(i) = s1 * 16 + s2 + Next + + 'pbDest = (pBufDest(0) << 8) + pBufDest(1) + pbDest = pBufDest(0) * 256 + pBufDest(1) + End Sub + + Private Function StrToHex(ByVal src) As Byte + If src >= &H30 AndAlso src <= &H39 Then + Return (src - &H30) + ElseIf src >= &H41 AndAlso src <= &H46 Then + Return (src - &H41 + 10) + ElseIf src >= &H61 AndAlso src <= &H66 Then + Return (src - &H61 + 10) + Else + Return 0 + End If + End Function + + Private Function toupper(val As Byte) As Byte + If val >= &H61 AndAlso val <= &H7A Then + Return (val - &H20) + Else + Return val + End If + End Function + + +#End Region + + +#Region "升级流程" + + ''' + ''' 升级 + ''' + ''' + ''' + Private Sub BtnUpdateFile_Click(sender As Object, e As EventArgs) Handles BtnUpdateFile.Click + SelectDevice() + PrepareUpdate485() + End Sub + + + ''' + ''' 获取更新设备类型委托 + ''' + ''' + Delegate Function Delegate_GetUpdateDevType_Change() + + + ''' + ''' 获取更新设备类型 + ''' + ''' + Public Function GetUpdateDevType() + Dim devType As String + If InvokeRequired = True Then + Dim dev As New Delegate_GetUpdateDevType_Change(AddressOf GetUpdateDevType) + Me.Invoke(dev) + Else + Select Case ComboBox1.Text + Case _devNameList(0) + devType = _devNameList(0) + Case _devNameList(1) + devType = _devNameList(1) + Case _devNameList(2) + devType = _devNameList(2) + End Select + End If + + Return devType + End Function + + + ''' 是否准备升级 + Public _isPrepareUpdate As Boolean + + + ''' + ''' 准备开始升级485 + ''' + Private Sub PrepareUpdate485() + If _isPrepareUpdate = False Then + _isPrepareUpdate = True + BtnUpdateFile.ForeColor = Color.Yellow + BtnUpdateFile.Text = $"停止升级" + TSPBar1.Value = 1 + ThreadPool.QueueUserWorkItem(AddressOf StartUpdate) + Else + If MsgBox("当前处于升级状态,确定结束升级?", MsgBoxStyle.YesNo, $"Tip") = MsgBoxResult.Yes Then + _isPrepareUpdate = False + BtnUpdateFile.ForeColor = Color.Green + BtnUpdateFile.Text = $"开始升级" + TSPBar1.Value = 0 + AppendTipText($"已终止升级,升级失败!" & vbCrLf, Color.Red) + End If + End If + End Sub + + + ''' + ''' 开始升级 + ''' + Private Sub StartUpdate() + _CRC16List.Clear() + + '升级流程 + Static startValue As Integer + Static endValue As Integer + + If GrdTypeInfo.Rows > 0 Then + For index = 1 To GrdTypeInfo.Rows - 1 + If GrdTypeInfo.Cell(index, EnTypeColInfo.Check).Text = $"1" Then '选中升级 + '开始握手 + SearchRangeValue(startValue, endValue) + SearchData(startValue, endValue) + + Dim addr As Integer = GrdTypeInfo.Cell(index, EnTypeColInfo.DevAddr).Text + + If GrdTypeInfo.Cell(index, EnTypeColInfo.Status).Text = "App" Then '判断分区 + FrmRCU.SerialPort.BaudRate = CInt(FrmRCU.CboSerialBaud.Text) '设置波特率 + JumpBootPartition(addr) '跳转Boot区 + End If + + FrmRCU.SerialPort.BaudRate = 2400 '设置波特率 + SearchPartition(addr) '再次握手 + SetParam(addr) '设置参数 + FrmRCU.SerialPort.BaudRate = CInt(FrmRCU.CboSerialBaud.Text) '设置波特率 + SearchPartition(addr) '最后握手 + EraseFlash(addr) '擦除Flash + ReadFlashData(addr) '写入数据 + + Dim devType As String = GetUpdateDevType() '委托 + Dim burnLen As Integer = GetFlashCheckDataLen(devType) '根据类型确认,单包参与crc16校验数据长度 + FlashCheck(addr, burnLen) 'Flash校验 + + '检验成功后,跳转App区 + JumpAppPartition(addr) + + End If + Next + End If + End Sub + + + ''' + ''' 搜索Boot分区 + ''' + ''' 485地址 + Private Sub SearchPartition(Index As Integer) + Dim cmd As Byte = &H63 + Dim data As Byte() = GetAppSearchData(Index) + Dim sendPacket As Byte() = FillSendPacket(cmd, data) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"搜索:{Index}-Boot分区:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + End Sub + + + ''' + ''' 跳转BootLoader分区 + ''' + ''' 485地址 + Private Sub JumpBootPartition(Index As Integer) + Dim cmd As Byte = &H68 + Dim indexs(0) As Byte + indexs(0) = Index + Dim sendPacket As Byte() = FillSendPacket(cmd, indexs) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"跳转{Index}:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + End Sub + + + ''' + ''' 设置参数 + ''' + ''' 485地址 + Private Sub SetParam(Index As Integer) + Dim cmd As Byte = &H69 + Dim zero As Byte = &H0 + Dim baud() As Byte = IntToByteHB(FrmRCU.CboSerialBaud.Text / 100) + Dim timeout() As Byte = IntToByteLB(10) + Dim type As Byte = GetUpdateType() + + Dim databuff As New List(Of Byte) + databuff.Add(Index) + databuff.AddRange(baud) + databuff.AddRange(timeout) + databuff.Add(type) + + Dim sendPacket As Byte() = FillSendPacket(cmd, databuff.ToArray) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"设置{Index}:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + End Sub + + + ''' + ''' 获取更新设备类型 + ''' + ''' + Private Function GetUpdateType() + Dim devType As String = GetUpdateDevType() + Dim type As Byte + Select Case devType + Case _devNameList(0) 'None 485 + type = &H0 + Case _devNameList(1) 'PB 485 + type = &H1 + Case _devNameList(2) 'BLV_C1 + type = &H2 + End Select + + Return type + End Function + + + ''' + ''' 擦除Flash + ''' + ''' 485地址 + Private Sub EraseFlash(Index As Integer) + Dim cmd As Byte = &H62 + Dim indexs(0) As Byte + indexs(0) = Index + Dim sendPacket As Byte() = FillSendPacket(cmd, indexs) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"擦除{Index}:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + End Sub + + + ''' + ''' 获取Flash数据 + ''' + ''' + Private Function GetFlashDataByte() + _flashData = _flashData.Replace($"{vbCrLf}", "").Replace($" ", "") + Dim dataBuff() As Byte = GetStringToDataByte(_flashData) + Return dataBuff + End Function + + + ''' + ''' 写入Flash回复 + ''' + Private _isReadFlashRelay As Boolean + + ''' + ''' 记录重发次数 + ''' + Public _retry As Integer = 0 + + ''' + ''' Flash数据 + ''' + Private _flashData As String + + ''' + ''' Flash新数据 + ''' + Private _flashNewData As New List(Of Byte) + + + ''' + ''' 写入Flash + ''' + ''' + Private Sub ReadFlashData(index As Integer) + '1、根据不同类型,选择不同组包方式组包,发送 + Dim devType As Byte = GetUpdateType() + Dim dataBuff() As Byte = GetFlashDataByte() '数据 + Dim blockCount As Integer = SubPackage(devType, dataBuff) + Dim burnPackage() As Byte + + Dim packageNumber As Integer + For packageNumber = 1 To blockCount + _isReadFlashRelay = False + burnPackage = FillBurnPackage(index, _flashNewData.ToArray, packageNumber, blockCount) + AppendTipText($"开始发送第{packageNumber}包数据..." & vbCrLf, Color.Blue) + + burnPackage = FillPacket(burnPackage) '是否填充透传数据包 + SendData(burnPackage) + Console.WriteLine($"第{packageNumber}包:{ByteToString(burnPackage)}") + + 'ChangePrgValue(packageNumber, blockCount, 0) + + WaitReadFlashRelay() + + If _isReadFlashRelay = True Then '判断是回复 + If packageNumber = blockCount Then + AppendTipText($"写入Flash数据成功!" & vbCrLf, Color.Blue) + 'ChangePrgAirBurnValue(0, 1) + Return + End If + Else + _retry += 1 + If _retry <= 3 Then + AppendTipText($"开始重发次数:{_retry}次" & vbCrLf, Color.Blue) + packageNumber -= 1 + Else + AppendTipText($"已超出最大重发次数!" & vbCrLf, Color.Red) + AppendTipText($"下载失败!" & vbCrLf, Color.Red) + 'ChangePrgAirBurnValue(0, 1) + + _retry = 0 + Return + End If + End If + Next + End Sub + + + ''' + ''' 根据设备地址类型分包 + ''' + ''' 设备地址类型 + ''' 数据包 + Private Function SubPackage(ByRef devType As Byte, ByRef dataBuff As Byte()) + Dim blockCount As Integer + Dim packetCount As Integer = ComboBox2.Text + Select Case devType + Case 0 'None 485 + blockCount = GetPacketCount(128, dataBuff) + Case 1 'PB 485 + blockCount = GetPacketCount(128, dataBuff) + Case 2 'BLV_C1 + blockCount = GetPacketCount(packetCount, dataBuff) + + Dim fill(blockCount * packetCount - dataBuff.Length - 1) As Byte + For index = 0 To fill.Length - 1 + fill(index) = &HFF + Next + _flashNewData.AddRange(dataBuff) + _flashNewData.AddRange(fill) + + End Select + Return blockCount + End Function + + + ''' + ''' 具体分包函数 + ''' 根据不同类型的包长度分包 + ''' + ''' 不同类型的包长 + ''' + Private Function GetPacketCount(len As Integer, dataBuff As Byte()) + Dim blockCount As Integer = dataBuff.Length \ len + If dataBuff.Length Mod len > 0 Then + blockCount += 1 + End If + Return blockCount + End Function + + + ''' + ''' Flash校验 + ''' + Private _CRC16List As New List(Of Byte) + + + ''' + ''' 填充写入Flash数据包 + ''' + ''' 485地址 + ''' + ''' + ''' + ''' + Private Function FillBurnPackage(index As Integer, padData() As Byte, blockIndex As Integer, blockCount As Integer) As Byte() + Dim cmd As Byte = &H60 + Dim databuff As Byte() = FillBurnAlonePackage(padData, blockIndex, blockCount) + + Dim data As New List(Of Byte) + data.Add(index) + data.AddRange(databuff) + Dim sendPacket As Byte() = FillSendPacket(cmd, data.ToArray) + + Return sendPacket + End Function + + + ''' + ''' 填充烧录单包数据 + ''' + ''' + ''' + ''' + ''' + Private Function FillBurnAlonePackage(padData() As Byte, blockIndex As Integer, blockCount As Integer) As Byte() + Dim blockPacket As New List(Of Byte) + Dim count As Integer = ComboBox2.Text + Dim devType As String = GetUpdateDevType() + Select Case devType + Case _devNameList(0), _devNameList(1) 'None 485, 'PB 485 + 'If blockIndex = blockCount Then + ' For index = 128 * (blockIndex - 1) To padData.Length - 1 + ' blockPacket.Add(padData(index)) + ' Next + 'Else + For index = 128 * (blockIndex - 1) To 128 * blockIndex - 1 + blockPacket.Add(padData(index)) + Next + 'End If + Case _devNameList(2) 'BLV_C1 + 'If blockIndex = blockCount Then + ' For index = count * (blockIndex - 1) To padData.Length - 1 + ' blockPacket.Add(padData(index)) + ' Next + 'Else + For index = count * (blockIndex - 1) To count * blockIndex - 1 + blockPacket.Add(padData(index)) + Next + 'End If + End Select + + Return blockPacket.ToArray + End Function + + + ''' + ''' 获取Flash单包校验数据长度 + ''' 根据类型判断需要校验的数据长度 + ''' + ''' + Private Function GetFlashCheckDataLen(devType As String) + Dim burnLen As Integer + Select Case devType + Case _devNameList(0), _devNameList(1) + burnLen = 512 + Case _devNameList(2) + burnLen = 4096 + Case Else + End Select + + Return burnLen + End Function + + + ''' + ''' Flash校验 + ''' + ''' + Private Sub FlashCheck(Index As Integer, burnLen As Integer) + Dim cmd As Byte = &H67 + Dim data As Byte() = GetFlashCheck(burnLen) + Console.WriteLine($"Flash-CRC16-{Index}:{ByteToString(data)}") + + Dim sendPacket As Byte() = FillSendPacket(cmd, data) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"校验{Index}:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + End Sub + + + ''' + ''' 获取Flash校验数据 + ''' + ''' 根据类型确认,单包参与crc16校验数据长度burnLen + ''' + Private Function GetFlashCheck(burnLen As Integer) + Dim blockCount As Integer = _flashNewData.ToArray.Length \ burnLen + If _flashNewData.ToArray.Length Mod burnLen > 0 Then + blockCount += 1 + End If + + For index = 0 To blockCount - 1 + Dim burnPack(burnLen - 1) As Byte + Array.Copy(_flashNewData.ToArray, index * burnLen, burnPack, 0, burnPack.Length - 1) + + Dim crc16 As Byte() = GetCRC16CheckSum(burnPack, burnPack.Length) + _CRC16List.AddRange(crc16) + Next + + Return _CRC16List.ToArray + End Function + + + ''' + ''' 跳转App区 + ''' + ''' + Private Sub JumpAppPartition(index As Integer) + Dim cmd As Byte = &H68 + Dim data(0) As Byte + data(0) = index + Dim sendPacket As Byte() = FillSendPacket(cmd, data) + sendPacket = FillPacket(sendPacket) '是否填充透传数据包 + Console.WriteLine($"跳转APP区-{index}:{ByteToString(sendPacket)}") + SendData(sendPacket) '发送数据包 + + End Sub + + + ''' + ''' 回复超时 + ''' + Private ReadOnly _RelayTimeout As Integer = 1000 + + + ''' + ''' 等待写入Flash数据回复 + ''' + Private Sub WaitReadFlashRelay() + Dim tick As Integer + Dim startTick As Integer = My.Computer.Clock.TickCount + _isReadFlashRelay = False + While _isReadFlashRelay = False AndAlso tick <= _RelayTimeout + Thread.Sleep(100) + tick = My.Computer.Clock.TickCount - startTick + Application.DoEvents() + End While + End Sub + + + ''' + ''' 升级设备列表总数 + ''' + Public _devUpdateCount As Integer = 1 + + ''' + ''' 搜索分区委托 + ''' + Delegate Sub delegate_SearchPartition_Change() + + + ''' + ''' 搜索分区委托 + ''' 刷新设备列表 + ''' + Public Sub SearchPartition() + If InvokeRequired = True Then + Dim dev As New delegate_SearchPartition_Change(AddressOf SearchPartition) + Me.Invoke(dev) + Else + For Each key As String In _upgradeDevList.Keys + GrdTypeInfo.AddItem("") + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.DevAddr).Text = _upgradeDevList(key).DevAddress + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.DevName).Text = _upgradeDevList(key).DevName + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.Status).Text = _upgradeDevList(key).DevPartition + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.Result).Text = _upgradeDevList(key).DevResult + + _devUpdateCount += 1 + Next + End If + End Sub + + + + ''' + ''' 搜索分区委托 + ''' 刷新设备列表 + ''' + ''' + ''' + ''' + Delegate Sub delegate_SearchPartitionDevList_Change(devAddr As String, devName As String, devPartition As String) + + + ''' + ''' 刷新设备列表信息 + ''' 局部刷新_委托 + ''' + ''' + ''' + ''' + Public Sub RefreshSearchPartitionDevList(devAddr As String, devName As String, devPartition As String) + If InvokeRequired = True Then + Dim dev As New delegate_SearchPartitionDevList_Change(AddressOf RefreshSearchPartitionDevList) + Me.Invoke(dev, New Object() {devAddr, devName, devPartition}) + Else + GrdTypeInfo.AddItem("") + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.DevAddr).Text = devName + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.DevName).Text = devName + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.Status).Text = devPartition + GrdTypeInfo.Cell(_devUpdateCount, EnTypeColInfo.Result).Text = $"未升级" + + _devUpdateCount += 1 + End If + End Sub + + + + + + + + + + + +#End Region + + + +#End Region + + + +#Region "添加记录" + + ''' + ''' 添加记录 + ''' + ''' + ''' + Private Sub AppendTipText(recordString As String, col As Color) + If InvokeRequired Then + Invoke(New Action(Sub() + FrmRCU.AppendTipText(recordString, col) + End Sub)) + Else + FrmRCU.AppendTipText(recordString, col) + End If + End Sub + + + ''' + ''' 测试 + ''' + ''' + ''' + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + 'GetFlashDataByte() + 'JumpBootPartition(&H01) + 'SearchPartition(&H01) + 'SetParam(&H01) + 'EraseFlash(&H01) + 'GetFlashDataByte() + 'FlashCheck(&H1, 2048) + 'JumpAppPartition(&H01) + + End Sub + + + +#End Region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +End Class \ No newline at end of file diff --git a/RCU-10/RCU/FrmC43Function.Designer.vb b/RCU-10/RCU/FrmC43Function.Designer.vb new file mode 100644 index 0000000..a7d4204 --- /dev/null +++ b/RCU-10/RCU/FrmC43Function.Designer.vb @@ -0,0 +1,342 @@ + _ +Partial Class FrmC43Function + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmC43Function)) + Me.GrpC43cfg = New System.Windows.Forms.GroupBox() + Me.TSC43Config = New System.Windows.Forms.ToolStrip() + Me.TsBtnC43cfgData = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnAddRows = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnDelete = New System.Windows.Forms.ToolStripButton() + Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() + Me.TsBtnSave = New System.Windows.Forms.ToolStripButton() + Me.TsBtnRead = New System.Windows.Forms.ToolStripButton() + Me.GrdC43cfg = New FlexCell.Grid() + Me.GrpC43 = New System.Windows.Forms.GroupBox() + Me.NudInterval = New System.Windows.Forms.NumericUpDown() + Me.Label3 = New System.Windows.Forms.Label() + Me.BtnIssuesData = New System.Windows.Forms.Button() + Me.NudAddress = New System.Windows.Forms.NumericUpDown() + Me.Lbladdress = New System.Windows.Forms.Label() + Me.BtnReleaseUpgrade = New System.Windows.Forms.Button() + Me.NudC43Port = New System.Windows.Forms.NumericUpDown() + Me.BtnSearch = New System.Windows.Forms.Button() + Me.NudC43TimeOut = New System.Windows.Forms.NumericUpDown() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() + Me.BackgroundWorker2 = New System.ComponentModel.BackgroundWorker() + Me.GrpC43cfg.SuspendLayout() + Me.TSC43Config.SuspendLayout() + Me.GrpC43.SuspendLayout() + CType(Me.NudInterval, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudAddress, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudC43Port, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudC43TimeOut, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'GrpC43cfg + ' + Me.GrpC43cfg.Controls.Add(Me.TSC43Config) + Me.GrpC43cfg.Controls.Add(Me.GrdC43cfg) + Me.GrpC43cfg.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GrpC43cfg.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpC43cfg.Location = New System.Drawing.Point(0, 158) + Me.GrpC43cfg.Name = "GrpC43cfg" + Me.GrpC43cfg.Size = New System.Drawing.Size(404, 324) + Me.GrpC43cfg.TabIndex = 5 + Me.GrpC43cfg.TabStop = False + Me.GrpC43cfg.Text = "C43配置" + ' + 'TSC43Config + ' + Me.TSC43Config.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TsBtnC43cfgData, Me.ToolStripSeparator1, Me.TsBtnAddRows, Me.ToolStripSeparator2, Me.TsBtnDelete, Me.ToolStripSeparator3, Me.TsBtnSave, Me.TsBtnRead}) + Me.TSC43Config.Location = New System.Drawing.Point(3, 19) + Me.TSC43Config.Name = "TSC43Config" + Me.TSC43Config.Size = New System.Drawing.Size(398, 25) + Me.TSC43Config.TabIndex = 22 + Me.TSC43Config.Text = "ToolStrip1" + ' + 'TsBtnC43cfgData + ' + Me.TsBtnC43cfgData.Image = CType(resources.GetObject("TsBtnC43cfgData.Image"), System.Drawing.Image) + Me.TsBtnC43cfgData.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnC43cfgData.Name = "TsBtnC43cfgData" + Me.TsBtnC43cfgData.Size = New System.Drawing.Size(74, 22) + Me.TsBtnC43cfgData.Text = "C43配置" + ' + 'ToolStripSeparator1 + ' + Me.ToolStripSeparator1.Name = "ToolStripSeparator1" + Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnAddRows + ' + Me.TsBtnAddRows.Image = CType(resources.GetObject("TsBtnAddRows.Image"), System.Drawing.Image) + Me.TsBtnAddRows.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnAddRows.Name = "TsBtnAddRows" + Me.TsBtnAddRows.Size = New System.Drawing.Size(52, 22) + Me.TsBtnAddRows.Text = "增加" + ' + 'ToolStripSeparator2 + ' + Me.ToolStripSeparator2.Name = "ToolStripSeparator2" + Me.ToolStripSeparator2.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnDelete + ' + Me.TsBtnDelete.Image = CType(resources.GetObject("TsBtnDelete.Image"), System.Drawing.Image) + Me.TsBtnDelete.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnDelete.Name = "TsBtnDelete" + Me.TsBtnDelete.Size = New System.Drawing.Size(52, 22) + Me.TsBtnDelete.Text = "删除" + ' + 'ToolStripSeparator3 + ' + Me.ToolStripSeparator3.Name = "ToolStripSeparator3" + Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 25) + ' + 'TsBtnSave + ' + Me.TsBtnSave.Image = CType(resources.GetObject("TsBtnSave.Image"), System.Drawing.Image) + Me.TsBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnSave.Name = "TsBtnSave" + Me.TsBtnSave.Size = New System.Drawing.Size(52, 22) + Me.TsBtnSave.Text = "保存" + ' + 'TsBtnRead + ' + Me.TsBtnRead.Image = CType(resources.GetObject("TsBtnRead.Image"), System.Drawing.Image) + Me.TsBtnRead.ImageTransparentColor = System.Drawing.Color.Magenta + Me.TsBtnRead.Name = "TsBtnRead" + Me.TsBtnRead.Size = New System.Drawing.Size(52, 22) + Me.TsBtnRead.Text = "读取" + ' + 'GrdC43cfg + ' + Me.GrdC43cfg.BorderStyle = FlexCell.BorderStyleEnum.None + Me.GrdC43cfg.CheckedImage = Nothing + Me.GrdC43cfg.Cols = 5 + Me.GrdC43cfg.DefaultFont = New System.Drawing.Font("宋体", 9.0!) + Me.GrdC43cfg.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GrdC43cfg.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrdC43cfg.GridColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.GrdC43cfg.Location = New System.Drawing.Point(3, 47) + Me.GrdC43cfg.Name = "GrdC43cfg" + Me.GrdC43cfg.Rows = 5 + Me.GrdC43cfg.Size = New System.Drawing.Size(398, 274) + Me.GrdC43cfg.TabIndex = 19 + Me.GrdC43cfg.UncheckedImage = Nothing + ' + 'GrpC43 + ' + Me.GrpC43.Controls.Add(Me.NudInterval) + Me.GrpC43.Controls.Add(Me.Label3) + Me.GrpC43.Controls.Add(Me.BtnIssuesData) + Me.GrpC43.Controls.Add(Me.NudAddress) + Me.GrpC43.Controls.Add(Me.Lbladdress) + Me.GrpC43.Controls.Add(Me.BtnReleaseUpgrade) + Me.GrpC43.Controls.Add(Me.NudC43Port) + Me.GrpC43.Controls.Add(Me.BtnSearch) + Me.GrpC43.Controls.Add(Me.NudC43TimeOut) + Me.GrpC43.Controls.Add(Me.Label6) + Me.GrpC43.Controls.Add(Me.Label8) + Me.GrpC43.Dock = System.Windows.Forms.DockStyle.Top + Me.GrpC43.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpC43.Location = New System.Drawing.Point(0, 0) + Me.GrpC43.Name = "GrpC43" + Me.GrpC43.Size = New System.Drawing.Size(404, 117) + Me.GrpC43.TabIndex = 4 + Me.GrpC43.TabStop = False + Me.GrpC43.Text = "C43" + ' + 'NudInterval + ' + Me.NudInterval.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudInterval.Location = New System.Drawing.Point(190, 68) + Me.NudInterval.Maximum = New Decimal(New Integer() {10000, 0, 0, 0}) + Me.NudInterval.Minimum = New Decimal(New Integer() {10, 0, 0, 0}) + Me.NudInterval.Name = "NudInterval" + Me.NudInterval.Size = New System.Drawing.Size(64, 23) + Me.NudInterval.TabIndex = 19 + Me.NudInterval.Value = New Decimal(New Integer() {200, 0, 0, 0}) + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label3.Location = New System.Drawing.Point(142, 70) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(42, 14) + Me.Label3.TabIndex = 18 + Me.Label3.Text = "间隔:" + ' + 'BtnIssuesData + ' + Me.BtnIssuesData.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnIssuesData.Location = New System.Drawing.Point(271, 64) + Me.BtnIssuesData.Name = "BtnIssuesData" + Me.BtnIssuesData.Size = New System.Drawing.Size(57, 27) + Me.BtnIssuesData.TabIndex = 17 + Me.BtnIssuesData.Text = "下发" + Me.BtnIssuesData.UseVisualStyleBackColor = True + ' + 'NudAddress + ' + Me.NudAddress.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudAddress.Location = New System.Drawing.Point(62, 68) + Me.NudAddress.Maximum = New Decimal(New Integer() {2, 0, 0, 0}) + Me.NudAddress.Name = "NudAddress" + Me.NudAddress.Size = New System.Drawing.Size(64, 23) + Me.NudAddress.TabIndex = 16 + ' + 'Lbladdress + ' + Me.Lbladdress.AutoSize = True + Me.Lbladdress.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Lbladdress.Location = New System.Drawing.Point(14, 70) + Me.Lbladdress.Name = "Lbladdress" + Me.Lbladdress.Size = New System.Drawing.Size(42, 14) + Me.Lbladdress.TabIndex = 15 + Me.Lbladdress.Text = "地址:" + ' + 'BtnReleaseUpgrade + ' + Me.BtnReleaseUpgrade.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnReleaseUpgrade.Location = New System.Drawing.Point(335, 22) + Me.BtnReleaseUpgrade.Name = "BtnReleaseUpgrade" + Me.BtnReleaseUpgrade.Size = New System.Drawing.Size(57, 27) + Me.BtnReleaseUpgrade.TabIndex = 14 + Me.BtnReleaseUpgrade.Text = "发布" + Me.BtnReleaseUpgrade.UseVisualStyleBackColor = True + ' + 'NudC43Port + ' + Me.NudC43Port.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudC43Port.Location = New System.Drawing.Point(62, 26) + Me.NudC43Port.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.NudC43Port.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.NudC43Port.Name = "NudC43Port" + Me.NudC43Port.Size = New System.Drawing.Size(64, 23) + Me.NudC43Port.TabIndex = 13 + Me.NudC43Port.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'BtnSearch + ' + Me.BtnSearch.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnSearch.Location = New System.Drawing.Point(271, 22) + Me.BtnSearch.Name = "BtnSearch" + Me.BtnSearch.Size = New System.Drawing.Size(57, 27) + Me.BtnSearch.TabIndex = 1 + Me.BtnSearch.Text = "搜索" + Me.BtnSearch.UseVisualStyleBackColor = True + ' + 'NudC43TimeOut + ' + Me.NudC43TimeOut.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudC43TimeOut.Location = New System.Drawing.Point(190, 26) + Me.NudC43TimeOut.Maximum = New Decimal(New Integer() {1000, 0, 0, 0}) + Me.NudC43TimeOut.Name = "NudC43TimeOut" + Me.NudC43TimeOut.Size = New System.Drawing.Size(64, 23) + Me.NudC43TimeOut.TabIndex = 7 + Me.NudC43TimeOut.Value = New Decimal(New Integer() {10, 0, 0, 0}) + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label6.Location = New System.Drawing.Point(142, 28) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(42, 14) + Me.Label6.TabIndex = 6 + Me.Label6.Text = "超时:" + ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label8.Location = New System.Drawing.Point(14, 28) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(42, 14) + Me.Label8.TabIndex = 2 + Me.Label8.Text = "Port:" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'FrmC43Function + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(404, 482) + Me.Controls.Add(Me.GrpC43cfg) + Me.Controls.Add(Me.GrpC43) + Me.Name = "FrmC43Function" + Me.Text = "C43功能模块" + Me.GrpC43cfg.ResumeLayout(false) + Me.GrpC43cfg.PerformLayout + Me.TSC43Config.ResumeLayout(false) + Me.TSC43Config.PerformLayout + Me.GrpC43.ResumeLayout(false) + Me.GrpC43.PerformLayout + CType(Me.NudInterval,System.ComponentModel.ISupportInitialize).EndInit + CType(Me.NudAddress,System.ComponentModel.ISupportInitialize).EndInit + CType(Me.NudC43Port,System.ComponentModel.ISupportInitialize).EndInit + CType(Me.NudC43TimeOut,System.ComponentModel.ISupportInitialize).EndInit + Me.ResumeLayout(false) + +End Sub + + Friend WithEvents GrpC43cfg As GroupBox + Friend WithEvents TSC43Config As ToolStrip + Friend WithEvents TsBtnC43cfgData As ToolStripButton + Friend WithEvents ToolStripSeparator1 As ToolStripSeparator + Friend WithEvents TsBtnAddRows As ToolStripButton + Friend WithEvents ToolStripSeparator2 As ToolStripSeparator + Friend WithEvents TsBtnDelete As ToolStripButton + Friend WithEvents ToolStripSeparator3 As ToolStripSeparator + Friend WithEvents TsBtnSave As ToolStripButton + Friend WithEvents TsBtnRead As ToolStripButton + Friend WithEvents GrdC43cfg As FlexCell.Grid + Friend WithEvents GrpC43 As GroupBox + Friend WithEvents NudInterval As NumericUpDown + Friend WithEvents Label3 As Label + Friend WithEvents BtnIssuesData As Button + Friend WithEvents NudAddress As NumericUpDown + Friend WithEvents Lbladdress As Label + Friend WithEvents BtnReleaseUpgrade As Button + Friend WithEvents NudC43Port As NumericUpDown + Friend WithEvents BtnSearch As Button + Friend WithEvents NudC43TimeOut As NumericUpDown + Friend WithEvents Label6 As Label + Friend WithEvents Label8 As Label + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents SaveFileDialog1 As SaveFileDialog + Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker + Friend WithEvents BackgroundWorker2 As System.ComponentModel.BackgroundWorker +End Class diff --git a/RCU-10/RCU/FrmC43Function.resx b/RCU-10/RCU/FrmC43Function.resx new file mode 100644 index 0000000..766ee6d --- /dev/null +++ b/RCU-10/RCU/FrmC43Function.resx @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== + + + + 145, 17 + + + 295, 17 + + + 440, 17 + + + 613, 17 + + \ No newline at end of file diff --git a/RCU-10/RCU/FrmC43Function.vb b/RCU-10/RCU/FrmC43Function.vb new file mode 100644 index 0000000..34b8189 --- /dev/null +++ b/RCU-10/RCU/FrmC43Function.vb @@ -0,0 +1,600 @@ +Imports System.IO +Imports System.Threading + +Public Class FrmC43Function + Implements IModuleForm + +#Region "窗体" + + ''' + ''' 窗体加载函数 + ''' + ''' + ''' + Private Sub FrmC43Function_Load(sender As Object, e As EventArgs) Handles Me.Load + C43ConfigData() 'C43配置 + + End Sub + + + ''' + ''' 显示窗体接口 + ''' + ''' + Public Sub ShowForm(parentControl As Control) Implements IModuleForm.ShowForm + FormBorderStyle = FormBorderStyle.None '无边框 + TopLevel = False + Dock = DockStyle.Fill '填满大小 + Parent = parentControl '父容器 + + Show() + End Sub + + + ''' + ''' 发送函数 + ''' + ''' + Public Sub SendData(sendPacket() As Byte) + FrmRCU.SendData(sendPacket) '方法1 + + End Sub + +#End Region + +#Region "C43功能配置" + + + ''' + ''' 枚举表格列名信息 + ''' + Enum EnListed + SerialNumber '序号 + IsSelected '是否选中 + ButtonName '按键号 + ButtonType '按键类型 + DeviceType '设备类型 + DeviceNumber '设备编号 + CarryWayL '执行方式L + CarryWayH '执行方式H + SceneControlWay '场景执行方式 + DelayToPerform '延时执行 + Remark '备注 + End Enum + + + + ''' + ''' C43配置数据 + ''' + Private Sub C43ConfigData() + GrdC43cfg.DisplayRowNumber = True + GrdC43cfg.ExtendLastCol = True + GrdC43cfg.Cols = 11 + GrdC43cfg.Rows = 2 + + With GrdC43cfg.Cell(0, EnListed.IsSelected) + .Text = "是否选中" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.ButtonName) + .Text = "按键号" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.ButtonType) + .Text = "按键类型" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.DeviceType) + .Text = "设备类型" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.DeviceNumber) + .Text = "设备编号" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.CarryWayL) + .Text = "执行方式" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.CarryWayH) + .Text = "执行内容" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.SceneControlWay) + .Text = "场景控制方式" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.DelayToPerform) + .Text = "延时执行" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdC43cfg.Cell(0, EnListed.Remark) + .Text = "备注" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + '是否选中 + GrdC43cfg.Column(EnListed.IsSelected).CellType = FlexCell.CellTypeEnum.CheckBox + GrdC43cfg.Cell(1, EnListed.IsSelected).Text = $"1" + + '按键号 + GrdC43cfg.Column(EnListed.ButtonName).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.ButtonName).Mask = FlexCell.MaskEnum.Numeric + GrdC43cfg.Column(EnListed.ButtonName).DecimalLength = 0 + + '按键类型 + GrdC43cfg.Column(EnListed.ButtonType).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.ButtonType).CellType = FlexCell.CellTypeEnum.ComboBox + With GrdC43cfg.ComboBox(EnListed.ButtonType).Items + .Clear() + .Add("点按") '默认点按 + .Add("松开") + .Add("长按") + End With + + '设备类型 + GrdC43cfg.Column(EnListed.DeviceType).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.DeviceType).CellType = FlexCell.CellTypeEnum.ComboBox + With GrdC43cfg.ComboBox(EnListed.DeviceType).Items + .Clear() + .Add("场景") + .Add("本地继电器") + .Add("本地服务信息") + .Add("干节点窗帘") + .Add("空调") + .Add("LED扩展") + .Add("背景音乐") + .Add("监控") + End With + + '设备编号 + GrdC43cfg.Column(EnListed.DeviceNumber).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.DeviceNumber).Mask = FlexCell.MaskEnum.Numeric + GrdC43cfg.Column(EnListed.DeviceNumber).DecimalLength = 0 + + '执行方式 + GrdC43cfg.Column(EnListed.CarryWayL).Alignment = FlexCell.AlignmentEnum.CenterCenter + + '执行内容 + GrdC43cfg.Column(EnListed.CarryWayH).Alignment = FlexCell.AlignmentEnum.CenterCenter + + '场景控制方式 + GrdC43cfg.Column(EnListed.SceneControlWay).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.SceneControlWay).CellType = FlexCell.CellTypeEnum.ComboBox + With GrdC43cfg.ComboBox(EnListed.SceneControlWay).Items + .Clear() + .Add("场景单控") + .Add("场景可关闭") + End With + + '延时执行 + GrdC43cfg.Column(EnListed.DelayToPerform).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdC43cfg.Column(EnListed.DelayToPerform).Mask = FlexCell.MaskEnum.Numeric + GrdC43cfg.Column(EnListed.DelayToPerform).DecimalLength = 0 + + '备注 + GrdC43cfg.Column(EnListed.Remark).Alignment = FlexCell.AlignmentEnum.LeftCenter + + End Sub + + + ''' + ''' C43搜索命令—按地址搜索 + ''' + ''' + ''' + Private Sub BtnSearch_Click(sender As Object, e As EventArgs) Handles BtnSearch.Click + _sendTick = 0 '标志位 + + '获取Set发送内容Data部分 + _port485 = $"&H{Hex(NudC43Port.Value)}" + _timeouts = $"&H{Hex(NudC43TimeOut.Value)}" + + '组包C43搜索命令 + Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}" + Dim C43Data(4) As Byte + C43Data(0) = C43Address + C43Data(1) = &HA3 + C43Data(2) = &H1 + C43Data(3) = &H0 + C43Data(4) = C43Address + &HA3 + &H1 + &H0 '和校验 + + '填充数据包 + C43Data = FillPacket(C43Data) + + '发送数据包 + SendData(C43Data) + + End Sub + + + ''' + ''' C43发布 + ''' + ''' + ''' + Private Sub BtnReleaseUpgrade_Click(sender As Object, e As EventArgs) Handles BtnReleaseUpgrade.Click + _sendTick = 0 '标志位 + + '获取Set发送内容Data部分 + _port485 = $"&H{Hex(NudC43Port.Value)}" + _timeouts = $"&H{Hex(NudC43TimeOut.Value)}" + + Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}" '获取发送数据部分 + Dim C43dataList() As Byte = C43cfgDataTakeOut() '表格数据 + Dim C43Head() As Byte = C43FirstBlockHeadData() '8个字节的版本号&全局变量 + Dim C43crc16() As Byte = CheckSendData(C43Head, C43dataList) 'C43发布命令的CRC16校验 + Dim blocks As Byte = GetBlocks(C43dataList) '求数据的块数 + + '和校验 + Dim dataSumI As UInteger = C43Address + &HA6 + &H1 + &H1 + C43crc16(0) + C43crc16(1) + blocks + Dim data7Sum As Byte = dataSumI And &HFF + + '组包C43发布命令 + Dim C43Data(7) As Byte + C43Data(0) = C43Address + C43Data(1) = &HA6 + C43Data(2) = &H1 + C43Data(3) = &H1 + C43Data(4) = C43crc16(0) + C43Data(5) = C43crc16(1) + C43Data(6) = blocks + C43Data(7) = data7Sum + + '填充数据包 + C43Data = FillPacket(C43Data) + + '发送数据 + SendData(C43Data) + + End Sub + + + ''' + ''' C43第一包数据包头 + ''' + ''' + Private Function C43FirstBlockHeadData() As Byte() + Dim C43Head(7) As Byte + C43Head(0) = &H0 '配置版本号 + C43Head(1) = &H0 '配置版本号 + C43Head(2) = &H0 '配置版本号 + C43Head(3) = &H0 '全局变量_背光时间 + C43Head(4) = &H0 '备用 + C43Head(5) = &H0 '备用 + C43Head(6) = &H0 '备用 + C43Head(7) = &H0 '备用 + Return C43Head + End Function + + + ''' + ''' C43下发数据 + ''' + ''' + ''' + Private Sub BtnIssuesData_Click(sender As Object, e As EventArgs) Handles BtnIssuesData.Click + SendC43DataToRCU() + End Sub + + + + ''' + ''' 下发C43数据到RCU + ''' + Private Sub SendC43DataToRCU() + Dim sendPacket As Byte() + Dim serialAppPacket As Byte() + Dim C43Data As Byte() + Dim blockCount As Integer + + _port485 = $"&H{Hex(NudC43Port.Value)}" + _timeouts = $"&H{Hex(NudC43TimeOut.Value)}" + + C43Data = C43cfgDataTakeOut() '取表中数据 + blockCount = GetBlocks(C43Data) '获取总发送块数 + + For blockIndex = 0 To blockCount - 1 '循环发送数据块 + serialAppPacket = FillC43SendPacket(C43Data, blockIndex, blockCount) '组C43透传数据包 + + sendPacket = FillPacket(serialAppPacket) + SendData(sendPacket) + + Dim Interval As Integer = NudInterval.Value + Thread.Sleep(Interval) '发送间隔 + Next + End Sub + + + ''' + ''' 取出C43配置数据 + ''' + ''' + Private Function C43cfgDataTakeOut() As Byte() + Dim C43DataList As New List(Of Byte) + + For row = 1 To GrdC43cfg.Rows - 1 + Dim dataOne As Byte + If GrdC43cfg.Cell(row, EnListed.ButtonName).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.ButtonName).Text = 1 + dataOne = &H1 + Else + dataOne = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.ButtonName).Text)}" + End If + + Dim dataTwo As Byte + If GrdC43cfg.Cell(row, EnListed.ButtonType).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "点按" + dataTwo = &H1 + ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "点按" Then + dataTwo = &H1 + ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "松开" Then + dataTwo = &H2 + ElseIf GrdC43cfg.Cell(row, EnListed.ButtonType).Text = "长按" Then + dataTwo = &H3 + End If + + Dim dataThree As Byte + If GrdC43cfg.Cell(row, EnListed.DeviceType).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "场景" + dataThree = &H0 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "场景" Then + dataThree = &H0 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "本地继电器" Then + dataThree = &H1 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "本地服务信息" Then + dataThree = &H4 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "干节点窗帘" Then + dataThree = &H5 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "空调" Then + dataThree = &H7 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "LED扩展" Then + dataThree = &H10 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "背景音乐" Then + dataThree = &H15 + ElseIf GrdC43cfg.Cell(row, EnListed.DeviceType).Text = "监控" Then + dataThree = &H24 + End If + + Dim dataFour As Byte + If GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text = 1 + dataFour = &H1 + Else + dataFour = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.DeviceNumber).Text)}" + End If + + Dim dataFive As Byte + If GrdC43cfg.Cell(row, EnListed.CarryWayL).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.CarryWayL).Text = 1 + dataFive = &H1 + Else + dataFive = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.CarryWayL).Text)}" + End If + + Dim dataSix As Byte + If GrdC43cfg.Cell(row, EnListed.CarryWayH).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.CarryWayH).Text = 0 + dataSix = &H0 + Else + dataSix = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.CarryWayH).Text)}" + End If + + Dim dataSeven As Byte + If GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景单控" + dataSeven = &H1 + ElseIf GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景单控" Then + dataSeven = &H1 + ElseIf GrdC43cfg.Cell(row, EnListed.SceneControlWay).Text = "场景可关闭" Then + dataSeven = &H2 + End If + + Dim dataEight As Byte + If GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text = Nothing Then + GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text = 0 + dataEight = &H0 + Else + dataEight = $"&H{Hex(GrdC43cfg.Cell(row, EnListed.DelayToPerform).Text)}" + End If + + If GrdC43cfg.Cell(row, EnListed.IsSelected).BooleanValue = True Then + C43DataList.Add(dataOne) + C43DataList.Add(dataTwo) + C43DataList.Add(dataThree) + C43DataList.Add(dataFour) + C43DataList.Add(dataFive) + C43DataList.Add(dataSix) + C43DataList.Add(dataSeven) + C43DataList.Add(dataEight) + Else + Console.WriteLine("此行数据未选中!") + End If + Next + Return C43DataList.ToArray + End Function + + + ''' + ''' 填充C43发送数据包 + ''' + ''' + ''' + ''' + ''' + Private Function FillC43SendPacket(C43Data As Byte(), blockIndex As Integer, blockCount As Integer) As Byte() + Dim dataList As New List(Of Byte) + + dataList.AddRange(FillC43AddrData(blockIndex)) '地址4个字节 + + dataList.AddRange(FillC43SendPacketByBlock(C43Data, blockIndex, blockCount)) '按块填充表格数据 + + dataList.Add(GetSumCheck(dataList.ToArray)) '求块数据和校验 + + Return dataList.ToArray + End Function + + + ''' + ''' 填充C43地址数据 + ''' + ''' + ''' + Private Function FillC43AddrData(blockIndex As Integer) As Byte() + Dim C43Address As Byte = $"&H{Hex(NudAddress.Value)}" '获取发送数据部分 + Dim C43Data(3) As Byte + C43Data(0) = C43Address + C43Data(1) = &HA7 + C43Data(2) = &H1 + C43Data(3) = blockIndex + + Return C43Data + End Function + + + ''' + ''' 按块填充C43表格数据 + ''' + ''' + ''' + ''' + ''' + Private Function FillC43SendPacketByBlock(C43Data As Byte(), blockIndex As Integer, blockCount As Integer) As Byte() + Dim blockPacket As New List(Of Byte) + + If blockIndex = 0 Then blockPacket.AddRange(C43FirstBlockHeadData) '第0块额外添加8个字节数据 + + If blockIndex = blockCount - 1 Then + For index = 128 * blockIndex To C43Data.Length - 1 + blockPacket.Add(C43Data(index)) + Next + Else + For index = 128 * blockIndex To 128 * (blockIndex + 1) - 1 + blockPacket.Add(C43Data(index)) + Next + End If + + Return blockPacket.ToArray + End Function + + + ''' + ''' C43表格配置按键 + ''' + ''' + ''' + Private Sub TSBtnC43cfgData_Click(sender As Object, e As EventArgs) Handles TsBtnC43cfgData.Click + GrdC43cfg.Rows = 1 '清除表格数据 + C43ConfigData() + End Sub + + + ''' + ''' 增加数据行 + ''' + ''' + ''' + Private Sub TSBtnAddRows_Click(sender As Object, e As EventArgs) Handles TsBtnAddRows.Click + GrdC43cfg.AddItem("") + GrdC43cfg.Cell(GrdC43cfg.Rows - 1, EnListed.IsSelected).Text = "1" + End Sub + + + ''' + ''' 删除数据行 + ''' + ''' + ''' + Private Sub TSBtnDelete_Click(sender As Object, e As EventArgs) Handles TsBtnDelete.Click + GrdC43cfg.Selection.DeleteByRow() + End Sub + + + ''' + ''' 保存C43数据 + ''' + ''' + ''' + Private Sub TSBtnSave_Click(sender As Object, e As EventArgs) Handles TsBtnSave.Click + Dim dirPath As String = Application.StartupPath & "/" & "C43Config" + If Directory.Exists(dirPath) = False Then Directory.CreateDirectory(dirPath) + SaveFileDialog1.InitialDirectory = dirPath + + SaveFileConfig() + End Sub + + + ''' + ''' 保存文件配置 + ''' + Private Sub SaveFileConfig() + With SaveFileDialog1 + .Filter = "保存为xml|*.xml" + .FileName = "C43" + .DefaultExt = "xml" + .AddExtension = True + End With + + If SaveFileDialog1.ShowDialog() = DialogResult.OK Then + GrdC43cfg.ExportToXML(SaveFileDialog1.FileName) + End If + End Sub + + + ''' + ''' 读取数据 + ''' + ''' + ''' + Private Sub TSBtnRead_Click(sender As Object, e As EventArgs) Handles TsBtnRead.Click + If OpenFileDialog1.ShowDialog() = DialogResult.OK Then + GrdC43cfg.LoadFromXML(OpenFileDialog1.FileName) + End If + End Sub + + + + 'Private Function FillSerialAppPacket(serialAppPacket As Byte()) As Byte() + ' '获取Set发送内容Data部分 + ' Dim serialCmd As Byte = &H3 + ' Dim port485 As Byte = $"&H{Hex(NudC43Port.Value)}" + ' Dim timeOut As Byte = $"&H{Hex(NudC43TimeOut.Value)}" + + ' Dim dataLen As Integer = serialAppPacket.Length + 3 + ' Dim data(dataLen - 1) As Byte + ' data(0) = serialCmd + ' data(1) = port485 + ' data(2) = timeOut + ' Array.Copy(serialAppPacket, 0, data, 3, serialAppPacket.Length) + + ' '获取发送数据Head部分和CRC16校验值部分 + ' Dim byteHead As Byte() = SendDataHead(data) '获取DataHaed + ' Dim crc16 As Byte() = CheckSendData(byteHead, data) '获取Data检验值 + + ' Return FillSendPacket(byteHead, data, crc16) + 'End Function +#End Region + + +End Class \ No newline at end of file diff --git a/RCU-10/RCU/FrmInfraredFunction.Designer.vb b/RCU-10/RCU/FrmInfraredFunction.Designer.vb new file mode 100644 index 0000000..04557ba --- /dev/null +++ b/RCU-10/RCU/FrmInfraredFunction.Designer.vb @@ -0,0 +1,1283 @@ + _ +Partial Class FrmInfraredFunction + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.TabControl3 = New System.Windows.Forms.TabControl() + Me.PageAirConditioner = New System.Windows.Forms.TabPage() + Me.Label6 = New System.Windows.Forms.Label() + Me.Label7 = New System.Windows.Forms.Label() + Me.TextBox2 = New System.Windows.Forms.TextBox() + Me.Label1 = New System.Windows.Forms.Label() + Me.BtnAirFirmwareSearch = New System.Windows.Forms.Button() + Me.CboVersion = New System.Windows.Forms.ComboBox() + Me.Label85 = New System.Windows.Forms.Label() + Me.BtnAKeyToRead = New System.Windows.Forms.Button() + Me.BtnInfraredSearch = New System.Windows.Forms.Button() + Me.NudAirAddress = New System.Windows.Forms.NumericUpDown() + Me.Label76 = New System.Windows.Forms.Label() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.LblAuto = New System.Windows.Forms.Label() + Me.LblDegreeValue = New System.Windows.Forms.Label() + Me.LblDegree = New System.Windows.Forms.Label() + Me.LblAirHigh = New System.Windows.Forms.Label() + Me.LblAirCentre = New System.Windows.Forms.Label() + Me.LblAirLow = New System.Windows.Forms.Label() + Me.LblAirCold = New System.Windows.Forms.Label() + Me.LblAirHot = New System.Windows.Forms.Label() + Me.LblAirSupply = New System.Windows.Forms.Label() + Me.BtnAirModel = New System.Windows.Forms.Button() + Me.BtnAirAdd = New System.Windows.Forms.Button() + Me.BtnAirVelocity = New System.Windows.Forms.Button() + Me.BtnAirMinus = New System.Windows.Forms.Button() + Me.BtnAirSwitch = New System.Windows.Forms.Button() + Me.PrgAirBurn = New System.Windows.Forms.ProgressBar() + Me.TBoAirImport = New System.Windows.Forms.TextBox() + Me.BtnAirImport = New System.Windows.Forms.Button() + Me.BtnAirBurn = New System.Windows.Forms.Button() + Me.BtnAirDownload = New System.Windows.Forms.Button() + Me.CBoAirType = New System.Windows.Forms.ComboBox() + Me.CBoAirBrand = New System.Windows.Forms.ComboBox() + Me.Label75 = New System.Windows.Forms.Label() + Me.Label74 = New System.Windows.Forms.Label() + Me.PageTV = New System.Windows.Forms.TabPage() + Me.Label5 = New System.Windows.Forms.Label() + Me.Label4 = New System.Windows.Forms.Label() + Me.TextBox3 = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.BtnTVFirmwareSearch = New System.Windows.Forms.Button() + Me.CBoTVVersion = New System.Windows.Forms.ComboBox() + Me.Label86 = New System.Windows.Forms.Label() + Me.BtnTvDownload = New System.Windows.Forms.Button() + Me.CBoTVModel = New System.Windows.Forms.ComboBox() + Me.CBoTVBrand = New System.Windows.Forms.ComboBox() + Me.Label88 = New System.Windows.Forms.Label() + Me.Label89 = New System.Windows.Forms.Label() + Me.BtnTVAKeyToRead = New System.Windows.Forms.Button() + Me.BtnTVSearch = New System.Windows.Forms.Button() + Me.NudTVAddress = New System.Windows.Forms.NumericUpDown() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.BtnTVImport = New System.Windows.Forms.Button() + Me.Label87 = New System.Windows.Forms.Label() + Me.Panel3 = New System.Windows.Forms.Panel() + Me.BtnTVChannelMinus = New System.Windows.Forms.Button() + Me.BtnTVChannelAdd = New System.Windows.Forms.Button() + Me.BtnTVGetBack = New System.Windows.Forms.Button() + Me.BtnTVSource = New System.Windows.Forms.Button() + Me.BtnTVVolumeMinus = New System.Windows.Forms.Button() + Me.BtnTVGetOn = New System.Windows.Forms.Button() + Me.BtnTVMute = New System.Windows.Forms.Button() + Me.BtnTVOK = New System.Windows.Forms.Button() + Me.BtnTVSwitch = New System.Windows.Forms.Button() + Me.BtnTVBelow = New System.Windows.Forms.Button() + Me.BtnTVHomePage = New System.Windows.Forms.Button() + Me.BtnTVLeft = New System.Windows.Forms.Button() + Me.BtnTVMenu = New System.Windows.Forms.Button() + Me.BtnTVRight = New System.Windows.Forms.Button() + Me.BtnTVVolumeAdd = New System.Windows.Forms.Button() + Me.BtnTVBurn = New System.Windows.Forms.Button() + Me.ProgressBar1 = New System.Windows.Forms.ProgressBar() + Me.TabPage2 = New System.Windows.Forms.TabPage() + Me.TextBox4 = New System.Windows.Forms.TextBox() + Me.Label3 = New System.Windows.Forms.Label() + Me.TboxBrand = New System.Windows.Forms.TextBox() + Me.TboxType = New System.Windows.Forms.TextBox() + Me.BtnRefresh = New System.Windows.Forms.Button() + Me.GrdSqlData = New FlexCell.Grid() + Me.CmsDataTable = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.刷新列表ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.删除记录ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.BtnSelectFile = New System.Windows.Forms.Button() + Me.TboxModel = New System.Windows.Forms.TextBox() + Me.TboPacketName = New System.Windows.Forms.TextBox() + Me.TboxVersion = New System.Windows.Forms.TextBox() + Me.TboRemark = New System.Windows.Forms.TextBox() + Me.BtnEntry = New System.Windows.Forms.Button() + Me.Label77 = New System.Windows.Forms.Label() + Me.Label78 = New System.Windows.Forms.Label() + Me.Label79 = New System.Windows.Forms.Label() + Me.Label83 = New System.Windows.Forms.Label() + Me.Label84 = New System.Windows.Forms.Label() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.TabControl3.SuspendLayout() + Me.PageAirConditioner.SuspendLayout() + CType(Me.NudAirAddress, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel2.SuspendLayout() + Me.PageTV.SuspendLayout() + CType(Me.NudTVAddress, System.ComponentModel.ISupportInitialize).BeginInit() + Me.Panel3.SuspendLayout() + Me.TabPage2.SuspendLayout() + Me.CmsDataTable.SuspendLayout() + Me.SuspendLayout() + ' + 'TabControl3 + ' + Me.TabControl3.Controls.Add(Me.PageAirConditioner) + Me.TabControl3.Controls.Add(Me.PageTV) + Me.TabControl3.Controls.Add(Me.TabPage2) + Me.TabControl3.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl3.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TabControl3.Location = New System.Drawing.Point(0, 0) + Me.TabControl3.Name = "TabControl3" + Me.TabControl3.SelectedIndex = 0 + Me.TabControl3.Size = New System.Drawing.Size(452, 482) + Me.TabControl3.TabIndex = 1 + ' + 'PageAirConditioner + ' + Me.PageAirConditioner.BackColor = System.Drawing.Color.Silver + Me.PageAirConditioner.Controls.Add(Me.Label6) + Me.PageAirConditioner.Controls.Add(Me.Label7) + Me.PageAirConditioner.Controls.Add(Me.TextBox2) + Me.PageAirConditioner.Controls.Add(Me.Label1) + Me.PageAirConditioner.Controls.Add(Me.BtnAirFirmwareSearch) + Me.PageAirConditioner.Controls.Add(Me.CboVersion) + Me.PageAirConditioner.Controls.Add(Me.Label85) + Me.PageAirConditioner.Controls.Add(Me.BtnAKeyToRead) + Me.PageAirConditioner.Controls.Add(Me.BtnInfraredSearch) + Me.PageAirConditioner.Controls.Add(Me.NudAirAddress) + Me.PageAirConditioner.Controls.Add(Me.Label76) + Me.PageAirConditioner.Controls.Add(Me.Panel2) + Me.PageAirConditioner.Controls.Add(Me.PrgAirBurn) + Me.PageAirConditioner.Controls.Add(Me.TBoAirImport) + Me.PageAirConditioner.Controls.Add(Me.BtnAirImport) + Me.PageAirConditioner.Controls.Add(Me.BtnAirBurn) + Me.PageAirConditioner.Controls.Add(Me.BtnAirDownload) + Me.PageAirConditioner.Controls.Add(Me.CBoAirType) + Me.PageAirConditioner.Controls.Add(Me.CBoAirBrand) + Me.PageAirConditioner.Controls.Add(Me.Label75) + Me.PageAirConditioner.Controls.Add(Me.Label74) + Me.PageAirConditioner.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.PageAirConditioner.Location = New System.Drawing.Point(4, 30) + Me.PageAirConditioner.Name = "PageAirConditioner" + Me.PageAirConditioner.Padding = New System.Windows.Forms.Padding(3) + Me.PageAirConditioner.Size = New System.Drawing.Size(444, 448) + Me.PageAirConditioner.TabIndex = 0 + Me.PageAirConditioner.Text = "空调" + ' + 'Label6 + ' + Me.Label6.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label6.Location = New System.Drawing.Point(265, 45) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(69, 16) + Me.Label6.TabIndex = 54 + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label7.Location = New System.Drawing.Point(183, 45) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(80, 16) + Me.Label7.TabIndex = 53 + Me.Label7.Text = "固件版本:" + ' + 'TextBox2 + ' + Me.TextBox2.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TextBox2.Location = New System.Drawing.Point(70, 78) + Me.TextBox2.Multiline = True + Me.TextBox2.Name = "TextBox2" + Me.TextBox2.ReadOnly = True + Me.TextBox2.Size = New System.Drawing.Size(366, 47) + Me.TextBox2.TabIndex = 31 + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label1.Location = New System.Drawing.Point(13, 69) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(56, 16) + Me.Label1.TabIndex = 30 + Me.Label1.Text = "备注:" + ' + 'BtnAirFirmwareSearch + ' + Me.BtnAirFirmwareSearch.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirFirmwareSearch.Location = New System.Drawing.Point(299, 334) + Me.BtnAirFirmwareSearch.Name = "BtnAirFirmwareSearch" + Me.BtnAirFirmwareSearch.Size = New System.Drawing.Size(62, 30) + Me.BtnAirFirmwareSearch.TabIndex = 29 + Me.BtnAirFirmwareSearch.Text = "固件搜索" + Me.BtnAirFirmwareSearch.UseVisualStyleBackColor = True + ' + 'CboVersion + ' + Me.CboVersion.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboVersion.FormattingEnabled = True + Me.CboVersion.Location = New System.Drawing.Point(84, 42) + Me.CboVersion.Name = "CboVersion" + Me.CboVersion.Size = New System.Drawing.Size(98, 24) + Me.CboVersion.TabIndex = 28 + ' + 'Label85 + ' + Me.Label85.AutoSize = True + Me.Label85.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label85.Location = New System.Drawing.Point(13, 45) + Me.Label85.Name = "Label85" + Me.Label85.Size = New System.Drawing.Size(72, 16) + Me.Label85.TabIndex = 27 + Me.Label85.Text = "文件版本" + ' + 'BtnAKeyToRead + ' + Me.BtnAKeyToRead.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAKeyToRead.Location = New System.Drawing.Point(224, 334) + Me.BtnAKeyToRead.Name = "BtnAKeyToRead" + Me.BtnAKeyToRead.Size = New System.Drawing.Size(62, 30) + Me.BtnAKeyToRead.TabIndex = 26 + Me.BtnAKeyToRead.Text = "导出" + Me.BtnAKeyToRead.UseVisualStyleBackColor = True + ' + 'BtnInfraredSearch + ' + Me.BtnInfraredSearch.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnInfraredSearch.Location = New System.Drawing.Point(374, 334) + Me.BtnInfraredSearch.Name = "BtnInfraredSearch" + Me.BtnInfraredSearch.Size = New System.Drawing.Size(62, 30) + Me.BtnInfraredSearch.TabIndex = 25 + Me.BtnInfraredSearch.Text = "软件搜索" + Me.BtnInfraredSearch.UseVisualStyleBackColor = True + ' + 'NudAirAddress + ' + Me.NudAirAddress.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudAirAddress.Location = New System.Drawing.Point(95, 336) + Me.NudAirAddress.Maximum = New Decimal(New Integer() {2, 0, 0, 0}) + Me.NudAirAddress.Name = "NudAirAddress" + Me.NudAirAddress.Size = New System.Drawing.Size(52, 26) + Me.NudAirAddress.TabIndex = 24 + ' + 'Label76 + ' + Me.Label76.AutoSize = True + Me.Label76.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label76.Location = New System.Drawing.Point(12, 339) + Me.Label76.Name = "Label76" + Me.Label76.Size = New System.Drawing.Size(77, 20) + Me.Label76.TabIndex = 23 + Me.Label76.Text = "设备地址:" + ' + 'Panel2 + ' + Me.Panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel2.Controls.Add(Me.LblAuto) + Me.Panel2.Controls.Add(Me.LblDegreeValue) + Me.Panel2.Controls.Add(Me.LblDegree) + Me.Panel2.Controls.Add(Me.LblAirHigh) + Me.Panel2.Controls.Add(Me.LblAirCentre) + Me.Panel2.Controls.Add(Me.LblAirLow) + Me.Panel2.Controls.Add(Me.LblAirCold) + Me.Panel2.Controls.Add(Me.LblAirHot) + Me.Panel2.Controls.Add(Me.LblAirSupply) + Me.Panel2.Controls.Add(Me.BtnAirModel) + Me.Panel2.Controls.Add(Me.BtnAirAdd) + Me.Panel2.Controls.Add(Me.BtnAirVelocity) + Me.Panel2.Controls.Add(Me.BtnAirMinus) + Me.Panel2.Controls.Add(Me.BtnAirSwitch) + Me.Panel2.Location = New System.Drawing.Point(18, 131) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(418, 193) + Me.Panel2.TabIndex = 22 + ' + 'LblAuto + ' + Me.LblAuto.AutoSize = True + Me.LblAuto.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAuto.ForeColor = System.Drawing.Color.Black + Me.LblAuto.Location = New System.Drawing.Point(119, 21) + Me.LblAuto.Name = "LblAuto" + Me.LblAuto.Size = New System.Drawing.Size(47, 19) + Me.LblAuto.TabIndex = 22 + Me.LblAuto.Text = "自动" + ' + 'LblDegreeValue + ' + Me.LblDegreeValue.AutoSize = True + Me.LblDegreeValue.Font = New System.Drawing.Font("宋体", 48.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblDegreeValue.ForeColor = System.Drawing.Color.Black + Me.LblDegreeValue.Location = New System.Drawing.Point(128, 65) + Me.LblDegreeValue.Name = "LblDegreeValue" + Me.LblDegreeValue.Size = New System.Drawing.Size(94, 64) + Me.LblDegreeValue.TabIndex = 10 + Me.LblDegreeValue.Text = "19" + ' + 'LblDegree + ' + Me.LblDegree.AutoSize = True + Me.LblDegree.Font = New System.Drawing.Font("宋体", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblDegree.ForeColor = System.Drawing.Color.Black + Me.LblDegree.Location = New System.Drawing.Point(215, 105) + Me.LblDegree.Name = "LblDegree" + Me.LblDegree.Size = New System.Drawing.Size(35, 24) + Me.LblDegree.TabIndex = 21 + Me.LblDegree.Text = "℃" + ' + 'LblAirHigh + ' + Me.LblAirHigh.AutoSize = True + Me.LblAirHigh.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirHigh.ForeColor = System.Drawing.Color.Black + Me.LblAirHigh.Location = New System.Drawing.Point(15, 21) + Me.LblAirHigh.Name = "LblAirHigh" + Me.LblAirHigh.Size = New System.Drawing.Size(28, 19) + Me.LblAirHigh.TabIndex = 4 + Me.LblAirHigh.Text = "高" + ' + 'LblAirCentre + ' + Me.LblAirCentre.AutoSize = True + Me.LblAirCentre.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirCentre.ForeColor = System.Drawing.Color.Black + Me.LblAirCentre.Location = New System.Drawing.Point(50, 21) + Me.LblAirCentre.Name = "LblAirCentre" + Me.LblAirCentre.Size = New System.Drawing.Size(28, 19) + Me.LblAirCentre.TabIndex = 5 + Me.LblAirCentre.Text = "中" + ' + 'LblAirLow + ' + Me.LblAirLow.AutoSize = True + Me.LblAirLow.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirLow.ForeColor = System.Drawing.Color.Black + Me.LblAirLow.Location = New System.Drawing.Point(85, 21) + Me.LblAirLow.Name = "LblAirLow" + Me.LblAirLow.Size = New System.Drawing.Size(28, 19) + Me.LblAirLow.TabIndex = 6 + Me.LblAirLow.Text = "低" + ' + 'LblAirCold + ' + Me.LblAirCold.AutoSize = True + Me.LblAirCold.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirCold.ForeColor = System.Drawing.Color.Black + Me.LblAirCold.Location = New System.Drawing.Point(216, 21) + Me.LblAirCold.Name = "LblAirCold" + Me.LblAirCold.Size = New System.Drawing.Size(28, 19) + Me.LblAirCold.TabIndex = 7 + Me.LblAirCold.Text = "冷" + ' + 'LblAirHot + ' + Me.LblAirHot.AutoSize = True + Me.LblAirHot.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirHot.ForeColor = System.Drawing.Color.Black + Me.LblAirHot.Location = New System.Drawing.Point(252, 21) + Me.LblAirHot.Name = "LblAirHot" + Me.LblAirHot.Size = New System.Drawing.Size(28, 19) + Me.LblAirHot.TabIndex = 8 + Me.LblAirHot.Text = "热" + ' + 'LblAirSupply + ' + Me.LblAirSupply.AutoSize = True + Me.LblAirSupply.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblAirSupply.ForeColor = System.Drawing.Color.Black + Me.LblAirSupply.Location = New System.Drawing.Point(288, 21) + Me.LblAirSupply.Name = "LblAirSupply" + Me.LblAirSupply.Size = New System.Drawing.Size(47, 19) + Me.LblAirSupply.TabIndex = 9 + Me.LblAirSupply.Text = "送风" + ' + 'BtnAirModel + ' + Me.BtnAirModel.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirModel.ForeColor = System.Drawing.Color.Black + Me.BtnAirModel.Location = New System.Drawing.Point(256, 135) + Me.BtnAirModel.Name = "BtnAirModel" + Me.BtnAirModel.Size = New System.Drawing.Size(59, 45) + Me.BtnAirModel.TabIndex = 15 + Me.BtnAirModel.Text = "模式" + Me.BtnAirModel.UseVisualStyleBackColor = True + ' + 'BtnAirAdd + ' + Me.BtnAirAdd.Font = New System.Drawing.Font("Microsoft Sans Serif", 26.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirAdd.ForeColor = System.Drawing.Color.Black + Me.BtnAirAdd.Location = New System.Drawing.Point(31, 62) + Me.BtnAirAdd.Name = "BtnAirAdd" + Me.BtnAirAdd.Size = New System.Drawing.Size(59, 45) + Me.BtnAirAdd.TabIndex = 11 + Me.BtnAirAdd.Text = "+" + Me.BtnAirAdd.UseVisualStyleBackColor = True + ' + 'BtnAirVelocity + ' + Me.BtnAirVelocity.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirVelocity.ForeColor = System.Drawing.Color.Black + Me.BtnAirVelocity.Location = New System.Drawing.Point(144, 135) + Me.BtnAirVelocity.Name = "BtnAirVelocity" + Me.BtnAirVelocity.Size = New System.Drawing.Size(59, 45) + Me.BtnAirVelocity.TabIndex = 14 + Me.BtnAirVelocity.Text = "风速" + Me.BtnAirVelocity.UseVisualStyleBackColor = True + ' + 'BtnAirMinus + ' + Me.BtnAirMinus.Font = New System.Drawing.Font("Microsoft Sans Serif", 26.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirMinus.ForeColor = System.Drawing.Color.Black + Me.BtnAirMinus.Location = New System.Drawing.Point(256, 62) + Me.BtnAirMinus.Name = "BtnAirMinus" + Me.BtnAirMinus.Size = New System.Drawing.Size(59, 45) + Me.BtnAirMinus.TabIndex = 12 + Me.BtnAirMinus.Text = "-" + Me.BtnAirMinus.UseVisualStyleBackColor = True + ' + 'BtnAirSwitch + ' + Me.BtnAirSwitch.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirSwitch.ForeColor = System.Drawing.Color.Black + Me.BtnAirSwitch.Location = New System.Drawing.Point(31, 135) + Me.BtnAirSwitch.Name = "BtnAirSwitch" + Me.BtnAirSwitch.Size = New System.Drawing.Size(60, 45) + Me.BtnAirSwitch.TabIndex = 13 + Me.BtnAirSwitch.Text = "开" + Me.BtnAirSwitch.UseVisualStyleBackColor = True + ' + 'PrgAirBurn + ' + Me.PrgAirBurn.Location = New System.Drawing.Point(89, 409) + Me.PrgAirBurn.Name = "PrgAirBurn" + Me.PrgAirBurn.Size = New System.Drawing.Size(347, 29) + Me.PrgAirBurn.TabIndex = 20 + ' + 'TBoAirImport + ' + Me.TBoAirImport.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TBoAirImport.Location = New System.Drawing.Point(89, 373) + Me.TBoAirImport.Name = "TBoAirImport" + Me.TBoAirImport.Size = New System.Drawing.Size(347, 30) + Me.TBoAirImport.TabIndex = 19 + ' + 'BtnAirImport + ' + Me.BtnAirImport.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirImport.Location = New System.Drawing.Point(18, 371) + Me.BtnAirImport.Name = "BtnAirImport" + Me.BtnAirImport.Size = New System.Drawing.Size(65, 30) + Me.BtnAirImport.TabIndex = 18 + Me.BtnAirImport.Text = "导入" + Me.BtnAirImport.UseVisualStyleBackColor = True + ' + 'BtnAirBurn + ' + Me.BtnAirBurn.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirBurn.Location = New System.Drawing.Point(18, 409) + Me.BtnAirBurn.Name = "BtnAirBurn" + Me.BtnAirBurn.Size = New System.Drawing.Size(65, 30) + Me.BtnAirBurn.TabIndex = 17 + Me.BtnAirBurn.Text = "开始烧录" + Me.BtnAirBurn.UseVisualStyleBackColor = True + ' + 'BtnAirDownload + ' + Me.BtnAirDownload.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnAirDownload.Location = New System.Drawing.Point(366, 37) + Me.BtnAirDownload.Name = "BtnAirDownload" + Me.BtnAirDownload.Size = New System.Drawing.Size(70, 35) + Me.BtnAirDownload.TabIndex = 16 + Me.BtnAirDownload.Text = "下载" + Me.BtnAirDownload.UseVisualStyleBackColor = True + ' + 'CBoAirType + ' + Me.CBoAirType.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoAirType.FormattingEnabled = True + Me.CBoAirType.Location = New System.Drawing.Point(265, 9) + Me.CBoAirType.Name = "CBoAirType" + Me.CBoAirType.Size = New System.Drawing.Size(171, 24) + Me.CBoAirType.TabIndex = 3 + ' + 'CBoAirBrand + ' + Me.CBoAirBrand.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoAirBrand.FormattingEnabled = True + Me.CBoAirBrand.Location = New System.Drawing.Point(84, 9) + Me.CBoAirBrand.Name = "CBoAirBrand" + Me.CBoAirBrand.Size = New System.Drawing.Size(98, 24) + Me.CBoAirBrand.TabIndex = 2 + ' + 'Label75 + ' + Me.Label75.AutoSize = True + Me.Label75.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label75.Location = New System.Drawing.Point(183, 12) + Me.Label75.Name = "Label75" + Me.Label75.Size = New System.Drawing.Size(72, 16) + Me.Label75.TabIndex = 1 + Me.Label75.Text = "空调型号" + ' + 'Label74 + ' + Me.Label74.AutoSize = True + Me.Label74.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label74.Location = New System.Drawing.Point(13, 12) + Me.Label74.Name = "Label74" + Me.Label74.Size = New System.Drawing.Size(72, 16) + Me.Label74.TabIndex = 0 + Me.Label74.Text = "空调品牌" + ' + 'PageTV + ' + Me.PageTV.BackColor = System.Drawing.Color.Silver + Me.PageTV.Controls.Add(Me.Label5) + Me.PageTV.Controls.Add(Me.Label4) + Me.PageTV.Controls.Add(Me.TextBox3) + Me.PageTV.Controls.Add(Me.Label2) + Me.PageTV.Controls.Add(Me.BtnTVFirmwareSearch) + Me.PageTV.Controls.Add(Me.CBoTVVersion) + Me.PageTV.Controls.Add(Me.Label86) + Me.PageTV.Controls.Add(Me.BtnTvDownload) + Me.PageTV.Controls.Add(Me.CBoTVModel) + Me.PageTV.Controls.Add(Me.CBoTVBrand) + Me.PageTV.Controls.Add(Me.Label88) + Me.PageTV.Controls.Add(Me.Label89) + Me.PageTV.Controls.Add(Me.BtnTVAKeyToRead) + Me.PageTV.Controls.Add(Me.BtnTVSearch) + Me.PageTV.Controls.Add(Me.NudTVAddress) + Me.PageTV.Controls.Add(Me.TextBox1) + Me.PageTV.Controls.Add(Me.BtnTVImport) + Me.PageTV.Controls.Add(Me.Label87) + Me.PageTV.Controls.Add(Me.Panel3) + Me.PageTV.Controls.Add(Me.BtnTVBurn) + Me.PageTV.Controls.Add(Me.ProgressBar1) + Me.PageTV.Font = New System.Drawing.Font("宋体", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.PageTV.Location = New System.Drawing.Point(4, 30) + Me.PageTV.Name = "PageTV" + Me.PageTV.Padding = New System.Windows.Forms.Padding(3) + Me.PageTV.Size = New System.Drawing.Size(500, 448) + Me.PageTV.TabIndex = 1 + Me.PageTV.Text = "电视" + ' + 'Label5 + ' + Me.Label5.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label5.Location = New System.Drawing.Point(268, 41) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(49, 16) + Me.Label5.TabIndex = 52 + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label4.Location = New System.Drawing.Point(186, 41) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(80, 16) + Me.Label4.TabIndex = 51 + Me.Label4.Text = "固件版本:" + ' + 'TextBox3 + ' + Me.TextBox3.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TextBox3.Location = New System.Drawing.Point(75, 68) + Me.TextBox3.Multiline = True + Me.TextBox3.Name = "TextBox3" + Me.TextBox3.ReadOnly = True + Me.TextBox3.Size = New System.Drawing.Size(361, 47) + Me.TextBox3.TabIndex = 50 + ' + 'Label2 + ' + Me.Label2.AutoSize = True + Me.Label2.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label2.Location = New System.Drawing.Point(13, 68) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(56, 16) + Me.Label2.TabIndex = 49 + Me.Label2.Text = "备注:" + ' + 'BtnTVFirmwareSearch + ' + Me.BtnTVFirmwareSearch.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVFirmwareSearch.Location = New System.Drawing.Point(288, 341) + Me.BtnTVFirmwareSearch.Name = "BtnTVFirmwareSearch" + Me.BtnTVFirmwareSearch.Size = New System.Drawing.Size(62, 29) + Me.BtnTVFirmwareSearch.TabIndex = 48 + Me.BtnTVFirmwareSearch.Text = "固件搜索" + Me.BtnTVFirmwareSearch.UseVisualStyleBackColor = True + ' + 'CBoTVVersion + ' + Me.CBoTVVersion.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoTVVersion.FormattingEnabled = True + Me.CBoTVVersion.Location = New System.Drawing.Point(84, 38) + Me.CBoTVVersion.Name = "CBoTVVersion" + Me.CBoTVVersion.Size = New System.Drawing.Size(98, 24) + Me.CBoTVVersion.TabIndex = 47 + ' + 'Label86 + ' + Me.Label86.AutoSize = True + Me.Label86.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label86.Location = New System.Drawing.Point(13, 41) + Me.Label86.Name = "Label86" + Me.Label86.Size = New System.Drawing.Size(72, 16) + Me.Label86.TabIndex = 46 + Me.Label86.Text = "文件版本" + ' + 'BtnTvDownload + ' + Me.BtnTvDownload.Location = New System.Drawing.Point(365, 31) + Me.BtnTvDownload.Name = "BtnTvDownload" + Me.BtnTvDownload.Size = New System.Drawing.Size(71, 35) + Me.BtnTvDownload.TabIndex = 45 + Me.BtnTvDownload.Text = "下载" + Me.BtnTvDownload.UseVisualStyleBackColor = True + ' + 'CBoTVModel + ' + Me.CBoTVModel.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoTVModel.FormattingEnabled = True + Me.CBoTVModel.Location = New System.Drawing.Point(268, 8) + Me.CBoTVModel.Name = "CBoTVModel" + Me.CBoTVModel.Size = New System.Drawing.Size(168, 24) + Me.CBoTVModel.TabIndex = 44 + ' + 'CBoTVBrand + ' + Me.CBoTVBrand.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoTVBrand.FormattingEnabled = True + Me.CBoTVBrand.Location = New System.Drawing.Point(84, 8) + Me.CBoTVBrand.Name = "CBoTVBrand" + Me.CBoTVBrand.Size = New System.Drawing.Size(98, 24) + Me.CBoTVBrand.TabIndex = 43 + ' + 'Label88 + ' + Me.Label88.AutoSize = True + Me.Label88.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label88.Location = New System.Drawing.Point(186, 11) + Me.Label88.Name = "Label88" + Me.Label88.Size = New System.Drawing.Size(72, 16) + Me.Label88.TabIndex = 42 + Me.Label88.Text = "电视型号" + ' + 'Label89 + ' + Me.Label89.AutoSize = True + Me.Label89.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label89.Location = New System.Drawing.Point(13, 11) + Me.Label89.Name = "Label89" + Me.Label89.Size = New System.Drawing.Size(72, 16) + Me.Label89.TabIndex = 41 + Me.Label89.Text = "电视品牌" + ' + 'BtnTVAKeyToRead + ' + Me.BtnTVAKeyToRead.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVAKeyToRead.Location = New System.Drawing.Point(211, 341) + Me.BtnTVAKeyToRead.Name = "BtnTVAKeyToRead" + Me.BtnTVAKeyToRead.Size = New System.Drawing.Size(62, 29) + Me.BtnTVAKeyToRead.TabIndex = 40 + Me.BtnTVAKeyToRead.Text = "导出" + Me.BtnTVAKeyToRead.UseVisualStyleBackColor = True + ' + 'BtnTVSearch + ' + Me.BtnTVSearch.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVSearch.Location = New System.Drawing.Point(365, 341) + Me.BtnTVSearch.Name = "BtnTVSearch" + Me.BtnTVSearch.Size = New System.Drawing.Size(62, 30) + Me.BtnTVSearch.TabIndex = 39 + Me.BtnTVSearch.Text = "软件版本" + Me.BtnTVSearch.UseVisualStyleBackColor = True + ' + 'NudTVAddress + ' + Me.NudTVAddress.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudTVAddress.Location = New System.Drawing.Point(95, 341) + Me.NudTVAddress.Maximum = New Decimal(New Integer() {2, 0, 0, 0}) + Me.NudTVAddress.Name = "NudTVAddress" + Me.NudTVAddress.Size = New System.Drawing.Size(52, 26) + Me.NudTVAddress.TabIndex = 38 + ' + 'TextBox1 + ' + Me.TextBox1.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TextBox1.Location = New System.Drawing.Point(84, 375) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(352, 30) + Me.TextBox1.TabIndex = 34 + ' + 'BtnTVImport + ' + Me.BtnTVImport.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVImport.Location = New System.Drawing.Point(9, 375) + Me.BtnTVImport.Name = "BtnTVImport" + Me.BtnTVImport.Size = New System.Drawing.Size(65, 29) + Me.BtnTVImport.TabIndex = 33 + Me.BtnTVImport.Text = "导入" + Me.BtnTVImport.UseVisualStyleBackColor = True + ' + 'Label87 + ' + Me.Label87.AutoSize = True + Me.Label87.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label87.Location = New System.Drawing.Point(16, 344) + Me.Label87.Name = "Label87" + Me.Label87.Size = New System.Drawing.Size(77, 20) + Me.Label87.TabIndex = 37 + Me.Label87.Text = "设备地址:" + ' + 'Panel3 + ' + Me.Panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel3.Controls.Add(Me.BtnTVChannelMinus) + Me.Panel3.Controls.Add(Me.BtnTVChannelAdd) + Me.Panel3.Controls.Add(Me.BtnTVGetBack) + Me.Panel3.Controls.Add(Me.BtnTVSource) + Me.Panel3.Controls.Add(Me.BtnTVVolumeMinus) + Me.Panel3.Controls.Add(Me.BtnTVGetOn) + Me.Panel3.Controls.Add(Me.BtnTVMute) + Me.Panel3.Controls.Add(Me.BtnTVOK) + Me.Panel3.Controls.Add(Me.BtnTVSwitch) + Me.Panel3.Controls.Add(Me.BtnTVBelow) + Me.Panel3.Controls.Add(Me.BtnTVHomePage) + Me.Panel3.Controls.Add(Me.BtnTVLeft) + Me.Panel3.Controls.Add(Me.BtnTVMenu) + Me.Panel3.Controls.Add(Me.BtnTVRight) + Me.Panel3.Controls.Add(Me.BtnTVVolumeAdd) + Me.Panel3.Location = New System.Drawing.Point(20, 118) + Me.Panel3.Name = "Panel3" + Me.Panel3.Size = New System.Drawing.Size(416, 215) + Me.Panel3.TabIndex = 36 + ' + 'BtnTVChannelMinus + ' + Me.BtnTVChannelMinus.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVChannelMinus.ForeColor = System.Drawing.Color.Black + Me.BtnTVChannelMinus.Location = New System.Drawing.Point(208, 182) + Me.BtnTVChannelMinus.Name = "BtnTVChannelMinus" + Me.BtnTVChannelMinus.Size = New System.Drawing.Size(64, 29) + Me.BtnTVChannelMinus.TabIndex = 25 + Me.BtnTVChannelMinus.Text = "频道减" + Me.BtnTVChannelMinus.UseVisualStyleBackColor = True + ' + 'BtnTVChannelAdd + ' + Me.BtnTVChannelAdd.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVChannelAdd.ForeColor = System.Drawing.Color.Black + Me.BtnTVChannelAdd.Location = New System.Drawing.Point(208, 147) + Me.BtnTVChannelAdd.Name = "BtnTVChannelAdd" + Me.BtnTVChannelAdd.Size = New System.Drawing.Size(64, 29) + Me.BtnTVChannelAdd.TabIndex = 24 + Me.BtnTVChannelAdd.Text = "频道加" + Me.BtnTVChannelAdd.UseVisualStyleBackColor = True + ' + 'BtnTVGetBack + ' + Me.BtnTVGetBack.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVGetBack.ForeColor = System.Drawing.Color.Black + Me.BtnTVGetBack.Location = New System.Drawing.Point(293, 182) + Me.BtnTVGetBack.Name = "BtnTVGetBack" + Me.BtnTVGetBack.Size = New System.Drawing.Size(63, 29) + Me.BtnTVGetBack.TabIndex = 23 + Me.BtnTVGetBack.Text = "返回" + Me.BtnTVGetBack.UseVisualStyleBackColor = True + ' + 'BtnTVSource + ' + Me.BtnTVSource.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVSource.ForeColor = System.Drawing.Color.Black + Me.BtnTVSource.Location = New System.Drawing.Point(39, 182) + Me.BtnTVSource.Name = "BtnTVSource" + Me.BtnTVSource.Size = New System.Drawing.Size(63, 29) + Me.BtnTVSource.TabIndex = 22 + Me.BtnTVSource.Text = "信源" + Me.BtnTVSource.UseVisualStyleBackColor = True + ' + 'BtnTVVolumeMinus + ' + Me.BtnTVVolumeMinus.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVVolumeMinus.ForeColor = System.Drawing.Color.Black + Me.BtnTVVolumeMinus.Location = New System.Drawing.Point(123, 182) + Me.BtnTVVolumeMinus.Name = "BtnTVVolumeMinus" + Me.BtnTVVolumeMinus.Size = New System.Drawing.Size(64, 29) + Me.BtnTVVolumeMinus.TabIndex = 21 + Me.BtnTVVolumeMinus.Text = "音量减" + Me.BtnTVVolumeMinus.UseVisualStyleBackColor = True + ' + 'BtnTVGetOn + ' + Me.BtnTVGetOn.Font = New System.Drawing.Font("宋体", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVGetOn.ForeColor = System.Drawing.Color.Black + Me.BtnTVGetOn.Location = New System.Drawing.Point(173, 10) + Me.BtnTVGetOn.Name = "BtnTVGetOn" + Me.BtnTVGetOn.Size = New System.Drawing.Size(48, 40) + Me.BtnTVGetOn.TabIndex = 20 + Me.BtnTVGetOn.Text = "上" + Me.BtnTVGetOn.UseVisualStyleBackColor = True + ' + 'BtnTVMute + ' + Me.BtnTVMute.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVMute.ForeColor = System.Drawing.Color.Red + Me.BtnTVMute.Location = New System.Drawing.Point(41, 1) + Me.BtnTVMute.Name = "BtnTVMute" + Me.BtnTVMute.Size = New System.Drawing.Size(40, 40) + Me.BtnTVMute.TabIndex = 16 + Me.BtnTVMute.Text = "静音" + Me.BtnTVMute.UseVisualStyleBackColor = True + ' + 'BtnTVOK + ' + Me.BtnTVOK.Font = New System.Drawing.Font("宋体", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVOK.ForeColor = System.Drawing.Color.Black + Me.BtnTVOK.Location = New System.Drawing.Point(173, 54) + Me.BtnTVOK.Name = "BtnTVOK" + Me.BtnTVOK.Size = New System.Drawing.Size(48, 43) + Me.BtnTVOK.TabIndex = 19 + Me.BtnTVOK.Text = "OK" + Me.BtnTVOK.UseVisualStyleBackColor = True + ' + 'BtnTVSwitch + ' + Me.BtnTVSwitch.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVSwitch.ForeColor = System.Drawing.Color.Green + Me.BtnTVSwitch.Location = New System.Drawing.Point(317, 1) + Me.BtnTVSwitch.Name = "BtnTVSwitch" + Me.BtnTVSwitch.Size = New System.Drawing.Size(40, 40) + Me.BtnTVSwitch.TabIndex = 17 + Me.BtnTVSwitch.Text = "开" + Me.BtnTVSwitch.UseVisualStyleBackColor = True + ' + 'BtnTVBelow + ' + Me.BtnTVBelow.Font = New System.Drawing.Font("宋体", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVBelow.ForeColor = System.Drawing.Color.Black + Me.BtnTVBelow.Location = New System.Drawing.Point(173, 103) + Me.BtnTVBelow.Name = "BtnTVBelow" + Me.BtnTVBelow.Size = New System.Drawing.Size(48, 40) + Me.BtnTVBelow.TabIndex = 18 + Me.BtnTVBelow.Text = "下" + Me.BtnTVBelow.UseVisualStyleBackColor = True + ' + 'BtnTVHomePage + ' + Me.BtnTVHomePage.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVHomePage.ForeColor = System.Drawing.Color.Black + Me.BtnTVHomePage.Location = New System.Drawing.Point(39, 147) + Me.BtnTVHomePage.Name = "BtnTVHomePage" + Me.BtnTVHomePage.Size = New System.Drawing.Size(63, 29) + Me.BtnTVHomePage.TabIndex = 15 + Me.BtnTVHomePage.Text = "首页" + Me.BtnTVHomePage.UseVisualStyleBackColor = True + ' + 'BtnTVLeft + ' + Me.BtnTVLeft.Font = New System.Drawing.Font("宋体", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVLeft.ForeColor = System.Drawing.Color.Black + Me.BtnTVLeft.Location = New System.Drawing.Point(115, 57) + Me.BtnTVLeft.Name = "BtnTVLeft" + Me.BtnTVLeft.Size = New System.Drawing.Size(48, 40) + Me.BtnTVLeft.TabIndex = 11 + Me.BtnTVLeft.Text = "左" + Me.BtnTVLeft.UseVisualStyleBackColor = True + ' + 'BtnTVMenu + ' + Me.BtnTVMenu.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVMenu.ForeColor = System.Drawing.Color.Black + Me.BtnTVMenu.Location = New System.Drawing.Point(293, 147) + Me.BtnTVMenu.Name = "BtnTVMenu" + Me.BtnTVMenu.Size = New System.Drawing.Size(63, 29) + Me.BtnTVMenu.TabIndex = 14 + Me.BtnTVMenu.Text = "菜单" + Me.BtnTVMenu.UseVisualStyleBackColor = True + ' + 'BtnTVRight + ' + Me.BtnTVRight.Font = New System.Drawing.Font("宋体", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVRight.ForeColor = System.Drawing.Color.Black + Me.BtnTVRight.Location = New System.Drawing.Point(230, 57) + Me.BtnTVRight.Name = "BtnTVRight" + Me.BtnTVRight.Size = New System.Drawing.Size(48, 40) + Me.BtnTVRight.TabIndex = 12 + Me.BtnTVRight.Text = "右" + Me.BtnTVRight.UseVisualStyleBackColor = True + ' + 'BtnTVVolumeAdd + ' + Me.BtnTVVolumeAdd.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVVolumeAdd.ForeColor = System.Drawing.Color.Black + Me.BtnTVVolumeAdd.Location = New System.Drawing.Point(123, 147) + Me.BtnTVVolumeAdd.Name = "BtnTVVolumeAdd" + Me.BtnTVVolumeAdd.Size = New System.Drawing.Size(64, 29) + Me.BtnTVVolumeAdd.TabIndex = 13 + Me.BtnTVVolumeAdd.Text = "音量加" + Me.BtnTVVolumeAdd.UseVisualStyleBackColor = True + ' + 'BtnTVBurn + ' + Me.BtnTVBurn.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnTVBurn.Location = New System.Drawing.Point(9, 410) + Me.BtnTVBurn.Name = "BtnTVBurn" + Me.BtnTVBurn.Size = New System.Drawing.Size(65, 29) + Me.BtnTVBurn.TabIndex = 32 + Me.BtnTVBurn.Text = "开始烧录" + Me.BtnTVBurn.UseVisualStyleBackColor = True + ' + 'ProgressBar1 + ' + Me.ProgressBar1.Location = New System.Drawing.Point(84, 410) + Me.ProgressBar1.Name = "ProgressBar1" + Me.ProgressBar1.Size = New System.Drawing.Size(352, 29) + Me.ProgressBar1.TabIndex = 35 + ' + 'TabPage2 + ' + Me.TabPage2.Controls.Add(Me.TextBox4) + Me.TabPage2.Controls.Add(Me.Label3) + Me.TabPage2.Controls.Add(Me.TboxBrand) + Me.TabPage2.Controls.Add(Me.TboxType) + Me.TabPage2.Controls.Add(Me.BtnRefresh) + Me.TabPage2.Controls.Add(Me.GrdSqlData) + Me.TabPage2.Controls.Add(Me.BtnSelectFile) + Me.TabPage2.Controls.Add(Me.TboxModel) + Me.TabPage2.Controls.Add(Me.TboPacketName) + Me.TabPage2.Controls.Add(Me.TboxVersion) + Me.TabPage2.Controls.Add(Me.TboRemark) + Me.TabPage2.Controls.Add(Me.BtnEntry) + Me.TabPage2.Controls.Add(Me.Label77) + Me.TabPage2.Controls.Add(Me.Label78) + Me.TabPage2.Controls.Add(Me.Label79) + Me.TabPage2.Controls.Add(Me.Label83) + Me.TabPage2.Controls.Add(Me.Label84) + Me.TabPage2.Location = New System.Drawing.Point(4, 30) + Me.TabPage2.Name = "TabPage2" + Me.TabPage2.Size = New System.Drawing.Size(500, 448) + Me.TabPage2.TabIndex = 2 + Me.TabPage2.Text = "数据入库" + Me.TabPage2.UseVisualStyleBackColor = True + ' + 'TextBox4 + ' + Me.TextBox4.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TextBox4.Location = New System.Drawing.Point(130, 157) + Me.TextBox4.Name = "TextBox4" + Me.TextBox4.Size = New System.Drawing.Size(99, 23) + Me.TextBox4.TabIndex = 44 + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label3.Location = New System.Drawing.Point(13, 161) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(119, 14) + Me.Label3.TabIndex = 43 + Me.Label3.Text = "固件版本(最低10)" + ' + 'TboxBrand + ' + Me.TboxBrand.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboxBrand.Location = New System.Drawing.Point(262, 58) + Me.TboxBrand.Name = "TboxBrand" + Me.TboxBrand.Size = New System.Drawing.Size(99, 23) + Me.TboxBrand.TabIndex = 42 + ' + 'TboxType + ' + Me.TboxType.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboxType.Location = New System.Drawing.Point(77, 58) + Me.TboxType.Name = "TboxType" + Me.TboxType.Size = New System.Drawing.Size(99, 23) + Me.TboxType.TabIndex = 41 + ' + 'BtnRefresh + ' + Me.BtnRefresh.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnRefresh.Location = New System.Drawing.Point(235, 154) + Me.BtnRefresh.Name = "BtnRefresh" + Me.BtnRefresh.Size = New System.Drawing.Size(60, 29) + Me.BtnRefresh.TabIndex = 40 + Me.BtnRefresh.Text = "刷新列表" + Me.BtnRefresh.UseVisualStyleBackColor = True + ' + 'GrdSqlData + ' + Me.GrdSqlData.CheckedImage = Nothing + Me.GrdSqlData.Cols = 7 + Me.GrdSqlData.ContextMenuStrip = Me.CmsDataTable + Me.GrdSqlData.DefaultFont = New System.Drawing.Font("宋体", 9.0!) + Me.GrdSqlData.Dock = System.Windows.Forms.DockStyle.Bottom + Me.GrdSqlData.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrdSqlData.GridColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer)) + Me.GrdSqlData.Location = New System.Drawing.Point(0, 213) + Me.GrdSqlData.Name = "GrdSqlData" + Me.GrdSqlData.Size = New System.Drawing.Size(500, 235) + Me.GrdSqlData.TabIndex = 39 + Me.GrdSqlData.UncheckedImage = Nothing + ' + 'CmsDataTable + ' + Me.CmsDataTable.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.刷新列表ToolStripMenuItem, Me.删除记录ToolStripMenuItem}) + Me.CmsDataTable.Name = "CmsDataTable" + Me.CmsDataTable.Size = New System.Drawing.Size(125, 48) + ' + '刷新列表ToolStripMenuItem + ' + Me.刷新列表ToolStripMenuItem.Name = "刷新列表ToolStripMenuItem" + Me.刷新列表ToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.刷新列表ToolStripMenuItem.Text = "刷新列表" + ' + '删除记录ToolStripMenuItem + ' + Me.删除记录ToolStripMenuItem.Name = "删除记录ToolStripMenuItem" + Me.删除记录ToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.删除记录ToolStripMenuItem.Text = "删除记录" + ' + 'BtnSelectFile + ' + Me.BtnSelectFile.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnSelectFile.Location = New System.Drawing.Point(18, 14) + Me.BtnSelectFile.Name = "BtnSelectFile" + Me.BtnSelectFile.Size = New System.Drawing.Size(60, 29) + Me.BtnSelectFile.TabIndex = 38 + Me.BtnSelectFile.Text = "选择文件" + Me.BtnSelectFile.UseVisualStyleBackColor = True + ' + 'TboxModel + ' + Me.TboxModel.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboxModel.Location = New System.Drawing.Point(262, 87) + Me.TboxModel.Name = "TboxModel" + Me.TboxModel.Size = New System.Drawing.Size(99, 23) + Me.TboxModel.TabIndex = 36 + ' + 'TboPacketName + ' + Me.TboPacketName.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboPacketName.Location = New System.Drawing.Point(84, 14) + Me.TboPacketName.Multiline = True + Me.TboPacketName.Name = "TboPacketName" + Me.TboPacketName.Size = New System.Drawing.Size(277, 29) + Me.TboPacketName.TabIndex = 35 + ' + 'TboxVersion + ' + Me.TboxVersion.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboxVersion.Location = New System.Drawing.Point(77, 87) + Me.TboxVersion.Name = "TboxVersion" + Me.TboxVersion.Size = New System.Drawing.Size(99, 23) + Me.TboxVersion.TabIndex = 34 + ' + 'TboRemark + ' + Me.TboRemark.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TboRemark.Location = New System.Drawing.Point(77, 120) + Me.TboRemark.Multiline = True + Me.TboRemark.Name = "TboRemark" + Me.TboRemark.Size = New System.Drawing.Size(284, 28) + Me.TboRemark.TabIndex = 33 + ' + 'BtnEntry + ' + Me.BtnEntry.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnEntry.Location = New System.Drawing.Point(301, 154) + Me.BtnEntry.Name = "BtnEntry" + Me.BtnEntry.Size = New System.Drawing.Size(60, 29) + Me.BtnEntry.TabIndex = 32 + Me.BtnEntry.Text = "录入" + Me.BtnEntry.UseVisualStyleBackColor = True + ' + 'Label77 + ' + Me.Label77.AutoSize = True + Me.Label77.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label77.Location = New System.Drawing.Point(15, 123) + Me.Label77.Name = "Label77" + Me.Label77.Size = New System.Drawing.Size(63, 14) + Me.Label77.TabIndex = 31 + Me.Label77.Text = "录入备注" + ' + 'Label78 + ' + Me.Label78.AutoSize = True + Me.Label78.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label78.Location = New System.Drawing.Point(15, 90) + Me.Label78.Name = "Label78" + Me.Label78.Size = New System.Drawing.Size(63, 14) + Me.Label78.TabIndex = 30 + Me.Label78.Text = "录入版本" + ' + 'Label79 + ' + Me.Label79.AutoSize = True + Me.Label79.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label79.Location = New System.Drawing.Point(200, 61) + Me.Label79.Name = "Label79" + Me.Label79.Size = New System.Drawing.Size(63, 14) + Me.Label79.TabIndex = 28 + Me.Label79.Text = "录入品牌" + ' + 'Label83 + ' + Me.Label83.AutoSize = True + Me.Label83.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label83.Location = New System.Drawing.Point(200, 90) + Me.Label83.Name = "Label83" + Me.Label83.Size = New System.Drawing.Size(63, 14) + Me.Label83.TabIndex = 27 + Me.Label83.Text = "录入型号" + ' + 'Label84 + ' + Me.Label84.AutoSize = True + Me.Label84.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label84.Location = New System.Drawing.Point(13, 61) + Me.Label84.Name = "Label84" + Me.Label84.Size = New System.Drawing.Size(63, 14) + Me.Label84.TabIndex = 25 + Me.Label84.Text = "录入类型" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'FrmInfraredFunction + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(452, 482) + Me.Controls.Add(Me.TabControl3) + Me.Name = "FrmInfraredFunction" + Me.Text = "红外功能模块" + Me.TabControl3.ResumeLayout(false) + Me.PageAirConditioner.ResumeLayout(false) + Me.PageAirConditioner.PerformLayout + CType(Me.NudAirAddress,System.ComponentModel.ISupportInitialize).EndInit + Me.Panel2.ResumeLayout(false) + Me.Panel2.PerformLayout + Me.PageTV.ResumeLayout(false) + Me.PageTV.PerformLayout + CType(Me.NudTVAddress,System.ComponentModel.ISupportInitialize).EndInit + Me.Panel3.ResumeLayout(false) + Me.TabPage2.ResumeLayout(false) + Me.TabPage2.PerformLayout + Me.CmsDataTable.ResumeLayout(false) + Me.ResumeLayout(false) + +End Sub + + Friend WithEvents TabControl3 As TabControl + Friend WithEvents PageAirConditioner As TabPage + Friend WithEvents BtnAirFirmwareSearch As Button + Friend WithEvents CboVersion As ComboBox + Friend WithEvents Label85 As Label + Friend WithEvents BtnAKeyToRead As Button + Friend WithEvents BtnInfraredSearch As Button + Friend WithEvents NudAirAddress As NumericUpDown + Friend WithEvents Label76 As Label + Friend WithEvents Panel2 As Panel + Friend WithEvents LblDegreeValue As Label + Friend WithEvents LblDegree As Label + Friend WithEvents LblAirHigh As Label + Friend WithEvents LblAirCentre As Label + Friend WithEvents LblAirLow As Label + Friend WithEvents LblAirCold As Label + Friend WithEvents LblAirHot As Label + Friend WithEvents LblAirSupply As Label + Friend WithEvents BtnAirModel As Button + Friend WithEvents BtnAirAdd As Button + Friend WithEvents BtnAirVelocity As Button + Friend WithEvents BtnAirMinus As Button + Friend WithEvents BtnAirSwitch As Button + Friend WithEvents PrgAirBurn As ProgressBar + Friend WithEvents TBoAirImport As TextBox + Friend WithEvents BtnAirImport As Button + Friend WithEvents BtnAirBurn As Button + Friend WithEvents BtnAirDownload As Button + Friend WithEvents CBoAirType As ComboBox + Friend WithEvents CBoAirBrand As ComboBox + Friend WithEvents Label75 As Label + Friend WithEvents Label74 As Label + Friend WithEvents PageTV As TabPage + Friend WithEvents BtnTVFirmwareSearch As Button + Friend WithEvents CBoTVVersion As ComboBox + Friend WithEvents Label86 As Label + Friend WithEvents BtnTvDownload As Button + Friend WithEvents CBoTVModel As ComboBox + Friend WithEvents CBoTVBrand As ComboBox + Friend WithEvents Label88 As Label + Friend WithEvents Label89 As Label + Friend WithEvents BtnTVAKeyToRead As Button + Friend WithEvents BtnTVSearch As Button + Friend WithEvents NudTVAddress As NumericUpDown + Friend WithEvents TextBox1 As TextBox + Friend WithEvents BtnTVImport As Button + Friend WithEvents Label87 As Label + Friend WithEvents Panel3 As Panel + Friend WithEvents BtnTVChannelMinus As Button + Friend WithEvents BtnTVChannelAdd As Button + Friend WithEvents BtnTVGetBack As Button + Friend WithEvents BtnTVSource As Button + Friend WithEvents BtnTVVolumeMinus As Button + Friend WithEvents BtnTVGetOn As Button + Friend WithEvents BtnTVMute As Button + Friend WithEvents BtnTVOK As Button + Friend WithEvents BtnTVSwitch As Button + Friend WithEvents BtnTVBelow As Button + Friend WithEvents BtnTVHomePage As Button + Friend WithEvents BtnTVLeft As Button + Friend WithEvents BtnTVMenu As Button + Friend WithEvents BtnTVRight As Button + Friend WithEvents BtnTVVolumeAdd As Button + Friend WithEvents BtnTVBurn As Button + Friend WithEvents ProgressBar1 As ProgressBar + Friend WithEvents TabPage2 As TabPage + Friend WithEvents TboxBrand As TextBox + Friend WithEvents TboxType As TextBox + Friend WithEvents BtnRefresh As Button + Friend WithEvents GrdSqlData As FlexCell.Grid + Friend WithEvents BtnSelectFile As Button + Friend WithEvents TboxModel As TextBox + Friend WithEvents TboPacketName As TextBox + Friend WithEvents TboxVersion As TextBox + Friend WithEvents TboRemark As TextBox + Friend WithEvents BtnEntry As Button + Friend WithEvents Label77 As Label + Friend WithEvents Label78 As Label + Friend WithEvents Label79 As Label + Friend WithEvents Label83 As Label + Friend WithEvents Label84 As Label + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents CmsDataTable As ContextMenuStrip + Friend WithEvents 刷新列表ToolStripMenuItem As ToolStripMenuItem + Friend WithEvents 删除记录ToolStripMenuItem As ToolStripMenuItem + Friend WithEvents TextBox2 As TextBox + Friend WithEvents Label1 As Label + Friend WithEvents LblAuto As Label + Friend WithEvents TextBox3 As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents TextBox4 As TextBox + Friend WithEvents Label3 As Label + Friend WithEvents Label5 As Label + Friend WithEvents Label4 As Label + Friend WithEvents Label6 As Label + Friend WithEvents Label7 As Label +End Class diff --git a/RCU-10/RCU/FrmInfraredFunction.resx b/RCU-10/RCU/FrmInfraredFunction.resx new file mode 100644 index 0000000..f4c72a8 --- /dev/null +++ b/RCU-10/RCU/FrmInfraredFunction.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 167, 17 + + + 17, 17 + + + 25 + + \ No newline at end of file diff --git a/RCU-10/RCU/FrmInfraredFunction.vb b/RCU-10/RCU/FrmInfraredFunction.vb new file mode 100644 index 0000000..a908818 --- /dev/null +++ b/RCU-10/RCU/FrmInfraredFunction.vb @@ -0,0 +1,2805 @@ +Imports System.IO +Imports System.Threading + +Public Class FrmInfraredFunction + Implements IModuleForm + +#Region "窗体" + + ''' + ''' 窗体加载函数 + ''' + ''' + ''' + Private Sub FrmInfraredFunction_Load(sender As Object, e As EventArgs) Handles Me.Load + TabPage2.Parent = Nothing + TextBox2.Visible = False + TextBox3.Visible = False + Label2.Visible = False + Label1.Visible = False + '红外 + InfraredAirFormInit() + InitSQLDataTable() + + 'TabPage2.Parent = TabControl3 + +#If IsAdmin = False Then + TabPage2.Parent = Nothing +#End If + + End Sub + + + ''' + ''' 显示窗体接口 + ''' + ''' + Public Fw_Ver As Integer + Public IsFVer As Boolean + + + + + Private Function AnalyInfraredProcessingData(databuff() As Byte) As Boolean + ''红外 + If databuff(0) = &H55 Then + If databuff(1) = &H55 Then + If databuff(2) = &HEE Then + Select Case databuff(5) + 'Case &H1 '空调控制 + ' DealAirControlDatabuff(databuff) + 'Case &H2 '电视控制 + ' DealTvControlDataBuff(databuff) + Case &HA3 '搜索版本 + DealInfraredSearchDatabuff(databuff) + 'Case &HA6 '下发前询问 + ' DealInfraredPrepareDatabuff(databuff) + 'Case &HA7 '开始下发 + ' _isInfraredreply = True + ' DealInfraredBurnDatabuff(databuff) + Case Else + Return False + End Select + End If + End If + End If + Return True + End Function + + Private Function DealInfraredSearchDatabuff(databuff() As Byte) As Boolean + + If IsFVer Then + Fw_Ver = databuff(8) + IsFVer = False + End If + + Return True + End Function + Public Sub ShowForm(parentControl As Control) Implements IModuleForm.ShowForm + FormBorderStyle = FormBorderStyle.None + TopLevel = False + Dock = DockStyle.Fill + Parent = parentControl + Show() + End Sub + + + ''' + ''' 发送函数 + ''' + ''' + Public Sub SendData(sendPacket() As Byte) + If InvokeRequired Then + Invoke(New Action(Sub() + FrmRCU.SendData(sendPacket) + End Sub)) + Else + FrmRCU.SendData(sendPacket) + End If + + 'FrmRCU.SendData(sendPacket) '方法1 + + End Sub + + + + + +#End Region + +#Region "红外功能配置" + +#Region "红外全局变量" + + + ''' + ''' 空调开关 + ''' + Private _isAirSwitch As Boolean + + + ''' + ''' 是否空调下载 + ''' + Private _isDownload As Boolean + + + ''' + ''' 是否下载红外文件 + ''' + Private _isDownInfraredFile As Boolean + + + ''' + ''' 红外文件下载线程 + ''' + Private _upDownInfraredFileThread As Thread + + + ''' + ''' 红外电视下载线程 + ''' + Private _upDownInfraredTvThread As Thread + + + ''' + ''' 控件变化 + ''' + Private _change As Boolean + + + ''' + ''' 电视开关 + ''' + Private _isTvSwitch As Boolean + + + ''' + ''' 是否电视下载 + ''' + Private _isTvDownload As Boolean + + + ''' + ''' 回复超时 + ''' + Private ReadOnly _relayTimeout As Integer = 5000 + + +#End Region + +#Region "红外空调下发" + + + ''' + ''' 红外下发空调初始化窗体信息 + ''' + Private Sub InfraredAirFormInit() + LblDegreeValue.ForeColor = Color.Gold + LblDegree.ForeColor = Color.Gold + + BtnAirSwitch.ForeColor = Color.Green + BtnAirSwitch.Text = "开" + LblAirHigh.ForeColor = Color.DimGray + LblAirCentre.ForeColor = Color.DimGray + LblAirLow.ForeColor = Color.DimGray + 'LblAuto.ForeColor = Color.DimGray + LblAuto.Visible = False + LblAirCold.ForeColor = Color.DimGray + LblAirHot.ForeColor = Color.DimGray + LblAirSupply.ForeColor = Color.DimGray + + BtnAirAdd.ForeColor = Color.Gray + BtnAirMinus.ForeColor = Color.Gray + BtnAirVelocity.ForeColor = Color.Gray + BtnAirModel.ForeColor = Color.Gray + + BtnAirAdd.Enabled = False + BtnAirMinus.Enabled = False + BtnAirVelocity.Enabled = False + BtnAirModel.Enabled = False + + End Sub + + + ''' + ''' 空调软件搜索 + ''' + ''' + ''' + Private Sub BtnInfraredSearch_Click(sender As Object, e As EventArgs) Handles BtnInfraredSearch.Click + _InfraredReceProcessing = True + Dim content As Byte = &H1 + Dim addr As Byte = $"&H{Hex(NudAirAddress.Value)}" + Dim sendPacket As Byte() = FillInfraredSearchPacket(content, addr) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + + End Sub + + + ''' + ''' 空调固件搜索 + ''' + ''' + ''' + Private Sub BtnAirFirmwareSearch_Click(sender As Object, e As EventArgs) Handles BtnAirFirmwareSearch.Click + _InfraredReceProcessing = True + Dim content As Byte = &H0 + Dim addr As Byte = $"&H{Hex(NudAirAddress.Value)}" + Dim sendPacket As Byte() = FillInfraredSearchPacket(content, addr) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + + SendData(sendPacket) '发送数据 + + + End Sub + + + ''' + ''' 导出 + ''' + ''' + ''' + Private Sub BtnAKeyToRead_Click(sender As Object, e As EventArgs) Handles BtnAKeyToRead.Click + _InfraredReceProcessing = True + Dim sendPacket As Byte() + Dim content As Byte = &H1 + Dim addr As Byte = $"&H{Hex(NudAirAddress.Value)}" + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + If _isRead = False Then + _isRead = True + BtnAKeyToRead.Text = "停止导出" + BtnAirBurn.Text = "开始烧录" + + For index = 1 To 19 + If _isRead = True Then + sendPacket = FillAKeyToReadPacket(index, content, addr) + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + Console.WriteLine($"一键导出-第{index}数据:{ByteToString(sendPacket)}") + + WaitInfraredForRelay() + + 'Todo:2、自主选择保存 + + AppendTipText($"导出第{index}包数据成功!" & vbCrLf, Color.Blue) + ChangePrgValue(index, 19, 1) + Else + PrgAirBurn.Value = 0 + AppendTipText($"停止导出!" & vbCrLf, Color.Blue) + Exit For + End If + Next + Else + _isRead = False + BtnAKeyToRead.Text = "导出" + BtnAirBurn.Text = "开始烧录" + Exit Sub + End If + _isRead = False + BtnAKeyToRead.Text = "导出" + AppendTipText($"一键导出完成!" & vbCrLf, Color.Green) + PrgAirBurn.Value = 0 + End Sub + + + ''' + ''' 空调导入dat配置文件信息 + ''' + ''' + ''' + Private Sub BtnAirImport_Click(sender As Object, e As EventArgs) Handles BtnAirImport.Click + If OpenFileDialog1.ShowDialog() = DialogResult.OK Then + TBoAirImport.Text = OpenFileDialog1.FileName + CBoAirBrand.Text = Nothing + CBoAirType.Text = Nothing + CboVersion.Text = Nothing + + End If + End Sub + + + ''' + ''' 烧录dat配置文件信息 + ''' + ''' + ''' + Private Sub BtnAirBurn_Click(sender As Object, e As EventArgs) Handles BtnAirBurn.Click + '询问是否可以红外下发,成功,开始下发,失败,则停止下发————由收到状态控制 + IsFVer = True + Fw_Ver = -1 + BtnAirFirmwareSearch.PerformClick() + Dim task As Task = task.Run(Async Function() + ' 非阻塞等待3秒 + Await Task.Delay(3000) + BtnAirBuThread() + End Function) + + + + + End Sub + Public Sub BtnAirBuThread() + If InvokeRequired Then + Dim s As Action = AddressOf BtnAirBurnThread + Me.Invoke(s) + + Else + BtnAirBurnThread() + End If + End Sub + Public Sub BtnAirBurnThread() + If IsFVer Then + IsFVer = False + MsgBox("询问版本失败!!烧录停止!") + Return + End If + + Dim ofwver As Integer = -1 + Integer.TryParse(Label6.Text, ofwver) + If Fw_Ver = -1 OrElse ofwver = -1 Then + MsgBox($"获取版本异常!!烧录停止!所需最低固件版本{ofwver},红外目前版本{Fw_Ver}") + Return + End If + If Not ComparativeVersion(ofwver, Fw_Ver) Then + If MsgBox($"强制烧录可能导致无法常工作{vbCrLf }最低固件版本{ofwver},红外目前版本{Fw_Ver}{vbCrLf }是否强制烧录?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then + Else + Return + End If + End If + + + _InfraredReceProcessing = True '红外回复 + + If TBoAirImport.Text = Nothing Then ' + MsgBox("文件为空,请选择要烧录的文件!") + Exit Sub + End If + + _isDownload = True + Dim content As Byte = &H1 + Dim addr As Byte = $"&H{Hex(NudAirAddress.Value)}" + Dim dataFile() As Byte = OpenAirDATFile() + + If dataFile Is Nothing Then + MsgBox("文件错误,请重新选择文件!") + Exit Sub + End If + + EnquiryToDownload(content, addr, dataFile) + AppendTipText($"询问RCU主机是否可以下发..." & vbCrLf, Color.Green) + BtnAirBurn.Text = $"停止烧录" + + If ReplyToDownload() = True Then + DownloadTheData() + Else + BtnAirBurn.Text = $"开始烧录" + Exit Sub + End If + End Sub + + ''' + ''' 发送询问指令 + ''' + Private Sub EnquiryToDownload(content As Byte, addr As Byte, dataFile() As Byte) + '询问是否可以红外下发 + Dim sendPacket As Byte() = WhetherIssuedPacket(content, addr, dataFile) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + + SendData(sendPacket) '发送数据 + + Console.WriteLine($"[{content}]询问下发数据:{ByteToString(sendPacket)}") + + End Sub + + + ''' + ''' 等待回复可以下载 + ''' + ''' + Private Function ReplyToDownload() As Boolean + PauseWait(10) + + AppendTipText($"等待回复..." & vbCrLf, Color.Green) + WaitInfraredForRelay() + AppendTipText($"RCU主机已回复,正在处理..." & vbCrLf, Color.Green) + + PauseWait(10) + + If _isPrepare = False Then + AppendTipText($"当前RCU主机未准备好升级" & vbCrLf, Color.Green) + _isDownInfraredFile = False + Return False + End If + + Return True + End Function + + + ''' + ''' 空调下载数据 + ''' + Private Sub DownloadTheData() + If _isPrepare = True Then + AppendTipText($"当前RCU主机已准备就绪" & vbCrLf, Color.Green) + '开始下发 + PrgAirBurn.Value = 0 + If _isDownInfraredFile = False Then + _upDownInfraredFileThread = New Thread(AddressOf DownRCUFileToInfrared) + _upDownInfraredFileThread.Start() + _isDownInfraredFile = True + + BtnAirBurn.Text = $"停止烧录" + Else + If MsgBox("当前处于红外烧录状态,确定结束烧录?", MsgBoxStyle.YesNo, $"Tip") = MsgBoxResult.Yes Then + _upDownInfraredFileThread.Abort() + _isDownInfraredFile = False + _isPrepare = False + BtnAirBurn.Text = $"开始烧录" + PrgAirBurn.Value = 0 + AppendTipText($"已终止下载,下载失败!" & vbCrLf, Color.Red) + End If + End If + End If + End Sub + + + ''' + ''' 进度条委托 + ''' + ''' + Delegate Sub delegate_PrgAirBurn_Value(ByRef Value As Integer, switch As Integer) + + ''' + ''' 进度条委托 + ''' + ''' + Private Sub ChangePrgAirBurnValue(ByRef value As Integer, switch As Integer) + If Me.InvokeRequired = True Then + Dim changeval As New delegate_PrgAirBurn_Value(AddressOf ChangePrgAirBurnValue) + Me.Invoke(changeval, New Object() {value, switch}) + Else + PrgAirBurn.Value = value + Select Case switch + Case 0 + BtnAirBurn.Text = "停止烧录" + Case 1 + BtnAirBurn.Text = "开始烧录" + Case Else + Exit Sub + End Select + End If + End Sub + + + ''' + ''' 进度条委托 + ''' + ''' + Delegate Sub delegate_PrgTvBurn_Value(ByRef Value As Integer, switch As Integer) + + ''' + ''' 进度条委托 + ''' + ''' + Private Sub ChangePrgTVBurnValue(ByRef value As Integer, switch As Integer) + If Me.InvokeRequired = True Then + Dim changeval As New delegate_PrgTvBurn_Value(AddressOf ChangePrgTVBurnValue) + Me.Invoke(changeval, New Object() {value, switch}) + Else + ProgressBar1.Value = value + Select Case switch + Case 0 + BtnTVBurn.Text = "停止烧录" + Case 1 + BtnTVBurn.Text = "开始烧录" + Case Else + Exit Sub + End Select + End If + End Sub + + + ''' + ''' CRC16校验 + ''' + ''' + Private Function FillPacketFileCRC(dataFile() As Byte) + Dim fillCRC As Byte() + fillCRC = GetCRC16CheckSum(dataFile, dataFile.Length) + Return fillCRC + End Function + + + ''' + ''' 红外协议组包头 + ''' + Private Function AirPackageHead() As Byte() + Dim packetHead(2) As Byte + packetHead(0) = &H55 + packetHead(1) = &H55 + packetHead(2) = &HEE + + Return packetHead + End Function + + + ''' + ''' 填充红外开关包_控制按键通用 + ''' + ''' + Private Function FillInfraredSearchPacket(content As Byte, addr As Byte) + Dim dataPacket As New List(Of Byte) + dataPacket.AddRange(AirPackageHead()) + dataPacket.AddRange(FillInfraredSearchData(content, addr)) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 填充红外搜索数据 + ''' + ''' + Private Function FillInfraredSearchData(content As Byte, Addr As Byte) As Byte() + Dim packetLen As Byte + Dim packetType As Byte = &H4 + Dim packetCmd As Byte = &HA3 + Dim packetAddress As Byte = Addr + Dim packetRegister As Byte = content + + Dim dataPacket As New List(Of Byte) + dataPacket.Add(packetType) + dataPacket.Add(packetCmd) + dataPacket.Add(packetAddress) + dataPacket.Add(packetRegister) + + packetLen = $"&H{Hex(dataPacket.ToArray.Length + 3)}" + + Dim data As New List(Of Byte) + data.Add(packetLen) + data.AddRange(dataPacket) + + Dim packetcrc() As Byte = FillPacketFileCRC(data.ToArray) + data.AddRange(packetcrc) + + Return data.ToArray + End Function + + + ''' + ''' 询问是否可以红外下发 + ''' + ''' + Private Function WhetherIssuedPacket(content As Byte, addr As Byte, dataFile() As Byte) + Dim dataPacket As New List(Of Byte) + dataPacket.AddRange(AirPackageHead()) + dataPacket.AddRange(WhetherIssued(content, addr, dataFile)) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 红外下发前询问 + ''' + ''' + Private Function WhetherIssued(content As Byte, addr As Byte, dataFile() As Byte) As Byte() + Dim packetLen As Byte + Dim packetType As Byte = &H4 + Dim packetCmd As Byte = &HA6 + Dim packetAddress As Byte = addr + Dim packetRegister As Byte = content + Dim packetOperation As Byte = &H1 + Dim packetfileCrc() As Byte = FillPacketFileCRC(dataFile) + Dim packetCount As Byte = $"&H{Hex(GetBlocks(dataFile))}" + + Dim dataPacket As New List(Of Byte) + dataPacket.Add(packetType) + dataPacket.Add(packetCmd) + dataPacket.Add(packetAddress) + dataPacket.Add(packetRegister) + dataPacket.Add(packetOperation) + dataPacket.AddRange(packetfileCrc) + dataPacket.Add(packetCount) + + packetLen = $"&H{Hex(dataPacket.ToArray.Length + 3)}" + + Dim data As New List(Of Byte) + data.Add(packetLen) + data.AddRange(dataPacket) + + Dim packetcrc() As Byte = FillPacketFileCRC(data.ToArray) + data.AddRange(packetcrc) + + 'Console.WriteLine($"询问下发数据:{ByteToString(dataPacket.ToArray)}") + Return data.ToArray + End Function + + + ''' + ''' 读取选中文件_空调 + ''' + ''' 文件格式为(dat) + Private Function OpenAirDATFile() As Byte() + Dim filename As String = TBoAirImport.Text + + If filename.IndexOf("空调") = -1 Then + Exit Function + End If + Dim dataFile() As Byte = ReadFileToBytes(filename) + + Return dataFile + End Function + + + ''' + ''' 读取选中文件_电视 + ''' + ''' 文件格式为(dat) + Private Function OpenTvDATFile() As Byte() + Dim filename As String = TextBox1.Text + + If filename.IndexOf("电视") = -1 Then + Exit Function + End If + + Dim dataFile() As Byte = ReadFileToBytes(filename) + + Return dataFile + End Function + + + ''' + ''' RCU红外下发数据 + ''' + Private Sub DownRCUFileToInfrared() + Dim dataFile() As Byte = OpenAirDATFile() + + If dataFile Is Nothing Then + MsgBox("文件错误,请重新选择文件!") + Exit Sub + End If + + 'AppendTipText($"文件为:{ByteToString(dataFile)}" & vbCrLf, Color.Blue) + + Dim blockCount As Integer = GetBlocks(dataFile) + Dim burnPackage() As Byte + + ChangePrgAirBurnValue(1, 0) + + Dim packageNumber As Integer + For packageNumber = 1 To blockCount + _isInfraredreply = False + burnPackage = FillBurnPackage(dataFile, packageNumber, blockCount) + + AppendTipText($"开始发送第{packageNumber}包数据..." & vbCrLf, Color.Blue) + burnPackage = FillPacket(burnPackage) '组包 + SendData(burnPackage) + Console.WriteLine($"第{packageNumber}包:{ByteToString(burnPackage)}") + + ChangePrgValue(packageNumber, blockCount, 0) + + WaitInfraredForRelay() + + If _isInfraredreply = True Then '判断是回复 + If packageNumber = blockCount Then + _isDownInfraredFile = False + AppendTipText($"空调烧录完成!" & vbCrLf, Color.Blue) + MsgBox($"空调烧录完成!") + ChangePrgAirBurnValue(0, 1) + + _upDownInfraredFileThread.Abort() + Return + End If + Else + _resend += 1 + If _resend <= 3 Then + AppendTipText($"开始重发次数:{_resend}次" & vbCrLf, Color.Blue) + packageNumber -= 1 + Else + AppendTipText($"已超出最大重发次数!" & vbCrLf, Color.Red) + AppendTipText($"下载失败!" & vbCrLf, Color.Red) + ChangePrgAirBurnValue(0, 1) + _change = True + _resend = 0 + _isPrepare = False + _isDownInfraredFile = False + _upDownInfraredFileThread.Abort() + Return + End If + End If + Next + + End Sub + + + ''' + ''' 进度条变化 + ''' + Private Sub ChangePrgValue(packageNumber As Integer, blockCount As Integer, swith As Integer) + If packageNumber > blockCount * 0 AndAlso packageNumber < blockCount * 0.1 Then + ChangePrgAirBurnValue(5, swith) + ElseIf packageNumber > blockCount * 0.1 AndAlso packageNumber < blockCount * 0.2 Then + ChangePrgAirBurnValue(10, swith) + ElseIf packageNumber > blockCount * 0.2 AndAlso packageNumber < blockCount * 0.3 Then + ChangePrgAirBurnValue(20, swith) + ElseIf packageNumber > blockCount * 0.3 AndAlso packageNumber < blockCount * 0.4 Then + ChangePrgAirBurnValue(30, swith) + ElseIf packageNumber > blockCount * 0.4 AndAlso packageNumber < blockCount * 0.5 Then + ChangePrgAirBurnValue(40, swith) + ElseIf packageNumber > blockCount * 0.5 AndAlso packageNumber < blockCount * 0.6 Then + ChangePrgAirBurnValue(50, swith) + ElseIf packageNumber > blockCount * 0.6 AndAlso packageNumber < blockCount * 0.7 Then + ChangePrgAirBurnValue(60, swith) + ElseIf packageNumber > blockCount * 0.7 AndAlso packageNumber < blockCount * 0.8 Then + ChangePrgAirBurnValue(70, swith) + ElseIf packageNumber > blockCount * 0.8 AndAlso packageNumber < blockCount * 0.9 Then + ChangePrgAirBurnValue(80, swith) + ElseIf packageNumber > blockCount * 0.9 AndAlso packageNumber < blockCount Then + ChangePrgAirBurnValue(90, swith) + ElseIf packageNumber = blockCount Then + ChangePrgAirBurnValue(100, swith) + End If + + 'For index = packageNumber To blockCount * 100% + + 'Next + + End Sub + + + ''' + ''' 进度条变化 + ''' + Private Sub ChangeTvPrgValue(packageNumber As Integer, blockCount As Integer, swith As Integer) + If packageNumber > blockCount * 0 AndAlso packageNumber < blockCount * 0.1 Then + ChangePrgTVBurnValue(10, swith) + ElseIf packageNumber > blockCount * 0.9 AndAlso packageNumber < blockCount Then + ChangePrgTVBurnValue(90, swith) + ElseIf packageNumber = blockCount Then + ChangePrgTVBurnValue(100, swith) + End If + End Sub + + + ''' + ''' 填充烧录包数据 + ''' + ''' + ''' + ''' + ''' + Private Function FillBurnPackage(padData() As Byte, blockIndex As Integer, blockCount As Integer) As Byte() + Dim dataLen As Byte + Dim packetType As Byte = &H4 + Dim packetCmd As Byte = &HA7 + Dim packetAddress As Byte = $"&H{Hex(NudAirAddress.Value)}" + Dim packetRegister As Byte = &H1 + Dim packetfileCrc() As Byte + + Dim data As New List(Of Byte) + data.Add(packetType) + data.Add(packetCmd) + data.Add(packetAddress) + data.Add(packetRegister) + data.Add(blockIndex) + data.AddRange(FillBurnOnePackage(padData, blockIndex, blockCount)) + + dataLen = $"&H{Hex(data.ToArray.Length + 3)}" + + Dim list As New List(Of Byte) + list.Add(dataLen) + list.AddRange(data) + + packetfileCrc = FillPacketFileCRC(list.ToArray) + + Dim dataList As New List(Of Byte) + dataList.AddRange(AirPackageHead) + dataList.AddRange(list) + dataList.AddRange(packetfileCrc) + + Return dataList.ToArray + End Function + + + ''' + ''' 填充烧录单包数据 + ''' + ''' + ''' + ''' + ''' + Private Function FillBurnOnePackage(padData() As Byte, blockIndex As Integer, blockCount As Integer) As Byte() + Dim blockPacket As New List(Of Byte) + + If blockIndex = blockCount Then + For index = 128 * (blockIndex - 1) To padData.Length - 1 + blockPacket.Add(padData(index)) + Next + Else + For index = 128 * (blockIndex - 1) To 128 * blockIndex - 1 + blockPacket.Add(padData(index)) + Next + End If + + Return blockPacket.ToArray + End Function + + + ''' + ''' 等待红外数据回复 + ''' + Private Sub WaitInfraredForRelay() + Dim tick As Integer + Dim startTick As Integer = My.Computer.Clock.TickCount + _isInfraredreply = False + While _isInfraredreply = False AndAlso tick <= _relayTimeout + Thread.Sleep(100) + tick = My.Computer.Clock.TickCount - startTick + Application.DoEvents() + End While + End Sub + + + ''' + ''' 空调开关按键 + ''' + ''' + ''' + Private Sub BtnAirSwitch_Click(sender As Object, e As EventArgs) Handles BtnAirSwitch.Click + _InfraredReceProcessing = True + If BtnAirSwitch.Text = "开" Then + _isAirSwitch = False + AirControlState() + AirControl() + ElseIf BtnAirSwitch.Text = "关" Then + _isAirSwitch = True + AirControl() + AirControlState() + End If + End Sub + + + ''' + ''' 空调开关控制状态 + ''' + Private Sub AirControlState() + If BtnAirSwitch.Text = "开" Then + BtnAirSwitch.Text = "关" + BtnAirSwitch.ForeColor = Color.Red + BtnAirAdd.Enabled = True + BtnAirMinus.Enabled = True + BtnAirVelocity.Enabled = True + BtnAirModel.Enabled = True + + BtnAirAdd.ForeColor = Color.Green + BtnAirMinus.ForeColor = Color.Green + BtnAirVelocity.ForeColor = Color.Green + BtnAirModel.ForeColor = Color.Green + + LblAirHigh.ForeColor = Color.Green + LblAirCentre.ForeColor = Color.Red + LblAirLow.ForeColor = Color.Red + ' LblAuto.ForeColor = Color.Red + LblAirCold.ForeColor = Color.Green + LblAirHot.ForeColor = Color.Red + LblAirSupply.ForeColor = Color.Red + + ElseIf BtnAirSwitch.Text = "关" Then + BtnAirSwitch.Text = "开" + BtnAirSwitch.ForeColor = Color.Green + BtnAirAdd.Enabled = False + BtnAirMinus.Enabled = False + BtnAirVelocity.Enabled = False + BtnAirModel.Enabled = False + + LblAirHigh.ForeColor = Color.DimGray + LblAirCentre.ForeColor = Color.DimGray + LblAirLow.ForeColor = Color.DimGray + 'LblAuto.ForeColor = Color.DimGray + LblAirCold.ForeColor = Color.DimGray + LblAirHot.ForeColor = Color.DimGray + LblAirSupply.ForeColor = Color.DimGray + End If + End Sub + + + ''' + ''' 空调温度值增加 + ''' + ''' + ''' + Private Sub BtnAirAdd_Click(sender As Object, e As EventArgs) Handles BtnAirAdd.Click + If LblDegreeValue.Text >= "16" AndAlso LblDegreeValue.Text < "32" Then + LblDegreeValue.Text = CStr(CInt(LblDegreeValue.Text) + 1) + End If + + AirControl() + End Sub + + + ''' + ''' 空调温度值减少 + ''' + ''' + ''' + Private Sub BtnAirMinus_Click(sender As Object, e As EventArgs) Handles BtnAirMinus.Click + If LblDegreeValue.Text > "16" AndAlso LblDegreeValue.Text <= "32" Then + LblDegreeValue.Text = CStr(CInt(LblDegreeValue.Text) - 1) + End If + + AirControl() + End Sub + + + ''' + ''' 空调风速按键 + ''' + ''' + ''' + Private Sub BtnAirVelocity_Click(sender As Object, e As EventArgs) Handles BtnAirVelocity.Click + If LblAirHigh.ForeColor = Color.Green Then + LblAirHigh.ForeColor = Color.Red + LblAirCentre.ForeColor = Color.Green + LblAirLow.ForeColor = Color.Red + 'LblAuto.ForeColor = Color.Red + ElseIf LblAirCentre.ForeColor = Color.Green Then + LblAirHigh.ForeColor = Color.Red + LblAirCentre.ForeColor = Color.Red + LblAirLow.ForeColor = Color.Green + 'LblAuto.ForeColor = Color.Red + ElseIf LblAirLow.ForeColor = Color.Green Then + LblAirHigh.ForeColor = Color.Red + LblAirCentre.ForeColor = Color.Red + 'LblAirLow.ForeColor = Color.Red + LblAirHigh.ForeColor = Color.Green + 'LblAuto.ForeColor = Color.Green + 'ElseIf LblAuto.ForeColor = Color.Green Then + ' LblAirHigh.ForeColor = Color.Green + ' LblAirCentre.ForeColor = Color.Red + ' LblAirLow.ForeColor = Color.Red + ' LblAuto.ForeColor = Color.Red + End If + + AirControl() + End Sub + + + ''' + ''' 空调模式按键 + ''' + ''' + ''' + Private Sub BtnAirModel_Click(sender As Object, e As EventArgs) Handles BtnAirModel.Click + If LblAirCold.ForeColor = Color.Green Then + LblAirCold.ForeColor = Color.Red + LblAirHot.ForeColor = Color.Green + LblAirSupply.ForeColor = Color.Red + + ElseIf LblAirHot.ForeColor = Color.Green Then + LblAirCold.ForeColor = Color.Red + LblAirHot.ForeColor = Color.Red + LblAirSupply.ForeColor = Color.Green + + ElseIf LblAirSupply.ForeColor = Color.Green Then + LblAirCold.ForeColor = Color.Green + LblAirHot.ForeColor = Color.Red + LblAirSupply.ForeColor = Color.Red + + End If + + AirControl() + + End Sub + + + ''' + ''' 空调控制 + ''' + Private Sub AirControl() + _InfraredReceProcessing = True + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + Dim sendPacket() As Byte = FillAirControlPacket() + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + + End Sub + + + ''' + ''' 填充空调控制包 + ''' + ''' + Private Function FillAirControlPacket() + Dim packetHead() As Byte = AirPackageHead() + Dim packetData() As Byte = FillAirControlData() + Dim packetcrc() As Byte = FillPacketFileCRC(packetData.ToArray) + + Dim dataPacket As New List(Of Byte) + dataPacket.AddRange(packetHead) + dataPacket.AddRange(packetData) + dataPacket.AddRange(packetcrc) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 填充空调控制数据 + ''' + ''' + Private Function FillAirControlData() + Dim dataLen As Byte + Dim packetType As Byte = &H4 + Dim deviceType As Byte = &H1 + Dim packetAddress As Byte = $"&H{Hex(NudAirAddress.Value)}" + Dim packetTemp As Byte = $"&H{Hex(LblDegreeValue.Text)}" + Dim switch As Byte = AirSwitch() + Dim airvel As Byte = AirVelocity() + Dim airMode As Byte = AirModel() + + Dim data As New List(Of Byte) + data.Add(packetType) + data.Add(deviceType) + data.Add(packetAddress) + data.Add(packetTemp) + data.Add(switch) + data.Add(airvel) + data.Add(airMode) + + dataLen = $"&H{Hex(data.ToArray.Length + 3)}" + + Dim dataPacket As New List(Of Byte) + dataPacket.Add(dataLen) + dataPacket.AddRange(data) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 获取空调开关 + ''' + ''' + Private Function AirSwitch() As Byte + Dim switch As Byte + + If _isAirSwitch = False Then + switch = &H1 + Else + switch = &H0 + End If + + Return switch + End Function + + + ''' + ''' 获取空调风速 + ''' + ''' + Private Function AirVelocity() As Byte + Dim airVel As Byte + + If LblAirHigh.ForeColor = Color.Green Then + airVel = &H3 + ElseIf LblAirCentre.ForeColor = Color.Green Then + airVel = &H2 + ElseIf LblAirLow.ForeColor = Color.Green Then + airVel = &H1 + 'ElseIf LblAuto.ForeColor = Color.Green Then + ' airVel = &H0 + End If + + Return airVel + End Function + + + ''' + ''' 获取空调模式 + ''' + ''' + Private Function AirModel() As Byte + Dim airmode As Byte + + If LblAirCold.ForeColor = Color.Green Then + airmode = &H0 + ElseIf LblAirHot.ForeColor = Color.Green Then + airmode = &H1 + ElseIf LblAirSupply.ForeColor = Color.Green Then + airmode = &H2 + End If + + Return airmode + End Function + + + ''' + ''' 组一键读取的包 + ''' + ''' + Private Function FillAKeyToReadPacket(index As Integer, content As Byte, addr As Byte) As Byte() + Dim packetHead() As Byte = AirPackageHead() + Dim packetData() As Byte = FillAKeyToReadData(index, content, addr) + Dim packetcrc() As Byte = FillPacketFileCRC(packetData.ToArray) + + Dim dataPacket As New List(Of Byte) + dataPacket.AddRange(packetHead) + dataPacket.AddRange(packetData) + dataPacket.AddRange(packetcrc) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 组一键读取的数据包 + ''' + ''' + ''' + ''' + Private Function FillAKeyToReadData(index As Integer, content As Byte, addr As Byte) As Byte() + Dim dataLen As Byte + Dim packetType As Byte = &H4 + Dim deviceType As Byte = &HA8 + Dim packetAddress As Byte = addr + Dim packetTemp As Byte = content + + Dim data As New List(Of Byte) + data.Add(packetType) + data.Add(deviceType) + data.Add(packetAddress) + data.Add(packetTemp) + data.Add($"&H{Hex(index)}") + + dataLen = $"&H{Hex(data.ToArray.Length + 3)}" + + Dim dataPacket As New List(Of Byte) + dataPacket.Add(dataLen) + dataPacket.AddRange(data) + + Return dataPacket.ToArray + End Function + +#End Region + +#Region "红外电视下发" + + + ''' + ''' 电视静音 + ''' + ''' + ''' + Private Sub BtnTVMute_Click(sender As Object, e As EventArgs) Handles BtnTVMute.Click + _InfraredReceProcessing = True + Dim content As Byte = &H1 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视开关 + ''' + ''' + ''' + Private Sub BtnTVSwitch_Click(sender As Object, e As EventArgs) Handles BtnTVSwitch.Click + If _isTvSwitch = False Then + _isTvSwitch = True + BtnTVSwitch.ForeColor = Color.Red + BtnTVSwitch.Text = "关" + Else + _isTvSwitch = False + BtnTVSwitch.ForeColor = Color.Green + BtnTVSwitch.Text = "开" + End If + + _InfraredReceProcessing = True + Dim content As Byte = &H2 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视音量加键 + ''' + ''' + ''' + Private Sub BtnTVVolumeAdd_Click(sender As Object, e As EventArgs) Handles BtnTVVolumeAdd.Click + _InfraredReceProcessing = True + Dim content As Byte = &H3 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视音量减键 + ''' + ''' + ''' + Private Sub BtnTVVolumeMinus_Click(sender As Object, e As EventArgs) Handles BtnTVVolumeMinus.Click + _InfraredReceProcessing = True + Dim content As Byte = &H4 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 频道加键 + ''' + ''' + ''' + Private Sub BtnTVChannelAdd_Click(sender As Object, e As EventArgs) Handles BtnTVChannelAdd.Click + _InfraredReceProcessing = True + Dim content As Byte = &H5 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 频道减键 + ''' + ''' + ''' + Private Sub BtnTVChannelMinus_Click(sender As Object, e As EventArgs) Handles BtnTVChannelMinus.Click + _InfraredReceProcessing = True + Dim content As Byte = &H6 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视上键 + ''' + ''' + ''' + Private Sub BtnTVGetOn_Click(sender As Object, e As EventArgs) Handles BtnTVGetOn.Click + _InfraredReceProcessing = True + Dim content As Byte = &H7 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视下键 + ''' + ''' + ''' + Private Sub BtnTVBelow_Click(sender As Object, e As EventArgs) Handles BtnTVBelow.Click + _InfraredReceProcessing = True + Dim content As Byte = &H8 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视左键 + ''' + ''' + ''' + Private Sub BtnTVLeft_Click(sender As Object, e As EventArgs) Handles BtnTVLeft.Click + _InfraredReceProcessing = True + Dim content As Byte = &H9 + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视右键 + ''' + ''' + ''' + Private Sub BtnTVRight_Click(sender As Object, e As EventArgs) Handles BtnTVRight.Click + _InfraredReceProcessing = True + Dim content As Byte = &HA + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视OK键 + ''' + ''' + ''' + Private Sub BtnTVOK_Click(sender As Object, e As EventArgs) Handles BtnTVOK.Click + _InfraredReceProcessing = True + Dim content As Byte = &HB + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视首页 + ''' + ''' + ''' + Private Sub BtnTVHomePage_Click(sender As Object, e As EventArgs) Handles BtnTVHomePage.Click + _InfraredReceProcessing = True + Dim content As Byte = &HC + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视菜单 + ''' + ''' + ''' + Private Sub BtnTVMenu_Click(sender As Object, e As EventArgs) Handles BtnTVMenu.Click + _InfraredReceProcessing = True + Dim content As Byte = &HD + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视信源 + ''' + ''' + ''' + Private Sub BtnTVSource_Click(sender As Object, e As EventArgs) Handles BtnTVSource.Click + _InfraredReceProcessing = True + Dim content As Byte = &HE + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视返回 + ''' + ''' + ''' + Private Sub BtnTVGetBack_Click(sender As Object, e As EventArgs) Handles BtnTVGetBack.Click + _InfraredReceProcessing = True + Dim content As Byte = &HF + Dim sendPacket As Byte() = FillTVCommPackage(content) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视一键读取 + ''' + ''' + ''' + Private Sub BtnTVAKeyToRead_Click(sender As Object, e As EventArgs) Handles BtnTVAKeyToRead.Click + _InfraredReceProcessing = True + ProgressBar1.Value = 0 + + Dim sendPacket As Byte() + Dim content As Byte = &H2 + Dim addr As Byte = $"&H{Hex(NudTVAddress.Value)}" + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + If _isRead = False Then + _isRead = True + BtnTVAKeyToRead.Text = "停止导出" + + sendPacket = FillAKeyToReadPacket(1, content, addr) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + Console.WriteLine($"一键导出-电视包数据:{ByteToString(sendPacket)}") + + WaitInfraredForRelay() + + AppendTipText($"导出电视包数据成功!" & vbCrLf, Color.Green) + ProgressBar1.Value = 100 + Else + _isRead = False + BtnTVAKeyToRead.Text = "导出" + Exit Sub + End If + _isRead = False + BtnTVAKeyToRead.Text = "导出" + AppendTipText($"一键导出完成!" & vbCrLf, Color.Green) + End Sub + + + ''' + ''' 电视搜索 + ''' + ''' + ''' + Private Sub BtnTVSearch_Click(sender As Object, e As EventArgs) Handles BtnTVSearch.Click + _InfraredReceProcessing = True + Dim content As Byte = &H2 + Dim addr As Byte = $"&H{Hex(NudTVAddress.Value)}" + Dim sendPacket As Byte() = FillInfraredSearchPacket(content, addr) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + + End Sub + + + ''' + ''' 电视固件搜索 + ''' + ''' + ''' + Private Sub BtnTVFirmwareSearch_Click(sender As Object, e As EventArgs) Handles BtnTVFirmwareSearch.Click + _InfraredReceProcessing = True + Dim content As Byte = &H0 + Dim addr As Byte = $"&H{Hex(NudTVAddress.Value)}" + Dim sendPacket As Byte() = FillInfraredSearchPacket(content, addr) + + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送数据 + End Sub + + + ''' + ''' 电视导入 + ''' + ''' + ''' + Private Sub BtnTVImport_Click(sender As Object, e As EventArgs) Handles BtnTVImport.Click + If OpenFileDialog1.ShowDialog() = DialogResult.OK Then + TextBox1.Text = OpenFileDialog1.FileName + CBoTVBrand.Text = Nothing + CBoTVModel.Text = Nothing + CBoTVVersion.Text = Nothing + End If + End Sub + + + Private Function ComparativeVersion(newver As Integer, oldver As Integer) As Boolean + If (newver <= oldver) Then + Return True + End If + Return False + End Function + + + + ''' + ''' 电视烧录 + ''' + ''' + ''' + Private Sub BtnTVBurn_Click(sender As Object, e As EventArgs) Handles BtnTVBurn.Click + + + IsFVer = True + Fw_Ver = -1 + BtnTVFirmwareSearch.PerformClick() + Dim task As Task = Task.Run(Async Function() + ' 非阻塞等待3秒 + Await Task.Delay(3000) + TVBThread() + End Function) + + + + + End Sub + Public Sub TVBThread() + If InvokeRequired Then + Dim s As Action = AddressOf BtnTVBurnThread + Me.Invoke(s) + + Else + BtnTVBurnThread() + End If + End Sub + + + Public Sub BtnTVBurnThread() + If IsFVer Then + IsFVer = False + MsgBox("询问版本失败!!烧录停止!") + Return + End If + + Dim ofwver As Integer = -1 + Integer.TryParse(Label5.Text, ofwver) + If Fw_Ver = -1 OrElse ofwver = -1 Then + MsgBox($"获取版本异常!!烧录停止!所需最低固件版本{ofwver},红外目前版本{Fw_Ver}") + Return + End If + If Not ComparativeVersion(ofwver, Fw_Ver) Then + If MsgBox($"强制烧录可能导致无法常工作{vbCrLf }最低固件版本{ofwver},红外目前版本{Fw_Ver}{vbCrLf }是否强制烧录?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then + Else + Return + End If + End If + + + + _InfraredReceProcessing = True + ProgressBar1.Value = 0 + + If TextBox1.Text = Nothing Then ' + MsgBox("文件为空,请选择要烧录的文件!") + Exit Sub + End If + + _isTvDownload = True + Dim content As Byte = &H2 + Dim addr As Byte = $"&H{Hex(NudTVAddress.Value)}" + Dim dataFile() As Byte = OpenTvDATFile() + + If dataFile Is Nothing Then + MsgBox("文件错误,请重新选择文件!") + Exit Sub + End If + + EnquiryToDownload(content, addr, dataFile) + AppendTipText($"询问RCU主机是否可以下发电视..." & vbCrLf, Color.Green) + BtnTVBurn.Text = $"停止烧录" + + If ReplyToDownload() = True Then + DownloadTheTvData() + Else + BtnTVBurn.Text = $"开始烧录" + Exit Sub + End If + End Sub + + + ''' + ''' 填充电视通讯包 + ''' + Private Function FillTVCommPackage(content As Byte) + Dim dataPacket As New List(Of Byte) + dataPacket.AddRange(AirPackageHead()) + dataPacket.AddRange(FillTVDataPackage(content)) + + Return dataPacket.ToArray + End Function + + + ''' + ''' 填充电视数据包 + ''' + ''' + ''' + Private Function FillTVDataPackage(content As Byte) + Dim dataLen As Byte + Dim packetType As Byte = &H4 + Dim deviceType As Byte = &H2 + Dim packetAddress As Byte = $"&H{Hex(NudTVAddress.Value)}" + Dim packetTemp As Byte = content + + Dim data As New List(Of Byte) + data.Add(packetType) + data.Add(deviceType) + data.Add(packetAddress) + data.Add(packetTemp) + + dataLen = $"&H{Hex(data.ToArray.Length + 3)}" + + Dim dataPacket As New List(Of Byte) + dataPacket.Add(dataLen) + dataPacket.AddRange(data) + + Dim packetfileCrc() As Byte + packetfileCrc = FillPacketFileCRC(dataPacket.ToArray) + + Dim dataList As New List(Of Byte) + dataList.AddRange(dataPacket) + dataList.AddRange(packetfileCrc) + + Return dataList.ToArray + End Function + + + ''' + ''' 下载电视数据 + ''' + Private Sub DownloadTheTvData() + If _isPrepare = True Then + AppendTipText($"当前RCU主机已准备就绪" & vbCrLf, Color.Green) + '开始下发 + ProgressBar1.Value = 0 + If _isDownInfraredFile = False Then + _upDownInfraredTvThread = New Thread(AddressOf DownRCUTvFileToInfrared) + _upDownInfraredTvThread.Start() + _isDownInfraredFile = True + + BtnTVBurn.Text = $"停止烧录" + Else + If MsgBox("当前处于红外烧录状态,确定结束烧录?", MsgBoxStyle.YesNo, $"Tip") = MsgBoxResult.Yes Then + _upDownInfraredTvThread.Abort() + _isDownInfraredFile = False + _isPrepare = False + BtnTVBurn.Text = $"开始烧录" + ProgressBar1.Value = 0 + AppendTipText($"已终止下载,下载失败!" & vbCrLf, Color.Red) + End If + End If + End If + End Sub + + + ''' + ''' RCU红外下发电视数据 + ''' + Private Sub DownRCUTvFileToInfrared() + Dim dataFile() As Byte = OpenTvDATFile() + + If dataFile Is Nothing Then + MsgBox("文件错误,请重新选择文件!") + Exit Sub + End If + + Console.WriteLine($"电视文件为:{ByteToString(dataFile)}") + + Dim blockCount As Integer = GetBlocks(dataFile) + Dim burnPackage() As Byte + + ChangePrgTVBurnValue(5, 0) + + Dim packageNumber As Integer + For packageNumber = 1 To blockCount + _isInfraredreply = False + burnPackage = FillTvBurnPackage(dataFile, packageNumber, blockCount) + + AppendTipText($"开始发送第{packageNumber}包数据..." & vbCrLf, Color.Blue) + burnPackage = FillPacket(burnPackage) '组包 + SendData(burnPackage) '发送数据 + Console.WriteLine($"第{packageNumber}包:{ByteToString(burnPackage)}") + + ChangeTvPrgValue(packageNumber, blockCount, 0) + + WaitInfraredForRelay() + + If _isInfraredreply = True Then '判断是回复 + If packageNumber = blockCount Then + _isDownInfraredFile = False + ChangePrgTVBurnValue(100, 1) + AppendTipText($"电视烧录完成!" & vbCrLf, Color.Blue) + MsgBox($"电视烧录完成!") + _upDownInfraredTvThread.Abort() + Return + End If + Else + _resend += 1 + If _resend <= 3 Then + AppendTipText($"开始重发次数:{_resend}次" & vbCrLf, Color.Blue) + packageNumber -= 1 + Else + AppendTipText($"已超出最大重发次数!" & vbCrLf, Color.Red) + AppendTipText($"下载失败!" & vbCrLf, Color.Red) + ChangePrgTVBurnValue(0, 1) + _change = True + _resend = 0 + _isPrepare = False + _isDownInfraredFile = False + Return + End If + End If + Next + End Sub + + + ''' + ''' 填充烧录包数据 + ''' + ''' + ''' + ''' + ''' + Private Function FillTvBurnPackage(padData() As Byte, blockIndex As Integer, blockCount As Integer) As Byte() + Dim dataLen As Byte + Dim packetType As Byte = &H4 + Dim packetCmd As Byte = &HA7 + Dim packetAddress As Byte = $"&H{Hex(NudTVAddress.Value)}" + Dim packetRegister As Byte = &H2 + Dim packetfileCrc() As Byte + + Dim data As New List(Of Byte) + data.Add(packetType) + data.Add(packetCmd) + data.Add(packetAddress) + data.Add(packetRegister) + data.Add(blockIndex) + data.AddRange(FillBurnOnePackage(padData, blockIndex, blockCount)) + + dataLen = $"&H{Hex(data.ToArray.Length + 3)}" + + Dim list As New List(Of Byte) + list.Add(dataLen) + list.AddRange(data) + + packetfileCrc = FillPacketFileCRC(list.ToArray) + + Dim dataList As New List(Of Byte) + dataList.AddRange(AirPackageHead) + dataList.AddRange(list) + dataList.AddRange(packetfileCrc) + + Return dataList.ToArray + End Function + + +#End Region + +#Region "录入读取---数据库" + + + ''' + ''' 密码窗体 + ''' + Private _frmPass As FrmPassword + + + ''' + ''' 下载文件路径 + ''' + Private _downFile As String = $"{Application.StartupPath}\DownFile" + + + ''' + ''' 初始化数据表信息——数据库RCU表 + ''' + Private Sub InitSQLDataTable() + GrdSqlData.DisplayRowNumber = True + GrdSqlData.ExtendLastCol = True + GrdSqlData.Cols = 9 '设置表格界限 + GrdSqlData.Rows = 3 + + With GrdSqlData.Cell(0, 1) + .Text = "产品类型" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 2) + .Text = "产品厂商" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 3) + .Text = "产品型号" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 4) + .Text = "版本信息" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 5) + .Text = "创建时间" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 6) + .Text = "数据校验" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + With GrdSqlData.Cell(0, 7) + .Text = "备注" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdSqlData.Cell(0, 8) + .Text = "固件版本" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + End Sub + + + ''' + ''' 选择文件 + ''' + ''' + ''' + Private Sub BtnSelectFile_Click(sender As Object, e As EventArgs) Handles BtnSelectFile.Click + GetFileInfo() + + End Sub + + + ''' + ''' 获取选择文件信息 + ''' + Private Sub GetFileInfo() + TboPacketName.Text = Nothing + TboxType.Text = Nothing + TboxBrand.Text = Nothing + TboxModel.Text = Nothing + TboxVersion.Text = Nothing + + Dim fileName As String = SelectFileHandling() + If fileName Is Nothing Then + MsgBox($"文件为空! 请重新选择文件") + Exit Sub + End If + Console.WriteLine($"选择文件名:{fileName}") + + Dim result As New List(Of String) + Dim tmpString() As String = fileName.Split(New Char() {"_"c}, StringSplitOptions.RemoveEmptyEntries) + result.AddRange(tmpString) + Dim type As String = result(0) + Dim brand As String = result(1) + Dim model As String = result(2) + Dim temVer As String = result(3) + + Dim results As New List(Of String) + Dim tmpVerString() As String = temVer.Split(New Char() {"."c}, StringSplitOptions.RemoveEmptyEntries) + results.AddRange(tmpVerString) + Dim version As String = results(0) + Console.WriteLine($"类型:{type} 厂商:{brand} 型号:{model} 版本:{version}") + + TboxType.Text = type + TboxBrand.Text = brand + TboxModel.Text = model + TboxVersion.Text = version + + End Sub + + + ''' + ''' 选择文件处理 + ''' + ''' + Private Function SelectFileHandling() As String + Dim fileName As String + Using fileDialog As New OpenFileDialog + If fileDialog.ShowDialog() <> DialogResult.OK Then Exit Function + fileName = fileDialog.SafeFileName + TboPacketName.Text = fileDialog.FileName + End Using + Return fileName + End Function + + + ''' + ''' 数据录入 + ''' + ''' + ''' + Private Sub BtnEntry_Click(sender As Object, e As EventArgs) Handles BtnEntry.Click + If WriteProtect() = False Then + MsgBox($"录入信息不完整,请填写完整信息!") + Exit Sub + End If + ConnectingToDatabase() + RefreshDataTable() + End Sub + + + ''' + ''' 录入数据 + ''' + Private Sub ConnectingToDatabase() + Dim types As String = TboxType.Text + Dim brand As String = TboxBrand.Text + Dim model As String = TboxModel.Text + Dim version As String = TboxVersion.Text + Dim packet As String = $"{types}_{brand}_{model}_{version}.dat" + Dim filePaths As String = TboPacketName.Text + Dim fileData() As Byte = IO.File.ReadAllBytes(filePaths) + Dim md5 As String = GetFileMd5(filePaths) + Dim remark As String = TboRemark.Text + Dim FW_Ver As String = TextBox4.Text + + Try + Dim connString As String = ConnSQLString() + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colName As String + Dim colNames As New List(Of String) + + colName = "Type" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, types) + + colName = "Brand" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, brand) + + colName = "Model" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, model) + + colName = "Version" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, version) + + colName = "CreateDate" + colNames.Add(colName) + db.AddDbParameter(DbType.DateTime, colName, $"{Now:yyyy-MM-dd HH:mm:ss}") + + colName = "PacketName" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, packet) + + colName = "PacketData" + colNames.Add(colName) + db.AddDbParameter(DbType.Binary, colName, fileData) + + colName = "PacketMD5" + colNames.Add(colName) + db.AddDbParameter(DbType.AnsiString, colName, md5) + + colName = "Remark" + colNames.Add(colName) + db.AddDbParameter(DbType.String, colName, remark) + + colName = "FW_Ver" + colNames.Add(colName) + db.AddDbParameter(DbType.String, colName, FW_Ver) + + Dim nameCol As New List(Of String) From {"Type", "Brand", "Model", "Version"} + Dim cmdTxt As String = db.CmdHelper.DbSearch(dbName, nameCol, tableName, $"{FPrefix}Type{FPrefix} = '{types}' And {FPrefix}Brand{FPrefix} = '{brand}' And {FPrefix}Model{FPrefix} = '{model}' And {FPrefix}Version{FPrefix} = '{version}'") + Dim dtTable As DataTable = db.ExecuteDataTable(cmdTxt) + Console.WriteLine($"查询语句:{dtTable.Rows.Count}") + + If dtTable.Rows.Count > 0 Then + Dim hint As DialogResult = MessageBox.Show("文件已存在! 是否覆盖?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) + If hint = DialogResult.OK Then + Dim cmddel As String = db.CmdHelper.DbDeleteRows(dbName, tableName, $"{FPrefix}Type{FPrefix} = '{types}' And {FPrefix}Brand{FPrefix} = '{brand}' And {FPrefix}Model{FPrefix} = '{model}' And {FPrefix}Version{FPrefix} = '{version}'") + db.ExecuteNonQuery(cmddel) + Console.WriteLine($"删除语句:{cmddel}") + Else + db.Close() + Exit Sub + End If + End If + + 'insert into dbName.tablename (1,2,3) value (@1,@2,@3) + Dim cmdText As String = db.CmdHelper.DbInsertParam(dbName, tableName, colNames) + Console.WriteLine($"录入 cmdText:{cmdText}") + + db.ExecuteNonQuery(cmdText) + MsgBox($"录入成功") + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"Error:{ex.Message}") + End Try + + End Sub + + + ''' + ''' 录入保护 + ''' + ''' + Private Function WriteProtect() As Boolean + If String.IsNullOrWhiteSpace(TboPacketName.Text) Then Return False + If String.IsNullOrWhiteSpace(TboxType.Text) Then Return False + If String.IsNullOrWhiteSpace(TboxBrand.Text) Then Return False + If String.IsNullOrWhiteSpace(TboxVersion.Text) Then Return False + If String.IsNullOrWhiteSpace(TboxModel.Text) Then Return False + + Return True + End Function + + + ''' + ''' 刷新数据表 + ''' + Private Sub RefreshDataTable() + InitSQLDataTable() + Dim connString As String = ConnSQLString() + + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Type", "Brand", "Model", "Version", "CreateDate", "PacketMD5", "Remark", "FW_Ver"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName) + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + For r = 0 To dtTable.Rows.Count - 1 + GrdSqlData.AddItem("") + For c = 0 To dtTable.Columns.Count - 1 + GrdSqlData.Cell(r + 1, c + 1).Text = dtTable(r)(c).ToString '注意表格界限 + Next + Next + + db.Close() + End Using + + Catch ex As Exception + Console.WriteLine($"Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 刷新列表 + ''' + ''' + ''' + Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles BtnRefresh.Click + RefreshDataTable() + + End Sub + + + ''' + ''' 刷新列表_菜单栏 + ''' + ''' + ''' + Private Sub 刷新列表ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刷新列表ToolStripMenuItem.Click + RefreshDataTable() + + End Sub + + + ''' + ''' 删除记录_菜单栏 + ''' + ''' + ''' + Private Sub 删除记录ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 删除记录ToolStripMenuItem.Click + DeleteRecord() + + End Sub + + + ''' + ''' 删除记录 + ''' + Private Sub DeleteRecord() + Dim types As String = GrdSqlData.Cell(GrdSqlData.ActiveCell.Row, 1).Text + Dim brand As String = GrdSqlData.Cell(GrdSqlData.ActiveCell.Row, 2).Text + Dim model As String = GrdSqlData.Cell(GrdSqlData.ActiveCell.Row, 3).Text + Dim version As String = GrdSqlData.Cell(GrdSqlData.ActiveCell.Row, 4).Text + + If GrdSqlData.ActiveCell.Row > 0 Then + Dim hint As DialogResult = MessageBox.Show($"要删除的文件信息如下{vbCrLf}{vbCrLf}类型:{types}{vbCr}品牌:{brand}{vbCr}型号:{model}{vbCr}版本:{version}{vbCrLf}{vbCrLf}是否继续删除?", "警告!!!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) + If hint = DialogResult.OK Then + ExecuteDelete(types, brand, model, version) + End If + End If + + End Sub + + + ''' + ''' 执行删除 + ''' + Private Sub ExecuteDelete(types As String, brand As String, model As String, version As String) + _frmPass = New FrmPassword + If _frmPass.ShowDialog = DialogResult.OK Then + Console.WriteLine("OK") + If _frmPass.IsDelete() = True Then + DelRecord(types, brand, model, version) + Console.WriteLine("删除完成") + GrdSqlData.Selection.DeleteByRow() + Else + MsgBox($"密码错误") + ExecuteDelete(types, brand, model, version) + End If + Else + Console.WriteLine("NO") + End If + End Sub + + + ''' + ''' 执行删除记录 + ''' + Private Sub DelRecord(types As String, brand As String, model As String, version As String) + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + + Try + Dim connString As String = ConnSQLString() + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Console.WriteLine($"开始删除...") + Dim cmddel As String = db.CmdHelper.DbDeleteRows(dbName, tableName, $"`Type` = '{types}' And `Brand` = '{brand}' And `Model` = '{model}' And `Version` = '{version}' ") + + + db.ExecuteNonQuery(cmddel) + Console.WriteLine($"删除语句:{cmddel}") + GrdSqlData.Selection.DeleteByRow() + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"Start Delete Record Error:{ex.Message}") + End Try + + End Sub + + + + +#End Region + +#Region "空调下载---数据库" + + ''' + ''' 空调下载 + ''' + ''' + ''' + Private Sub BtnAirDownload_Click(sender As Object, e As EventArgs) Handles BtnAirDownload.Click + If DoenloadProtect() = False Then + MsgBox($"请选择要下载的空调文件信息!") + Exit Sub + End If + + StartDownload() + + End Sub + + + ''' + ''' 下载保护 + ''' + ''' + Private Function DoenloadProtect() As Boolean + If CBoAirBrand.Text = "" Or CBoAirBrand.Text = " " Then + Return False + Exit Function + End If + + If CBoAirType.Text = "" Or CBoAirBrand.Text = " " Then + Return False + Exit Function + End If + + If CboVersion.Text = "" Or CBoAirBrand.Text = " " Then + Return False + Exit Function + End If + Return True + End Function + + + ''' + ''' 开始下载空调 + ''' + Private Sub StartDownload() + If Directory.Exists(_downFile) = False Then Directory.CreateDirectory(_downFile) + + Dim brandtxt As String = CBoAirBrand.Text + Dim modeltxt As String = CBoAirType.Text + Dim versiontxt As String = CboVersion.Text + + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Type", "Brand", "Model", "Version", "PacketName", "PacketData", "PacketMD5"} + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '空调' And {FPrefix}Brand{FPrefix} = '{brandtxt}' And {FPrefix}Model{FPrefix} = '{modeltxt}'And {FPrefix}Version{FPrefix} = '{versiontxt}'") + Console.WriteLine($"下载语句:{cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + '云端的MD5值 + Dim packetName As String = dtTable(0)("PacketName") + Dim md5Cloud As String = dtTable(0)("PacketMD5") + Console.WriteLine($"包名:{dtTable(0)("PacketName")}") + + Dim pData() As Byte = dtTable(0)("PacketData") + Console.WriteLine($"数据包数据:{System.Text.UTF8Encoding.UTF8.GetString(pData)}") + + IO.File.WriteAllBytes($"{_downFile}\{packetName}", pData) + PauseWait(200) + + '本地的MD5值 + Dim md5load As String = GetFileMd5($"{_downFile}\{packetName}") + Console.WriteLine($"云端MD5值:{md5Cloud}") + Console.WriteLine($"本地MD5值:{md5load}") + + If String.Compare(md5Cloud, md5load) = 0 Then + TBoAirImport.Text = $"{_downFile}\{packetName}" + MsgBox($"校验完成,文件无误,已导入成功!") + Else + MsgBox($"校验失败! 请重试") + End If + + db.Close() + End Using + + Catch ex As Exception + 'Console.WriteLine($"Strat Download Error:{ex.Message}") + MsgBox($"校验失败! 请重试") + End Try + + End Sub + + + ''' + ''' 选择厂商 + ''' + ''' + ''' + Private Sub CBoAirBrand_DropDown(sender As Object, e As EventArgs) Handles CBoAirBrand.DropDown + CBoAirBrand.Items.Clear() + SelectBrand() + CBoAirType.Text = Nothing + CboVersion.Text = Nothing + End Sub + + + ''' + ''' 选择型号 + ''' + ''' + ''' + Private Sub CBoAirType_DropDown(sender As Object, e As EventArgs) Handles CBoAirType.DropDown + CBoAirType.Items.Clear() + SelectModel() + CboVersion.Text = Nothing + End Sub + + + ''' + ''' 选择版本 + ''' + ''' + ''' + Private Sub CboVersion_DropDown(sender As Object, e As EventArgs) Handles CboVersion.DropDown + CboVersion.Items.Clear() + SelectVersion() + + End Sub + + + ''' + ''' 查询空调品牌 + ''' + Private Sub SelectBrand() + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Brand"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '空调' Group by {FPrefix}Brand{FPrefix}") + Console.WriteLine($"TextXXX: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + Next + CBoAirBrand.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"厂商 Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 查询空调型号 + ''' + Private Sub SelectModel() + Dim brandtxt As String = CBoAirBrand.Text + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Model"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '空调' And {FPrefix}Brand{FPrefix} = '{brandtxt}' Group by {FPrefix}Model{FPrefix}") + 'Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName) '可添加条件 + Console.WriteLine($"Model: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + Next + CBoAirType.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"型号 Error:{ex.Message}") + End Try + + End Sub + + + ''' + ''' 查询空调版本 + ''' + Private Remark_Li As Dictionary(Of String, String) + Private FW_Ver_Li As Dictionary(Of String, String) + Private Sub SelectVersion() + Dim brandtxt As String = CBoAirBrand.Text + Dim modeltxt As String = CBoAirType.Text + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Version", "Remark", "FW_Ver"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '空调' And {FPrefix}Brand{FPrefix} = '{brandtxt}' And {FPrefix}Model{FPrefix} = '{modeltxt}' ") 'CZH 查询语句去掉根据版本的分组 Group by {FPrefix}Version{FPrefix} + 'Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName) '可添加条件 + Console.WriteLine($"Version: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + Remark_Li = New Dictionary(Of String, String) + FW_Ver_Li = New Dictionary(Of String, String) + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + If Not Remark_Li.ContainsKey(dtTable(r)(0)) Then + Remark_Li.Add(dtTable(r)(0), dtTable(r)(1)) + FW_Ver_Li.Add(dtTable(r)(0), dtTable(r)(2)) + End If + Next + CboVersion.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"版本 Error:{ex.Message}") + End Try + End Sub + + +#End Region + +#Region "电视下载---数据库" + + ''' + ''' 电视下载 + ''' + ''' + ''' + Private Sub BtnTvDownload_Click(sender As Object, e As EventArgs) Handles BtnTvDownload.Click + If DoenloadTvProtect() = False Then + MsgBox($"请选择要下载的电视文件信息!") + Exit Sub + End If + + StartTvDownload() + + End Sub + + + ''' + ''' 选择电视品牌 + ''' + ''' + ''' + Private Sub CBoTVBrand_DropDown(sender As Object, e As EventArgs) Handles CBoTVBrand.DropDown + CBoTVBrand.Items.Clear() + SelectTVBrand() + CBoTVModel.Text = Nothing + CBoTVVersion.Text = Nothing + End Sub + + + ''' + ''' 选择电视型号 + ''' + ''' + ''' + Private Sub CBoTVModel_DropDown(sender As Object, e As EventArgs) Handles CBoTVModel.DropDown + CBoTVModel.Items.Clear() + SelectTVModel() + CBoTVVersion.Text = Nothing + End Sub + + + ''' + ''' 选择电视版本 + ''' + ''' + ''' + Private Sub CBoTVVersion_DropDown(sender As Object, e As EventArgs) Handles CBoTVVersion.DropDown + CBoTVVersion.Items.Clear() + SelectTvVersion() + + End Sub + + + ''' + ''' 查询电视厂商 + ''' + Private Sub SelectTVBrand() + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Brand"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '电视' Group by {FPrefix}Brand{FPrefix}") + Console.WriteLine($"查询厂商语句: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + Next + CBoTVBrand.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"电视厂商 Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 查询电视型号 + ''' + Private Sub SelectTVModel() + Dim brandtxt As String = CBoTVBrand.Text + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Model"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '电视' And {FPrefix}Brand{FPrefix} = '{brandtxt}' Group by {FPrefix}Model{FPrefix}") + Console.WriteLine($"Model: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + Next + CBoTVModel.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"型号 Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 查询电视型号 + ''' + Private Sub SelectTvVersion() + Dim brandtxt As String = CBoTVBrand.Text + Dim modeltxt As String = CBoTVModel.Text + Dim addItems As New List(Of String) + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Version", "Remark", "FW_Ver"} + + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '电视' And {FPrefix}Brand{FPrefix} = '{brandtxt}' And {FPrefix}Model{FPrefix} = '{modeltxt}' ") 'Group by {FPrefix}Version{FPrefix} + Console.WriteLine($"Version: {cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + FW_Ver_Li = New Dictionary(Of String, String) + Remark_Li = New Dictionary(Of String, String) + For r = 0 To dtTable.Rows.Count - 1 + addItems.Add(dtTable(r)(0)) + If Not Remark_Li.ContainsKey(dtTable(r)(0)) Then + Remark_Li.Add(dtTable(r)(0), dtTable(r)(1)) + FW_Ver_Li.Add(dtTable(r)(0), dtTable(r)(2)) + End If + + Next + CBoTVVersion.Items.AddRange(addItems.ToArray) + + db.Close() + End Using + Catch ex As Exception + Console.WriteLine($"版本 Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 下载电视保护 + ''' + ''' + Private Function DoenloadTvProtect() As Boolean + If CBoTVBrand.Text = "" Or CBoTVBrand.Text = " " Then + Return False + Exit Function + End If + + If CBoTVModel.Text = "" Or CBoTVModel.Text = " " Then + Return False + Exit Function + End If + + If CBoTVVersion.Text = "" Or CBoTVVersion.Text = " " Then + Return False + Exit Function + End If + Return True + End Function + + + ''' + ''' 开始下载电视文件 + ''' + Private Sub StartTvDownload() + If Directory.Exists(_downFile) = False Then Directory.CreateDirectory(_downFile) + + Dim brandtxt As String = CBoTVBrand.Text + Dim modeltxt As String = CBoTVModel.Text + Dim versiontxt As String = CBoTVVersion.Text + + Dim connString As String = ConnSQLString() + Try + Using db As New DbExecutor(RemoteDbType, connString) + db.Open() + + Dim dbName As String = RemoteDbName + Dim tableName As String = "TBL_RCU_InfraredPacket" + Dim colNames As New List(Of String) From {"Type", "Brand", "Model", "Version", "PacketName", "PacketData", "PacketMD5"} + Dim cmdText As String = db.CmdHelper.DbSearch(dbName, colNames, tableName, $"{FPrefix}Type{FPrefix} = '电视' And {FPrefix}Brand{FPrefix} = '{brandtxt}' And {FPrefix}Model{FPrefix} = '{modeltxt}'And {FPrefix}Version{FPrefix} = '{versiontxt}'") + Console.WriteLine($"下载电视语句:{cmdText}") + + Dim dtTable As DataTable = db.ExecuteDataTable(cmdText) + + '云端的MD5值 + Dim packetName As String = dtTable(0)("PacketName") + Dim md5Cloud As String = dtTable(0)("PacketMD5") + Console.WriteLine($"电视包名:{dtTable(0)("PacketName")}") + + Dim pData() As Byte = dtTable(0)("PacketData") + Console.WriteLine($"电视包数据:{System.Text.UTF8Encoding.UTF8.GetString(pData)}") + + IO.File.WriteAllBytes($"{_downFile}\{packetName}", pData) + PauseWait(200) + + '本地的MD5值 + Dim md5load As String = GetFileMd5($"{_downFile}\{packetName}") + Console.WriteLine($"云端MD5值:{md5Cloud}") + Console.WriteLine($"本地MD5值:{md5load}") + + If String.Compare(md5Cloud, md5load) = 0 Then + TextBox1.Text = $"{_downFile}\{packetName}" + MsgBox($"校验完成,文件无误,已导入成功!") + Else + MsgBox($"校验失败! 请重试") + End If + + db.Close() + End Using + + Catch ex As Exception + Console.WriteLine($"Strat Download Error:{ex.Message}") + End Try + + End Sub + + +#End Region + +#End Region + +#Region "添加记录" + + ''' + ''' 添加记录 + ''' + ''' + ''' + Private Sub AppendTipText(recordString As String, col As Color) + ' FrmRCU.AppendTipText(recordString, col) + + If InvokeRequired Then + Invoke(New Action(Sub() + FrmRCU.AppendTipText(recordString, col) + End Sub)) + Else + FrmRCU.AppendTipText(recordString, col) + End If + End Sub + + Private Sub CboVersion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboVersion.SelectedIndexChanged + If Remark_Li.ContainsKey(CboVersion.Text) Then + TextBox2.Text = Remark_Li.Item(CboVersion.Text) + Label6.Text = FW_Ver_Li.Item(CboVersion.Text) + End If + End Sub + 'CZH 20240313 增加電視備注顯示 + Private Sub CBoTVVersion_TabIndexChanged(sender As Object, e As EventArgs) Handles CBoTVVersion.SelectedIndexChanged + If Remark_Li.ContainsKey(CBoTVVersion.Text) Then + TextBox3.Text = Remark_Li.Item(CBoTVVersion.Text) + Label5.Text = FW_Ver_Li.Item(CBoTVVersion.Text) + End If + End Sub + + Private Sub TextBox4_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox4.KeyPress + ' 允许输入数字、Backspace和退出键 + If Not Char.IsControl(e.KeyChar) AndAlso Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> ChrW(8) Then + e.Handled = True + End If + End Sub + Public cntinde As Integer = 0 + Private Sub Label89_Click(sender As Object, e As EventArgs) Handles Label89.Click + cntinde = cntinde + 1 + If cntinde = 5 Then + TabPage2.Parent = TabControl3 + cntinde = 0 + TextBox2.Visible = True + TextBox3.Visible = True + Label2.Visible = True + Label1.Visible = True + Else + TabPage2.Parent = Nothing + TextBox2.Visible = False + TextBox3.Visible = False + Label2.Visible = False + Label1.Visible = False + End If + End Sub + + + + +#End Region + + + +End Class \ No newline at end of file diff --git a/RCU-10/RCU/FrmPassword.Designer.vb b/RCU-10/RCU/FrmPassword.Designer.vb new file mode 100644 index 0000000..6da23c3 --- /dev/null +++ b/RCU-10/RCU/FrmPassword.Designer.vb @@ -0,0 +1,104 @@ + _ +Partial Class FrmPassword + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Me.Label1 = New System.Windows.Forms.Label() + Me.TboPassword = New System.Windows.Forms.TextBox() + Me.Label2 = New System.Windows.Forms.Label() + Me.BtnOK = New System.Windows.Forms.Button() + Me.BtnCancel = New System.Windows.Forms.Button() + Me.SuspendLayout + ' + 'Label1 + ' + Me.Label1.AutoSize = true + Me.Label1.Font = New System.Drawing.Font("新宋体", 15.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label1.Location = New System.Drawing.Point(12, 24) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(148, 21) + Me.Label1.TabIndex = 0 + Me.Label1.Text = "请输入密码:" + ' + 'TboPassword + ' + Me.TboPassword.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.TboPassword.Location = New System.Drawing.Point(88, 80) + Me.TboPassword.Name = "TboPassword" + Me.TboPassword.PasswordChar = Global.Microsoft.VisualBasic.ChrW(42) + Me.TboPassword.Size = New System.Drawing.Size(226, 23) + Me.TboPassword.TabIndex = 1 + ' + 'Label2 + ' + Me.Label2.AutoSize = true + Me.Label2.Font = New System.Drawing.Font("新宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label2.Location = New System.Drawing.Point(12, 83) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(70, 14) + Me.Label2.TabIndex = 2 + Me.Label2.Text = "PassWord:" + ' + 'BtnOK + ' + Me.BtnOK.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnOK.Location = New System.Drawing.Point(137, 145) + Me.BtnOK.Name = "BtnOK" + Me.BtnOK.Size = New System.Drawing.Size(75, 32) + Me.BtnOK.TabIndex = 3 + Me.BtnOK.Text = "确认" + Me.BtnOK.UseVisualStyleBackColor = true + ' + 'BtnCancel + ' + Me.BtnCancel.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCancel.Location = New System.Drawing.Point(239, 145) + Me.BtnCancel.Name = "BtnCancel" + Me.BtnCancel.Size = New System.Drawing.Size(75, 32) + Me.BtnCancel.TabIndex = 4 + Me.BtnCancel.Text = "取消" + Me.BtnCancel.UseVisualStyleBackColor = true + ' + 'FrmPassword + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 12!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(332, 197) + Me.Controls.Add(Me.BtnCancel) + Me.Controls.Add(Me.BtnOK) + Me.Controls.Add(Me.Label2) + Me.Controls.Add(Me.TboPassword) + Me.Controls.Add(Me.Label1) + Me.Name = "FrmPassword" + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "提示" + Me.ResumeLayout(false) + Me.PerformLayout + +End Sub + + Friend WithEvents Label1 As Label + Friend WithEvents TboPassword As TextBox + Friend WithEvents Label2 As Label + Friend WithEvents BtnOK As Button + Friend WithEvents BtnCancel As Button +End Class diff --git a/RCU-10/RCU/FrmPassword.resx b/RCU-10/RCU/FrmPassword.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/RCU-10/RCU/FrmPassword.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/RCU-10/RCU/FrmPassword.vb b/RCU-10/RCU/FrmPassword.vb new file mode 100644 index 0000000..b25baf7 --- /dev/null +++ b/RCU-10/RCU/FrmPassword.vb @@ -0,0 +1,69 @@ +Public Class FrmPassword + + ''' + ''' 密码 + ''' + Private _password As String = $"885533" + + + ''' + ''' 是否删除 + ''' + Public _isDel As Boolean + + + ''' + ''' 打开窗体 + ''' + Public Sub OpenFrmPass() + Show() 'Show为非阻塞式,循环继续执行,ShowDialog为阻塞式,等待窗体完成后继续执行 + End Sub + + + ''' + ''' 显示窗体 + ''' + Public Sub ShowMyDialog() + ShowDialog() + End Sub + + + ''' + ''' 确认 + ''' + ''' + ''' + Private Sub BtnOK_Click(sender As Object, e As EventArgs) Handles BtnOK.Click + DialogResult = DialogResult.OK + End Sub + + + ''' + ''' 取消 + ''' + ''' + ''' + Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click + DialogResult = DialogResult.Cancel + Close() + End Sub + + + ''' + ''' 是否删除 + ''' + ''' + Public Function IsDelete() As Boolean + If _password = TboPassword.Text Then + _isDel = True + Console.WriteLine($"是否删除 = " & _isDel) + Else + _isDel = False + Console.WriteLine($"是否删除 = " & _isDel) + Return False + End If + + Return True + End Function + +End Class diff --git a/RCU-10/RCU/FrmRCU.Designer.vb b/RCU-10/RCU/FrmRCU.Designer.vb new file mode 100644 index 0000000..880f531 --- /dev/null +++ b/RCU-10/RCU/FrmRCU.Designer.vb @@ -0,0 +1,1433 @@ + +Partial Class FrmRCU + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FrmRCU)) + Me.RdoStatus = New System.Windows.Forms.RadioButton() + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.Panel1 = New System.Windows.Forms.Panel() + Me.BtnReset = New System.Windows.Forms.Button() + Me.LblLongPort2 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.LblLocalPort1 = New System.Windows.Forms.Label() + Me.LblLongPort = New System.Windows.Forms.Label() + Me.LblLocalPort = New System.Windows.Forms.Label() + Me.LblTXCount = New System.Windows.Forms.Label() + Me.LblTX = New System.Windows.Forms.Label() + Me.LblRXCount = New System.Windows.Forms.Label() + Me.LblRX = New System.Windows.Forms.Label() + Me.LblLongIP2 = New System.Windows.Forms.Label() + Me.LblLongIP1 = New System.Windows.Forms.Label() + Me.LblLocalIp1 = New System.Windows.Forms.Label() + Me.LblLocalIp = New System.Windows.Forms.Label() + Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() + Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() + Me.FileSystemWatcher1 = New System.IO.FileSystemWatcher() + Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() + Me.BackgroundWorker2 = New System.ComponentModel.BackgroundWorker() + Me.SerialPort = New System.IO.Ports.SerialPort(Me.components) + Me.SplContainer1 = New System.Windows.Forms.SplitContainer() + Me.TabControl2 = New System.Windows.Forms.TabControl() + Me.PageRecord = New System.Windows.Forms.TabPage() + Me.GrpNewsletter = New System.Windows.Forms.GroupBox() + Me.RtxRecord = New System.Windows.Forms.RichTextBox() + Me.BtnClear = New System.Windows.Forms.Button() + Me.PagePort1 = New System.Windows.Forms.TabPage() + Me.GrpPort1Data = New System.Windows.Forms.GroupBox() + Me.Button2 = New System.Windows.Forms.Button() + Me.RtxCountOne = New System.Windows.Forms.RichTextBox() + Me.BtnPort1Clear = New System.Windows.Forms.Button() + Me.LblCount1RX = New System.Windows.Forms.Label() + Me.LblCountPort1TX = New System.Windows.Forms.Label() + Me.LblCount1TX = New System.Windows.Forms.Label() + Me.LblCountPort1RX = New System.Windows.Forms.Label() + Me.PagePort2 = New System.Windows.Forms.TabPage() + Me.GrpPort2Data = New System.Windows.Forms.GroupBox() + Me.Button1 = New System.Windows.Forms.Button() + Me.BtnPort2Clear = New System.Windows.Forms.Button() + Me.RtxCountTwo = New System.Windows.Forms.RichTextBox() + Me.LblCount2TX = New System.Windows.Forms.Label() + Me.LblCountPort2TX = New System.Windows.Forms.Label() + Me.LblCount2RX = New System.Windows.Forms.Label() + Me.LblCountPort2RX = New System.Windows.Forms.Label() + Me.PagePort3 = New System.Windows.Forms.TabPage() + Me.GrpPort3Data = New System.Windows.Forms.GroupBox() + Me.Button3 = New System.Windows.Forms.Button() + Me.RtxCountThree = New System.Windows.Forms.RichTextBox() + Me.BtnPort3Clear = New System.Windows.Forms.Button() + Me.LblCount3TX = New System.Windows.Forms.Label() + Me.LblCount3RX = New System.Windows.Forms.Label() + Me.LblCountPort3TX = New System.Windows.Forms.Label() + Me.LblCountPort3RX = New System.Windows.Forms.Label() + Me.TabFunction = New System.Windows.Forms.TabControl() + Me.PageInfrastructure = New System.Windows.Forms.TabPage() + Me.GrpSerialAppMode = New System.Windows.Forms.GroupBox() + Me.NudSerialAppPort = New System.Windows.Forms.NumericUpDown() + Me.BtnSend = New System.Windows.Forms.Button() + Me.TxtSendSerialApp = New System.Windows.Forms.TextBox() + Me.LblSerialAppData = New System.Windows.Forms.Label() + Me.NudTimeOut3 = New System.Windows.Forms.NumericUpDown() + Me.LblTimeOut3 = New System.Windows.Forms.Label() + Me.LblPort5 = New System.Windows.Forms.Label() + Me.GrpReadMode = New System.Windows.Forms.GroupBox() + Me.ChkShowHeartBeat = New System.Windows.Forms.CheckBox() + Me.NudMonitoring = New System.Windows.Forms.NumericUpDown() + Me.NudTimeOut2 = New System.Windows.Forms.NumericUpDown() + Me.NudSetPort = New System.Windows.Forms.NumericUpDown() + Me.LblTimeOut2 = New System.Windows.Forms.Label() + Me.CboMode = New System.Windows.Forms.ComboBox() + Me.LblPort4 = New System.Windows.Forms.Label() + Me.NudSerialPort = New System.Windows.Forms.NumericUpDown() + Me.BtnMonitoring = New System.Windows.Forms.Button() + Me.NudTimeOut1 = New System.Windows.Forms.NumericUpDown() + Me.LblPort2 = New System.Windows.Forms.Label() + Me.LblTimeOut1 = New System.Windows.Forms.Label() + Me.BtnRead = New System.Windows.Forms.Button() + Me.LblMode = New System.Windows.Forms.Label() + Me.BtnSet = New System.Windows.Forms.Button() + Me.CBoBaud = New System.Windows.Forms.ComboBox() + Me.LblPort3 = New System.Windows.Forms.Label() + Me.LblBaud = New System.Windows.Forms.Label() + Me.GrpBaseSet = New System.Windows.Forms.GroupBox() + Me.RdoRadUdp = New System.Windows.Forms.RadioButton() + Me.RdoPort = New System.Windows.Forms.RadioButton() + Me.PnlUdp = New System.Windows.Forms.Panel() + Me.BtnNetworkConnect = New System.Windows.Forms.Button() + Me.NudRemotePort = New System.Windows.Forms.NumericUpDown() + Me.LblPort1 = New System.Windows.Forms.Label() + Me.NudLocalPort = New System.Windows.Forms.NumericUpDown() + Me.LblIP = New System.Windows.Forms.Label() + Me.CboLocalIp = New System.Windows.Forms.ComboBox() + Me.LbllongPort1 = New System.Windows.Forms.Label() + Me.LblLongIP = New System.Windows.Forms.Label() + Me.CboLongIP = New System.Windows.Forms.ComboBox() + Me.PnlPort = New System.Windows.Forms.Panel() + Me.BtnSerialPortConnect = New System.Windows.Forms.Button() + Me.Label69 = New System.Windows.Forms.Label() + Me.CboSerialPort = New System.Windows.Forms.ComboBox() + Me.Label71 = New System.Windows.Forms.Label() + Me.CboSerialBaud = New System.Windows.Forms.ComboBox() + Me.CmsDataTable = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.刷新列表ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.删除记录ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.Timer2 = New System.Windows.Forms.Timer(Me.components) + Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.Timer3 = New System.Windows.Forms.Timer(Me.components) + Me.Panel1.SuspendLayout() + CType(Me.FileSystemWatcher1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.SplContainer1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplContainer1.Panel1.SuspendLayout() + Me.SplContainer1.Panel2.SuspendLayout() + Me.SplContainer1.SuspendLayout() + Me.TabControl2.SuspendLayout() + Me.PageRecord.SuspendLayout() + Me.GrpNewsletter.SuspendLayout() + Me.PagePort1.SuspendLayout() + Me.GrpPort1Data.SuspendLayout() + Me.PagePort2.SuspendLayout() + Me.GrpPort2Data.SuspendLayout() + Me.PagePort3.SuspendLayout() + Me.GrpPort3Data.SuspendLayout() + Me.TabFunction.SuspendLayout() + Me.PageInfrastructure.SuspendLayout() + Me.GrpSerialAppMode.SuspendLayout() + CType(Me.NudSerialAppPort, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudTimeOut3, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GrpReadMode.SuspendLayout() + CType(Me.NudMonitoring, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudTimeOut2, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudSetPort, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudSerialPort, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudTimeOut1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.GrpBaseSet.SuspendLayout() + Me.PnlUdp.SuspendLayout() + CType(Me.NudRemotePort, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.NudLocalPort, System.ComponentModel.ISupportInitialize).BeginInit() + Me.PnlPort.SuspendLayout() + Me.CmsDataTable.SuspendLayout() + Me.SuspendLayout() + ' + 'RdoStatus + ' + Me.RdoStatus.AutoSize = True + Me.RdoStatus.Checked = True + Me.RdoStatus.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.RdoStatus.Location = New System.Drawing.Point(22, 10) + Me.RdoStatus.Name = "RdoStatus" + Me.RdoStatus.Size = New System.Drawing.Size(87, 24) + Me.RdoStatus.TabIndex = 2 + Me.RdoStatus.TabStop = True + Me.RdoStatus.Text = "无连接" + Me.RdoStatus.UseVisualStyleBackColor = True + ' + 'Timer1 + ' + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.BtnReset) + Me.Panel1.Controls.Add(Me.LblLongPort2) + Me.Panel1.Controls.Add(Me.Label12) + Me.Panel1.Controls.Add(Me.LblLocalPort1) + Me.Panel1.Controls.Add(Me.LblLongPort) + Me.Panel1.Controls.Add(Me.LblLocalPort) + Me.Panel1.Controls.Add(Me.LblTXCount) + Me.Panel1.Controls.Add(Me.LblTX) + Me.Panel1.Controls.Add(Me.LblRXCount) + Me.Panel1.Controls.Add(Me.LblRX) + Me.Panel1.Controls.Add(Me.LblLongIP2) + Me.Panel1.Controls.Add(Me.LblLongIP1) + Me.Panel1.Controls.Add(Me.LblLocalIp1) + Me.Panel1.Controls.Add(Me.LblLocalIp) + Me.Panel1.Controls.Add(Me.RdoStatus) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom + Me.Panel1.Location = New System.Drawing.Point(0, 645) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(1172, 44) + Me.Panel1.TabIndex = 4 + ' + 'BtnReset + ' + Me.BtnReset.Location = New System.Drawing.Point(1031, 6) + Me.BtnReset.Name = "BtnReset" + Me.BtnReset.Size = New System.Drawing.Size(46, 35) + Me.BtnReset.TabIndex = 16 + Me.BtnReset.Text = "Reset" + Me.BtnReset.UseVisualStyleBackColor = True + ' + 'LblLongPort2 + ' + Me.LblLongPort2.AutoSize = True + Me.LblLongPort2.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLongPort2.Location = New System.Drawing.Point(747, 12) + Me.LblLongPort2.Name = "LblLongPort2" + Me.LblLongPort2.Size = New System.Drawing.Size(56, 25) + Me.LblLongPort2.TabIndex = 15 + Me.LblLongPort2.Text = "0000" + ' + 'Label12 + ' + Me.Label12.AutoSize = True + Me.Label12.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label12.Location = New System.Drawing.Point(795, 12) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(0, 24) + Me.Label12.TabIndex = 14 + ' + 'LblLocalPort1 + ' + Me.LblLocalPort1.AutoSize = True + Me.LblLocalPort1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLocalPort1.Location = New System.Drawing.Point(413, 12) + Me.LblLocalPort1.Name = "LblLocalPort1" + Me.LblLocalPort1.Size = New System.Drawing.Size(56, 25) + Me.LblLocalPort1.TabIndex = 13 + Me.LblLocalPort1.Text = "0000" + ' + 'LblLongPort + ' + Me.LblLongPort.AutoSize = True + Me.LblLongPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLongPort.Location = New System.Drawing.Point(693, 15) + Me.LblLongPort.Name = "LblLongPort" + Me.LblLongPort.Size = New System.Drawing.Size(42, 20) + Me.LblLongPort.TabIndex = 12 + Me.LblLongPort.Text = "Port:" + ' + 'LblLocalPort + ' + Me.LblLocalPort.AutoSize = True + Me.LblLocalPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLocalPort.Location = New System.Drawing.Point(359, 15) + Me.LblLocalPort.Name = "LblLocalPort" + Me.LblLocalPort.Size = New System.Drawing.Size(42, 20) + Me.LblLocalPort.TabIndex = 11 + Me.LblLocalPort.Text = "Port:" + ' + 'LblTXCount + ' + Me.LblTXCount.AutoSize = True + Me.LblTXCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblTXCount.Location = New System.Drawing.Point(969, 13) + Me.LblTXCount.Name = "LblTXCount" + Me.LblTXCount.Size = New System.Drawing.Size(20, 24) + Me.LblTXCount.TabIndex = 10 + Me.LblTXCount.Text = "0" + ' + 'LblTX + ' + Me.LblTX.AutoSize = True + Me.LblTX.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblTX.Location = New System.Drawing.Point(924, 13) + Me.LblTX.Name = "LblTX" + Me.LblTX.Size = New System.Drawing.Size(41, 24) + Me.LblTX.TabIndex = 9 + Me.LblTX.Text = "TX:" + ' + 'LblRXCount + ' + Me.LblRXCount.AutoSize = True + Me.LblRXCount.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblRXCount.Location = New System.Drawing.Point(869, 13) + Me.LblRXCount.Name = "LblRXCount" + Me.LblRXCount.Size = New System.Drawing.Size(20, 24) + Me.LblRXCount.TabIndex = 8 + Me.LblRXCount.Text = "0" + ' + 'LblRX + ' + Me.LblRX.AutoSize = True + Me.LblRX.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblRX.Location = New System.Drawing.Point(824, 13) + Me.LblRX.Name = "LblRX" + Me.LblRX.Size = New System.Drawing.Size(42, 24) + Me.LblRX.TabIndex = 7 + Me.LblRX.Text = "RX:" + ' + 'LblLongIP2 + ' + Me.LblLongIP2.AutoSize = True + Me.LblLongIP2.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLongIP2.Location = New System.Drawing.Point(553, 12) + Me.LblLongIP2.Name = "LblLongIP2" + Me.LblLongIP2.Size = New System.Drawing.Size(115, 25) + Me.LblLongIP2.TabIndex = 6 + Me.LblLongIP2.Text = "192.168.1.1" + ' + 'LblLongIP1 + ' + Me.LblLongIP1.AutoSize = True + Me.LblLongIP1.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLongIP1.Location = New System.Drawing.Point(480, 16) + Me.LblLongIP1.Name = "LblLongIP1" + Me.LblLongIP1.Size = New System.Drawing.Size(60, 20) + Me.LblLongIP1.TabIndex = 5 + Me.LblLongIP1.Text = "远程IP:" + ' + 'LblLocalIp1 + ' + Me.LblLocalIp1.AutoSize = True + Me.LblLocalIp1.Font = New System.Drawing.Font("Microsoft Sans Serif", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLocalIp1.Location = New System.Drawing.Point(220, 12) + Me.LblLocalIp1.Name = "LblLocalIp1" + Me.LblLocalIp1.Size = New System.Drawing.Size(115, 25) + Me.LblLocalIp1.TabIndex = 4 + Me.LblLocalIp1.Text = "192.168.1.1" + ' + 'LblLocalIp + ' + Me.LblLocalIp.AutoSize = True + Me.LblLocalIp.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLocalIp.Location = New System.Drawing.Point(150, 15) + Me.LblLocalIp.Name = "LblLocalIp" + Me.LblLocalIp.Size = New System.Drawing.Size(60, 20) + Me.LblLocalIp.TabIndex = 3 + Me.LblLocalIp.Text = "本地IP:" + ' + 'OpenFileDialog1 + ' + Me.OpenFileDialog1.FileName = "OpenFileDialog1" + ' + 'FileSystemWatcher1 + ' + Me.FileSystemWatcher1.EnableRaisingEvents = True + Me.FileSystemWatcher1.SynchronizingObject = Me + ' + 'SerialPort + ' + ' + 'SplContainer1 + ' + Me.SplContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.SplContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplContainer1.Name = "SplContainer1" + ' + 'SplContainer1.Panel1 + ' + Me.SplContainer1.Panel1.Controls.Add(Me.TabControl2) + ' + 'SplContainer1.Panel2 + ' + Me.SplContainer1.Panel2.Controls.Add(Me.TabFunction) + Me.SplContainer1.Size = New System.Drawing.Size(1172, 645) + Me.SplContainer1.SplitterDistance = 557 + Me.SplContainer1.TabIndex = 0 + ' + 'TabControl2 + ' + Me.TabControl2.Controls.Add(Me.PageRecord) + Me.TabControl2.Controls.Add(Me.PagePort1) + Me.TabControl2.Controls.Add(Me.PagePort2) + Me.TabControl2.Controls.Add(Me.PagePort3) + Me.TabControl2.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabControl2.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TabControl2.Location = New System.Drawing.Point(0, 0) + Me.TabControl2.Name = "TabControl2" + Me.TabControl2.SelectedIndex = 0 + Me.TabControl2.Size = New System.Drawing.Size(555, 643) + Me.TabControl2.TabIndex = 1 + ' + 'PageRecord + ' + Me.PageRecord.Controls.Add(Me.GrpNewsletter) + Me.PageRecord.Location = New System.Drawing.Point(4, 26) + Me.PageRecord.Name = "PageRecord" + Me.PageRecord.Padding = New System.Windows.Forms.Padding(3) + Me.PageRecord.Size = New System.Drawing.Size(547, 613) + Me.PageRecord.TabIndex = 0 + Me.PageRecord.Text = "通讯记录" + Me.PageRecord.UseVisualStyleBackColor = True + ' + 'GrpNewsletter + ' + Me.GrpNewsletter.Controls.Add(Me.RtxRecord) + Me.GrpNewsletter.Controls.Add(Me.BtnClear) + Me.GrpNewsletter.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpNewsletter.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpNewsletter.Location = New System.Drawing.Point(3, 3) + Me.GrpNewsletter.Name = "GrpNewsletter" + Me.GrpNewsletter.Size = New System.Drawing.Size(541, 607) + Me.GrpNewsletter.TabIndex = 0 + Me.GrpNewsletter.TabStop = False + Me.GrpNewsletter.Text = "总信息" + ' + 'RtxRecord + ' + Me.RtxRecord.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.RtxRecord.Dock = System.Windows.Forms.DockStyle.Top + Me.RtxRecord.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.RtxRecord.Location = New System.Drawing.Point(3, 19) + Me.RtxRecord.Name = "RtxRecord" + Me.RtxRecord.Size = New System.Drawing.Size(535, 546) + Me.RtxRecord.TabIndex = 5 + Me.RtxRecord.Text = "" + ' + 'BtnClear + ' + Me.BtnClear.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.BtnClear.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnClear.Location = New System.Drawing.Point(449, 571) + Me.BtnClear.Name = "BtnClear" + Me.BtnClear.Size = New System.Drawing.Size(74, 32) + Me.BtnClear.TabIndex = 4 + Me.BtnClear.Text = "清除记录" + Me.BtnClear.UseVisualStyleBackColor = True + ' + 'PagePort1 + ' + Me.PagePort1.Controls.Add(Me.GrpPort1Data) + Me.PagePort1.Location = New System.Drawing.Point(4, 26) + Me.PagePort1.Name = "PagePort1" + Me.PagePort1.Size = New System.Drawing.Size(547, 613) + Me.PagePort1.TabIndex = 1 + Me.PagePort1.Text = "端口1数据" + Me.PagePort1.UseVisualStyleBackColor = True + ' + 'GrpPort1Data + ' + Me.GrpPort1Data.Controls.Add(Me.Button2) + Me.GrpPort1Data.Controls.Add(Me.RtxCountOne) + Me.GrpPort1Data.Controls.Add(Me.BtnPort1Clear) + Me.GrpPort1Data.Controls.Add(Me.LblCount1RX) + Me.GrpPort1Data.Controls.Add(Me.LblCountPort1TX) + Me.GrpPort1Data.Controls.Add(Me.LblCount1TX) + Me.GrpPort1Data.Controls.Add(Me.LblCountPort1RX) + Me.GrpPort1Data.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpPort1Data.Location = New System.Drawing.Point(0, 0) + Me.GrpPort1Data.Name = "GrpPort1Data" + Me.GrpPort1Data.Size = New System.Drawing.Size(547, 613) + Me.GrpPort1Data.TabIndex = 23 + Me.GrpPort1Data.TabStop = False + Me.GrpPort1Data.Text = "Port1Data" + ' + 'Button2 + ' + Me.Button2.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Button2.Location = New System.Drawing.Point(330, 577) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(62, 29) + Me.Button2.TabIndex = 24 + Me.Button2.Text = "停止刷新" + Me.Button2.UseVisualStyleBackColor = True + ' + 'RtxCountOne + ' + Me.RtxCountOne.Dock = System.Windows.Forms.DockStyle.Top + Me.RtxCountOne.Location = New System.Drawing.Point(3, 22) + Me.RtxCountOne.Name = "RtxCountOne" + Me.RtxCountOne.Size = New System.Drawing.Size(541, 553) + Me.RtxCountOne.TabIndex = 4 + Me.RtxCountOne.Text = "" + ' + 'BtnPort1Clear + ' + Me.BtnPort1Clear.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnPort1Clear.Location = New System.Drawing.Point(412, 575) + Me.BtnPort1Clear.Name = "BtnPort1Clear" + Me.BtnPort1Clear.Size = New System.Drawing.Size(62, 30) + Me.BtnPort1Clear.TabIndex = 23 + Me.BtnPort1Clear.Text = "清空" + Me.BtnPort1Clear.UseVisualStyleBackColor = True + ' + 'LblCount1RX + ' + Me.LblCount1RX.AutoSize = True + Me.LblCount1RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount1RX.Location = New System.Drawing.Point(145, 581) + Me.LblCount1RX.Name = "LblCount1RX" + Me.LblCount1RX.Size = New System.Drawing.Size(36, 20) + Me.LblCount1RX.TabIndex = 16 + Me.LblCount1RX.Text = "RX:" + ' + 'LblCountPort1TX + ' + Me.LblCountPort1TX.AutoSize = True + Me.LblCountPort1TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort1TX.Location = New System.Drawing.Point(75, 581) + Me.LblCountPort1TX.Name = "LblCountPort1TX" + Me.LblCountPort1TX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort1TX.TabIndex = 10 + Me.LblCountPort1TX.Text = "0" + ' + 'LblCount1TX + ' + Me.LblCount1TX.AutoSize = True + Me.LblCount1TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount1TX.Location = New System.Drawing.Point(25, 581) + Me.LblCount1TX.Name = "LblCount1TX" + Me.LblCount1TX.Size = New System.Drawing.Size(33, 20) + Me.LblCount1TX.TabIndex = 9 + Me.LblCount1TX.Text = "TX:" + ' + 'LblCountPort1RX + ' + Me.LblCountPort1RX.AutoSize = True + Me.LblCountPort1RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort1RX.Location = New System.Drawing.Point(195, 581) + Me.LblCountPort1RX.Name = "LblCountPort1RX" + Me.LblCountPort1RX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort1RX.TabIndex = 17 + Me.LblCountPort1RX.Text = "0" + ' + 'PagePort2 + ' + Me.PagePort2.Controls.Add(Me.GrpPort2Data) + Me.PagePort2.Location = New System.Drawing.Point(4, 26) + Me.PagePort2.Name = "PagePort2" + Me.PagePort2.Size = New System.Drawing.Size(547, 613) + Me.PagePort2.TabIndex = 2 + Me.PagePort2.Text = "端口2数据" + Me.PagePort2.UseVisualStyleBackColor = True + ' + 'GrpPort2Data + ' + Me.GrpPort2Data.Controls.Add(Me.Button1) + Me.GrpPort2Data.Controls.Add(Me.BtnPort2Clear) + Me.GrpPort2Data.Controls.Add(Me.RtxCountTwo) + Me.GrpPort2Data.Controls.Add(Me.LblCount2TX) + Me.GrpPort2Data.Controls.Add(Me.LblCountPort2TX) + Me.GrpPort2Data.Controls.Add(Me.LblCount2RX) + Me.GrpPort2Data.Controls.Add(Me.LblCountPort2RX) + Me.GrpPort2Data.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpPort2Data.Location = New System.Drawing.Point(0, 0) + Me.GrpPort2Data.Name = "GrpPort2Data" + Me.GrpPort2Data.Size = New System.Drawing.Size(547, 613) + Me.GrpPort2Data.TabIndex = 24 + Me.GrpPort2Data.TabStop = False + Me.GrpPort2Data.Text = "Port2Data" + ' + 'Button1 + ' + Me.Button1.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Button1.Location = New System.Drawing.Point(328, 575) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(62, 29) + Me.Button1.TabIndex = 16 + Me.Button1.Text = "停止刷新" + Me.Button1.UseVisualStyleBackColor = True + ' + 'BtnPort2Clear + ' + Me.BtnPort2Clear.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnPort2Clear.Location = New System.Drawing.Point(412, 575) + Me.BtnPort2Clear.Name = "BtnPort2Clear" + Me.BtnPort2Clear.Size = New System.Drawing.Size(62, 30) + Me.BtnPort2Clear.TabIndex = 24 + Me.BtnPort2Clear.Text = "清空" + Me.BtnPort2Clear.UseVisualStyleBackColor = True + ' + 'RtxCountTwo + ' + Me.RtxCountTwo.Dock = System.Windows.Forms.DockStyle.Top + Me.RtxCountTwo.Location = New System.Drawing.Point(3, 22) + Me.RtxCountTwo.Name = "RtxCountTwo" + Me.RtxCountTwo.Size = New System.Drawing.Size(541, 553) + Me.RtxCountTwo.TabIndex = 5 + Me.RtxCountTwo.Text = "" + ' + 'LblCount2TX + ' + Me.LblCount2TX.AutoSize = True + Me.LblCount2TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount2TX.Location = New System.Drawing.Point(25, 581) + Me.LblCount2TX.Name = "LblCount2TX" + Me.LblCount2TX.Size = New System.Drawing.Size(33, 20) + Me.LblCount2TX.TabIndex = 11 + Me.LblCount2TX.Text = "TX:" + ' + 'LblCountPort2TX + ' + Me.LblCountPort2TX.AutoSize = True + Me.LblCountPort2TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort2TX.Location = New System.Drawing.Point(75, 581) + Me.LblCountPort2TX.Name = "LblCountPort2TX" + Me.LblCountPort2TX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort2TX.TabIndex = 12 + Me.LblCountPort2TX.Text = "0" + ' + 'LblCount2RX + ' + Me.LblCount2RX.AutoSize = True + Me.LblCount2RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount2RX.Location = New System.Drawing.Point(145, 581) + Me.LblCount2RX.Name = "LblCount2RX" + Me.LblCount2RX.Size = New System.Drawing.Size(36, 20) + Me.LblCount2RX.TabIndex = 18 + Me.LblCount2RX.Text = "RX:" + ' + 'LblCountPort2RX + ' + Me.LblCountPort2RX.AutoSize = True + Me.LblCountPort2RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort2RX.Location = New System.Drawing.Point(195, 581) + Me.LblCountPort2RX.Name = "LblCountPort2RX" + Me.LblCountPort2RX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort2RX.TabIndex = 19 + Me.LblCountPort2RX.Text = "0" + ' + 'PagePort3 + ' + Me.PagePort3.Controls.Add(Me.GrpPort3Data) + Me.PagePort3.Location = New System.Drawing.Point(4, 26) + Me.PagePort3.Name = "PagePort3" + Me.PagePort3.Size = New System.Drawing.Size(547, 613) + Me.PagePort3.TabIndex = 3 + Me.PagePort3.Text = "端口3数据" + Me.PagePort3.UseVisualStyleBackColor = True + ' + 'GrpPort3Data + ' + Me.GrpPort3Data.Controls.Add(Me.Button3) + Me.GrpPort3Data.Controls.Add(Me.RtxCountThree) + Me.GrpPort3Data.Controls.Add(Me.BtnPort3Clear) + Me.GrpPort3Data.Controls.Add(Me.LblCount3TX) + Me.GrpPort3Data.Controls.Add(Me.LblCount3RX) + Me.GrpPort3Data.Controls.Add(Me.LblCountPort3TX) + Me.GrpPort3Data.Controls.Add(Me.LblCountPort3RX) + Me.GrpPort3Data.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrpPort3Data.Location = New System.Drawing.Point(0, 0) + Me.GrpPort3Data.Name = "GrpPort3Data" + Me.GrpPort3Data.Size = New System.Drawing.Size(547, 613) + Me.GrpPort3Data.TabIndex = 25 + Me.GrpPort3Data.TabStop = False + Me.GrpPort3Data.Text = "Port3Data" + ' + 'Button3 + ' + Me.Button3.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Button3.Location = New System.Drawing.Point(329, 577) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(62, 29) + Me.Button3.TabIndex = 23 + Me.Button3.Text = "停止刷新" + Me.Button3.UseVisualStyleBackColor = True + ' + 'RtxCountThree + ' + Me.RtxCountThree.Dock = System.Windows.Forms.DockStyle.Top + Me.RtxCountThree.Location = New System.Drawing.Point(3, 22) + Me.RtxCountThree.Name = "RtxCountThree" + Me.RtxCountThree.Size = New System.Drawing.Size(541, 553) + Me.RtxCountThree.TabIndex = 6 + Me.RtxCountThree.Text = "" + ' + 'BtnPort3Clear + ' + Me.BtnPort3Clear.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnPort3Clear.Location = New System.Drawing.Point(412, 575) + Me.BtnPort3Clear.Name = "BtnPort3Clear" + Me.BtnPort3Clear.Size = New System.Drawing.Size(62, 30) + Me.BtnPort3Clear.TabIndex = 22 + Me.BtnPort3Clear.Text = "清空" + Me.BtnPort3Clear.UseVisualStyleBackColor = True + ' + 'LblCount3TX + ' + Me.LblCount3TX.AutoSize = True + Me.LblCount3TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount3TX.Location = New System.Drawing.Point(25, 581) + Me.LblCount3TX.Name = "LblCount3TX" + Me.LblCount3TX.Size = New System.Drawing.Size(33, 20) + Me.LblCount3TX.TabIndex = 13 + Me.LblCount3TX.Text = "TX:" + ' + 'LblCount3RX + ' + Me.LblCount3RX.AutoSize = True + Me.LblCount3RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCount3RX.Location = New System.Drawing.Point(145, 581) + Me.LblCount3RX.Name = "LblCount3RX" + Me.LblCount3RX.Size = New System.Drawing.Size(36, 20) + Me.LblCount3RX.TabIndex = 20 + Me.LblCount3RX.Text = "RX:" + ' + 'LblCountPort3TX + ' + Me.LblCountPort3TX.AutoSize = True + Me.LblCountPort3TX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort3TX.Location = New System.Drawing.Point(75, 581) + Me.LblCountPort3TX.Name = "LblCountPort3TX" + Me.LblCountPort3TX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort3TX.TabIndex = 14 + Me.LblCountPort3TX.Text = "0" + ' + 'LblCountPort3RX + ' + Me.LblCountPort3RX.AutoSize = True + Me.LblCountPort3RX.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblCountPort3RX.Location = New System.Drawing.Point(195, 581) + Me.LblCountPort3RX.Name = "LblCountPort3RX" + Me.LblCountPort3RX.Size = New System.Drawing.Size(18, 20) + Me.LblCountPort3RX.TabIndex = 21 + Me.LblCountPort3RX.Text = "0" + ' + 'TabFunction + ' + Me.TabFunction.Controls.Add(Me.PageInfrastructure) + Me.TabFunction.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabFunction.Font = New System.Drawing.Font("宋体", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.TabFunction.Location = New System.Drawing.Point(0, 0) + Me.TabFunction.Multiline = True + Me.TabFunction.Name = "TabFunction" + Me.TabFunction.SelectedIndex = 0 + Me.TabFunction.Size = New System.Drawing.Size(609, 643) + Me.TabFunction.TabIndex = 15 + ' + 'PageInfrastructure + ' + Me.PageInfrastructure.Controls.Add(Me.GrpSerialAppMode) + Me.PageInfrastructure.Controls.Add(Me.GrpReadMode) + Me.PageInfrastructure.Controls.Add(Me.GrpBaseSet) + Me.PageInfrastructure.Location = New System.Drawing.Point(4, 26) + Me.PageInfrastructure.Name = "PageInfrastructure" + Me.PageInfrastructure.Padding = New System.Windows.Forms.Padding(3) + Me.PageInfrastructure.Size = New System.Drawing.Size(601, 613) + Me.PageInfrastructure.TabIndex = 1 + Me.PageInfrastructure.Text = "基础设置" + Me.PageInfrastructure.UseVisualStyleBackColor = True + ' + 'GrpSerialAppMode + ' + Me.GrpSerialAppMode.Controls.Add(Me.NudSerialAppPort) + Me.GrpSerialAppMode.Controls.Add(Me.BtnSend) + Me.GrpSerialAppMode.Controls.Add(Me.TxtSendSerialApp) + Me.GrpSerialAppMode.Controls.Add(Me.LblSerialAppData) + Me.GrpSerialAppMode.Controls.Add(Me.NudTimeOut3) + Me.GrpSerialAppMode.Controls.Add(Me.LblTimeOut3) + Me.GrpSerialAppMode.Controls.Add(Me.LblPort5) + Me.GrpSerialAppMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpSerialAppMode.Location = New System.Drawing.Point(6, 385) + Me.GrpSerialAppMode.Name = "GrpSerialAppMode" + Me.GrpSerialAppMode.Size = New System.Drawing.Size(530, 224) + Me.GrpSerialAppMode.TabIndex = 3 + Me.GrpSerialAppMode.TabStop = False + Me.GrpSerialAppMode.Text = "透传模式" + ' + 'NudSerialAppPort + ' + Me.NudSerialAppPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudSerialAppPort.Location = New System.Drawing.Point(84, 24) + Me.NudSerialAppPort.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.NudSerialAppPort.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.NudSerialAppPort.Name = "NudSerialAppPort" + Me.NudSerialAppPort.Size = New System.Drawing.Size(113, 23) + Me.NudSerialAppPort.TabIndex = 14 + Me.NudSerialAppPort.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'BtnSend + ' + Me.BtnSend.Location = New System.Drawing.Point(425, 18) + Me.BtnSend.Name = "BtnSend" + Me.BtnSend.Size = New System.Drawing.Size(80, 31) + Me.BtnSend.TabIndex = 12 + Me.BtnSend.Text = "发送" + Me.BtnSend.UseVisualStyleBackColor = True + ' + 'TxtSendSerialApp + ' + Me.TxtSendSerialApp.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.TxtSendSerialApp.Location = New System.Drawing.Point(84, 66) + Me.TxtSendSerialApp.Multiline = True + Me.TxtSendSerialApp.Name = "TxtSendSerialApp" + Me.TxtSendSerialApp.Size = New System.Drawing.Size(296, 128) + Me.TxtSendSerialApp.TabIndex = 11 + ' + 'LblSerialAppData + ' + Me.LblSerialAppData.AutoSize = True + Me.LblSerialAppData.Location = New System.Drawing.Point(22, 69) + Me.LblSerialAppData.Name = "LblSerialAppData" + Me.LblSerialAppData.Size = New System.Drawing.Size(40, 17) + Me.LblSerialAppData.TabIndex = 10 + Me.LblSerialAppData.Text = "透传:" + ' + 'NudTimeOut3 + ' + Me.NudTimeOut3.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudTimeOut3.Location = New System.Drawing.Point(267, 24) + Me.NudTimeOut3.Name = "NudTimeOut3" + Me.NudTimeOut3.Size = New System.Drawing.Size(113, 23) + Me.NudTimeOut3.TabIndex = 9 + Me.NudTimeOut3.Value = New Decimal(New Integer() {10, 0, 0, 0}) + ' + 'LblTimeOut3 + ' + Me.LblTimeOut3.AutoSize = True + Me.LblTimeOut3.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblTimeOut3.Location = New System.Drawing.Point(212, 26) + Me.LblTimeOut3.Name = "LblTimeOut3" + Me.LblTimeOut3.Size = New System.Drawing.Size(40, 17) + Me.LblTimeOut3.TabIndex = 8 + Me.LblTimeOut3.Text = "超时:" + ' + 'LblPort5 + ' + Me.LblPort5.AutoSize = True + Me.LblPort5.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblPort5.Location = New System.Drawing.Point(22, 26) + Me.LblPort5.Name = "LblPort5" + Me.LblPort5.Size = New System.Drawing.Size(38, 17) + Me.LblPort5.TabIndex = 4 + Me.LblPort5.Text = "Port:" + ' + 'GrpReadMode + ' + Me.GrpReadMode.Controls.Add(Me.ChkShowHeartBeat) + Me.GrpReadMode.Controls.Add(Me.NudMonitoring) + Me.GrpReadMode.Controls.Add(Me.NudTimeOut2) + Me.GrpReadMode.Controls.Add(Me.NudSetPort) + Me.GrpReadMode.Controls.Add(Me.LblTimeOut2) + Me.GrpReadMode.Controls.Add(Me.CboMode) + Me.GrpReadMode.Controls.Add(Me.LblPort4) + Me.GrpReadMode.Controls.Add(Me.NudSerialPort) + Me.GrpReadMode.Controls.Add(Me.BtnMonitoring) + Me.GrpReadMode.Controls.Add(Me.NudTimeOut1) + Me.GrpReadMode.Controls.Add(Me.LblPort2) + Me.GrpReadMode.Controls.Add(Me.LblTimeOut1) + Me.GrpReadMode.Controls.Add(Me.BtnRead) + Me.GrpReadMode.Controls.Add(Me.LblMode) + Me.GrpReadMode.Controls.Add(Me.BtnSet) + Me.GrpReadMode.Controls.Add(Me.CBoBaud) + Me.GrpReadMode.Controls.Add(Me.LblPort3) + Me.GrpReadMode.Controls.Add(Me.LblBaud) + Me.GrpReadMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpReadMode.Location = New System.Drawing.Point(6, 178) + Me.GrpReadMode.Name = "GrpReadMode" + Me.GrpReadMode.Size = New System.Drawing.Size(530, 201) + Me.GrpReadMode.TabIndex = 1 + Me.GrpReadMode.TabStop = False + Me.GrpReadMode.Text = "模式" + ' + 'ChkShowHeartBeat + ' + Me.ChkShowHeartBeat.AutoSize = True + Me.ChkShowHeartBeat.Checked = True + Me.ChkShowHeartBeat.CheckState = System.Windows.Forms.CheckState.Checked + Me.ChkShowHeartBeat.Location = New System.Drawing.Point(265, 28) + Me.ChkShowHeartBeat.Name = "ChkShowHeartBeat" + Me.ChkShowHeartBeat.Size = New System.Drawing.Size(111, 21) + Me.ChkShowHeartBeat.TabIndex = 15 + Me.ChkShowHeartBeat.Text = "不显示心跳包" + Me.ChkShowHeartBeat.UseVisualStyleBackColor = True + ' + 'NudMonitoring + ' + Me.NudMonitoring.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudMonitoring.Location = New System.Drawing.Point(84, 157) + Me.NudMonitoring.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.NudMonitoring.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.NudMonitoring.Name = "NudMonitoring" + Me.NudMonitoring.Size = New System.Drawing.Size(113, 23) + Me.NudMonitoring.TabIndex = 13 + Me.NudMonitoring.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'NudTimeOut2 + ' + Me.NudTimeOut2.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudTimeOut2.Location = New System.Drawing.Point(267, 157) + Me.NudTimeOut2.Maximum = New Decimal(New Integer() {1000, 0, 0, 0}) + Me.NudTimeOut2.Name = "NudTimeOut2" + Me.NudTimeOut2.Size = New System.Drawing.Size(113, 23) + Me.NudTimeOut2.TabIndex = 7 + Me.NudTimeOut2.Value = New Decimal(New Integer() {10, 0, 0, 0}) + ' + 'NudSetPort + ' + Me.NudSetPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudSetPort.Location = New System.Drawing.Point(84, 73) + Me.NudSetPort.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.NudSetPort.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.NudSetPort.Name = "NudSetPort" + Me.NudSetPort.Size = New System.Drawing.Size(113, 23) + Me.NudSetPort.TabIndex = 13 + Me.NudSetPort.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'LblTimeOut2 + ' + Me.LblTimeOut2.AutoSize = True + Me.LblTimeOut2.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblTimeOut2.Location = New System.Drawing.Point(212, 159) + Me.LblTimeOut2.Name = "LblTimeOut2" + Me.LblTimeOut2.Size = New System.Drawing.Size(40, 17) + Me.LblTimeOut2.TabIndex = 6 + Me.LblTimeOut2.Text = "超时:" + ' + 'CboMode + ' + Me.CboMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.CboMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboMode.FormattingEnabled = True + Me.CboMode.Location = New System.Drawing.Point(267, 112) + Me.CboMode.Name = "CboMode" + Me.CboMode.Size = New System.Drawing.Size(113, 25) + Me.CboMode.TabIndex = 9 + ' + 'LblPort4 + ' + Me.LblPort4.AutoSize = True + Me.LblPort4.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblPort4.Location = New System.Drawing.Point(22, 159) + Me.LblPort4.Name = "LblPort4" + Me.LblPort4.Size = New System.Drawing.Size(38, 17) + Me.LblPort4.TabIndex = 2 + Me.LblPort4.Text = "Port:" + ' + 'NudSerialPort + ' + Me.NudSerialPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudSerialPort.Location = New System.Drawing.Point(84, 28) + Me.NudSerialPort.Maximum = New Decimal(New Integer() {3, 0, 0, 0}) + Me.NudSerialPort.Minimum = New Decimal(New Integer() {1, 0, 0, 0}) + Me.NudSerialPort.Name = "NudSerialPort" + Me.NudSerialPort.Size = New System.Drawing.Size(113, 23) + Me.NudSerialPort.TabIndex = 12 + Me.NudSerialPort.Value = New Decimal(New Integer() {1, 0, 0, 0}) + ' + 'BtnMonitoring + ' + Me.BtnMonitoring.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnMonitoring.Location = New System.Drawing.Point(425, 151) + Me.BtnMonitoring.Name = "BtnMonitoring" + Me.BtnMonitoring.Size = New System.Drawing.Size(80, 31) + Me.BtnMonitoring.TabIndex = 1 + Me.BtnMonitoring.Text = "监控" + Me.BtnMonitoring.UseVisualStyleBackColor = True + ' + 'NudTimeOut1 + ' + Me.NudTimeOut1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudTimeOut1.Location = New System.Drawing.Point(267, 73) + Me.NudTimeOut1.Maximum = New Decimal(New Integer() {10000, 0, 0, 0}) + Me.NudTimeOut1.Name = "NudTimeOut1" + Me.NudTimeOut1.Size = New System.Drawing.Size(113, 23) + Me.NudTimeOut1.TabIndex = 7 + Me.NudTimeOut1.Value = New Decimal(New Integer() {10, 0, 0, 0}) + ' + 'LblPort2 + ' + Me.LblPort2.AutoSize = True + Me.LblPort2.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblPort2.Location = New System.Drawing.Point(22, 30) + Me.LblPort2.Name = "LblPort2" + Me.LblPort2.Size = New System.Drawing.Size(38, 17) + Me.LblPort2.TabIndex = 1 + Me.LblPort2.Text = "Port:" + ' + 'LblTimeOut1 + ' + Me.LblTimeOut1.AutoSize = True + Me.LblTimeOut1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblTimeOut1.Location = New System.Drawing.Point(212, 75) + Me.LblTimeOut1.Name = "LblTimeOut1" + Me.LblTimeOut1.Size = New System.Drawing.Size(40, 17) + Me.LblTimeOut1.TabIndex = 6 + Me.LblTimeOut1.Text = "超时:" + ' + 'BtnRead + ' + Me.BtnRead.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnRead.Location = New System.Drawing.Point(425, 22) + Me.BtnRead.Name = "BtnRead" + Me.BtnRead.Size = New System.Drawing.Size(80, 31) + Me.BtnRead.TabIndex = 0 + Me.BtnRead.Text = "读取模式" + Me.BtnRead.UseVisualStyleBackColor = True + ' + 'LblMode + ' + Me.LblMode.AutoSize = True + Me.LblMode.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblMode.Location = New System.Drawing.Point(212, 115) + Me.LblMode.Name = "LblMode" + Me.LblMode.Size = New System.Drawing.Size(40, 17) + Me.LblMode.TabIndex = 8 + Me.LblMode.Text = "模式:" + ' + 'BtnSet + ' + Me.BtnSet.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnSet.Location = New System.Drawing.Point(425, 75) + Me.BtnSet.Name = "BtnSet" + Me.BtnSet.Size = New System.Drawing.Size(80, 31) + Me.BtnSet.TabIndex = 1 + Me.BtnSet.Text = "设置模式" + Me.BtnSet.UseVisualStyleBackColor = True + ' + 'CBoBaud + ' + Me.CBoBaud.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.CBoBaud.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CBoBaud.FormattingEnabled = True + Me.CBoBaud.Location = New System.Drawing.Point(84, 112) + Me.CBoBaud.Name = "CBoBaud" + Me.CBoBaud.Size = New System.Drawing.Size(113, 25) + Me.CBoBaud.TabIndex = 5 + ' + 'LblPort3 + ' + Me.LblPort3.AutoSize = True + Me.LblPort3.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblPort3.Location = New System.Drawing.Point(22, 75) + Me.LblPort3.Name = "LblPort3" + Me.LblPort3.Size = New System.Drawing.Size(38, 17) + Me.LblPort3.TabIndex = 2 + Me.LblPort3.Text = "Port:" + ' + 'LblBaud + ' + Me.LblBaud.AutoSize = True + Me.LblBaud.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblBaud.Location = New System.Drawing.Point(22, 115) + Me.LblBaud.Name = "LblBaud" + Me.LblBaud.Size = New System.Drawing.Size(54, 17) + Me.LblBaud.TabIndex = 4 + Me.LblBaud.Text = "波特率:" + ' + 'GrpBaseSet + ' + Me.GrpBaseSet.Controls.Add(Me.RdoRadUdp) + Me.GrpBaseSet.Controls.Add(Me.RdoPort) + Me.GrpBaseSet.Controls.Add(Me.PnlUdp) + Me.GrpBaseSet.Controls.Add(Me.PnlPort) + Me.GrpBaseSet.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.GrpBaseSet.Location = New System.Drawing.Point(6, 6) + Me.GrpBaseSet.Name = "GrpBaseSet" + Me.GrpBaseSet.Size = New System.Drawing.Size(530, 166) + Me.GrpBaseSet.TabIndex = 0 + Me.GrpBaseSet.TabStop = False + Me.GrpBaseSet.Text = "通讯设置" + ' + 'RdoRadUdp + ' + Me.RdoRadUdp.AutoSize = True + Me.RdoRadUdp.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.RdoRadUdp.Location = New System.Drawing.Point(72, 31) + Me.RdoRadUdp.Name = "RdoRadUdp" + Me.RdoRadUdp.Size = New System.Drawing.Size(107, 24) + Me.RdoRadUdp.TabIndex = 13 + Me.RdoRadUdp.Text = "网络通讯" + Me.RdoRadUdp.UseVisualStyleBackColor = True + ' + 'RdoPort + ' + Me.RdoPort.AutoSize = True + Me.RdoPort.Checked = True + Me.RdoPort.Font = New System.Drawing.Font("宋体", 15.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.RdoPort.Location = New System.Drawing.Point(249, 31) + Me.RdoPort.Name = "RdoPort" + Me.RdoPort.Size = New System.Drawing.Size(107, 24) + Me.RdoPort.TabIndex = 12 + Me.RdoPort.TabStop = True + Me.RdoPort.Text = "串口通讯" + Me.RdoPort.UseVisualStyleBackColor = True + ' + 'PnlUdp + ' + Me.PnlUdp.Controls.Add(Me.BtnNetworkConnect) + Me.PnlUdp.Controls.Add(Me.NudRemotePort) + Me.PnlUdp.Controls.Add(Me.LblPort1) + Me.PnlUdp.Controls.Add(Me.NudLocalPort) + Me.PnlUdp.Controls.Add(Me.LblIP) + Me.PnlUdp.Controls.Add(Me.CboLocalIp) + Me.PnlUdp.Controls.Add(Me.LbllongPort1) + Me.PnlUdp.Controls.Add(Me.LblLongIP) + Me.PnlUdp.Controls.Add(Me.CboLongIP) + Me.PnlUdp.Location = New System.Drawing.Point(15, 61) + Me.PnlUdp.Name = "PnlUdp" + Me.PnlUdp.Size = New System.Drawing.Size(500, 96) + Me.PnlUdp.TabIndex = 12 + ' + 'BtnNetworkConnect + ' + Me.BtnNetworkConnect.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnNetworkConnect.ForeColor = System.Drawing.Color.Green + Me.BtnNetworkConnect.Location = New System.Drawing.Point(390, 15) + Me.BtnNetworkConnect.Name = "BtnNetworkConnect" + Me.BtnNetworkConnect.Size = New System.Drawing.Size(87, 55) + Me.BtnNetworkConnect.TabIndex = 9 + Me.BtnNetworkConnect.Text = "打开连接" + Me.BtnNetworkConnect.UseVisualStyleBackColor = True + ' + 'NudRemotePort + ' + Me.NudRemotePort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudRemotePort.Location = New System.Drawing.Point(264, 45) + Me.NudRemotePort.Maximum = New Decimal(New Integer() {65535, 0, 0, 0}) + Me.NudRemotePort.Name = "NudRemotePort" + Me.NudRemotePort.Size = New System.Drawing.Size(79, 23) + Me.NudRemotePort.TabIndex = 11 + ' + 'LblPort1 + ' + Me.LblPort1.AutoSize = True + Me.LblPort1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblPort1.Location = New System.Drawing.Point(213, 16) + Me.LblPort1.Name = "LblPort1" + Me.LblPort1.Size = New System.Drawing.Size(46, 17) + Me.LblPort1.TabIndex = 0 + Me.LblPort1.Text = "LPort:" + ' + 'NudLocalPort + ' + Me.NudLocalPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.NudLocalPort.Location = New System.Drawing.Point(264, 14) + Me.NudLocalPort.Maximum = New Decimal(New Integer() {65535, 0, 0, 0}) + Me.NudLocalPort.Name = "NudLocalPort" + Me.NudLocalPort.Size = New System.Drawing.Size(79, 23) + Me.NudLocalPort.TabIndex = 10 + ' + 'LblIP + ' + Me.LblIP.AutoSize = True + Me.LblIP.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblIP.Location = New System.Drawing.Point(19, 16) + Me.LblIP.Name = "LblIP" + Me.LblIP.Size = New System.Drawing.Size(58, 17) + Me.LblIP.TabIndex = 1 + Me.LblIP.Text = "LocalIP:" + ' + 'CboLocalIp + ' + Me.CboLocalIp.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboLocalIp.FormattingEnabled = True + Me.CboLocalIp.Location = New System.Drawing.Point(88, 13) + Me.CboLocalIp.Name = "CboLocalIp" + Me.CboLocalIp.Size = New System.Drawing.Size(105, 25) + Me.CboLocalIp.TabIndex = 3 + ' + 'LbllongPort1 + ' + Me.LbllongPort1.AutoSize = True + Me.LbllongPort1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LbllongPort1.Location = New System.Drawing.Point(209, 47) + Me.LbllongPort1.Name = "LbllongPort1" + Me.LbllongPort1.Size = New System.Drawing.Size(47, 17) + Me.LbllongPort1.TabIndex = 7 + Me.LbllongPort1.Text = "TPort:" + ' + 'LblLongIP + ' + Me.LblLongIP.AutoSize = True + Me.LblLongIP.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.LblLongIP.Location = New System.Drawing.Point(19, 47) + Me.LblLongIP.Name = "LblLongIP" + Me.LblLongIP.Size = New System.Drawing.Size(52, 17) + Me.LblLongIP.TabIndex = 5 + Me.LblLongIP.Text = "TeleIP:" + ' + 'CboLongIP + ' + Me.CboLongIP.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboLongIP.FormattingEnabled = True + Me.CboLongIP.Location = New System.Drawing.Point(88, 44) + Me.CboLongIP.Name = "CboLongIP" + Me.CboLongIP.Size = New System.Drawing.Size(105, 25) + Me.CboLongIP.TabIndex = 6 + ' + 'PnlPort + ' + Me.PnlPort.Controls.Add(Me.BtnSerialPortConnect) + Me.PnlPort.Controls.Add(Me.Label69) + Me.PnlPort.Controls.Add(Me.CboSerialPort) + Me.PnlPort.Controls.Add(Me.Label71) + Me.PnlPort.Controls.Add(Me.CboSerialBaud) + Me.PnlPort.Location = New System.Drawing.Point(15, 61) + Me.PnlPort.Name = "PnlPort" + Me.PnlPort.Size = New System.Drawing.Size(500, 96) + Me.PnlPort.TabIndex = 14 + ' + 'BtnSerialPortConnect + ' + Me.BtnSerialPortConnect.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.BtnSerialPortConnect.ForeColor = System.Drawing.Color.Green + Me.BtnSerialPortConnect.Location = New System.Drawing.Point(390, 15) + Me.BtnSerialPortConnect.Name = "BtnSerialPortConnect" + Me.BtnSerialPortConnect.Size = New System.Drawing.Size(87, 55) + Me.BtnSerialPortConnect.TabIndex = 9 + Me.BtnSerialPortConnect.Text = "打开串口" + Me.BtnSerialPortConnect.UseVisualStyleBackColor = True + ' + 'Label69 + ' + Me.Label69.AutoSize = True + Me.Label69.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label69.Location = New System.Drawing.Point(19, 21) + Me.Label69.Name = "Label69" + Me.Label69.Size = New System.Drawing.Size(50, 17) + Me.Label69.TabIndex = 1 + Me.Label69.Text = "串口名" + ' + 'CboSerialPort + ' + Me.CboSerialPort.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboSerialPort.FormattingEnabled = True + Me.CboSerialPort.Location = New System.Drawing.Point(74, 18) + Me.CboSerialPort.Name = "CboSerialPort" + Me.CboSerialPort.Size = New System.Drawing.Size(145, 25) + Me.CboSerialPort.TabIndex = 3 + ' + 'Label71 + ' + Me.Label71.AutoSize = True + Me.Label71.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.Label71.Location = New System.Drawing.Point(19, 51) + Me.Label71.Name = "Label71" + Me.Label71.Size = New System.Drawing.Size(50, 17) + Me.Label71.TabIndex = 5 + Me.Label71.Text = "波特率" + ' + 'CboSerialBaud + ' + Me.CboSerialBaud.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte)) + Me.CboSerialBaud.FormattingEnabled = True + Me.CboSerialBaud.Location = New System.Drawing.Point(74, 48) + Me.CboSerialBaud.Name = "CboSerialBaud" + Me.CboSerialBaud.Size = New System.Drawing.Size(145, 25) + Me.CboSerialBaud.TabIndex = 6 + ' + 'CmsDataTable + ' + Me.CmsDataTable.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.刷新列表ToolStripMenuItem, Me.删除记录ToolStripMenuItem}) + Me.CmsDataTable.Name = "CmsDataTable" + Me.CmsDataTable.Size = New System.Drawing.Size(125, 48) + ' + '刷新列表ToolStripMenuItem + ' + Me.刷新列表ToolStripMenuItem.Name = "刷新列表ToolStripMenuItem" + Me.刷新列表ToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.刷新列表ToolStripMenuItem.Text = "刷新列表" + ' + '删除记录ToolStripMenuItem + ' + Me.删除记录ToolStripMenuItem.Name = "删除记录ToolStripMenuItem" + Me.删除记录ToolStripMenuItem.Size = New System.Drawing.Size(124, 22) + Me.删除记录ToolStripMenuItem.Text = "删除记录" + ' + 'FrmRCU + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.SystemColors.Control + Me.ClientSize = New System.Drawing.Size(1172, 689) + Me.Controls.Add(Me.SplContainer1) + Me.Controls.Add(Me.Panel1) + Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) + Me.Name = "FrmRCU" + Me.Text = "Form1" + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() + CType(Me.FileSystemWatcher1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplContainer1.Panel1.ResumeLayout(False) + Me.SplContainer1.Panel2.ResumeLayout(False) + CType(Me.SplContainer1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplContainer1.ResumeLayout(False) + Me.TabControl2.ResumeLayout(False) + Me.PageRecord.ResumeLayout(False) + Me.GrpNewsletter.ResumeLayout(False) + Me.PagePort1.ResumeLayout(False) + Me.GrpPort1Data.ResumeLayout(False) + Me.GrpPort1Data.PerformLayout() + Me.PagePort2.ResumeLayout(False) + Me.GrpPort2Data.ResumeLayout(False) + Me.GrpPort2Data.PerformLayout() + Me.PagePort3.ResumeLayout(False) + Me.GrpPort3Data.ResumeLayout(False) + Me.GrpPort3Data.PerformLayout() + Me.TabFunction.ResumeLayout(False) + Me.PageInfrastructure.ResumeLayout(False) + Me.GrpSerialAppMode.ResumeLayout(False) + Me.GrpSerialAppMode.PerformLayout() + CType(Me.NudSerialAppPort, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudTimeOut3, System.ComponentModel.ISupportInitialize).EndInit() + Me.GrpReadMode.ResumeLayout(False) + Me.GrpReadMode.PerformLayout() + CType(Me.NudMonitoring, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudTimeOut2, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudSetPort, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudSerialPort, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudTimeOut1, System.ComponentModel.ISupportInitialize).EndInit() + Me.GrpBaseSet.ResumeLayout(False) + Me.GrpBaseSet.PerformLayout() + Me.PnlUdp.ResumeLayout(False) + Me.PnlUdp.PerformLayout() + CType(Me.NudRemotePort, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.NudLocalPort, System.ComponentModel.ISupportInitialize).EndInit() + Me.PnlPort.ResumeLayout(False) + Me.PnlPort.PerformLayout() + Me.CmsDataTable.ResumeLayout(False) + Me.ResumeLayout(false) + +End Sub + Friend WithEvents Timer1 As Timer + Friend WithEvents RdoStatus As RadioButton + Friend WithEvents LblTXCount As Label + Friend WithEvents LblTX As Label + Friend WithEvents LblRXCount As Label + Friend WithEvents LblRX As Label + Friend WithEvents LblLongIP2 As Label + Friend WithEvents LblLongIP1 As Label + Friend WithEvents LblLocalIp1 As Label + Friend WithEvents LblLocalIp As Label + Friend WithEvents LblLongPort2 As Label + Friend WithEvents Label12 As Label + Friend WithEvents LblLocalPort1 As Label + Friend WithEvents LblLongPort As Label + Friend WithEvents LblLocalPort As Label + Friend WithEvents BtnReset As Button + Friend WithEvents SaveFileDialog1 As SaveFileDialog + Friend WithEvents OpenFileDialog1 As OpenFileDialog + Friend WithEvents FileSystemWatcher1 As IO.FileSystemWatcher + Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker + Friend WithEvents BackgroundWorker2 As System.ComponentModel.BackgroundWorker + Friend WithEvents SerialPort As IO.Ports.SerialPort + Friend WithEvents Panel1 As Panel + Friend WithEvents SplContainer1 As SplitContainer + Friend WithEvents TabControl2 As TabControl + Friend WithEvents PageRecord As TabPage + Friend WithEvents GrpNewsletter As GroupBox + Friend WithEvents RtxRecord As RichTextBox + Friend WithEvents PagePort1 As TabPage + Friend WithEvents GrpPort1Data As GroupBox + Friend WithEvents BtnPort1Clear As Button + Friend WithEvents RtxCountOne As RichTextBox + Friend WithEvents LblCount1RX As Label + Friend WithEvents LblCountPort1TX As Label + Friend WithEvents LblCount1TX As Label + Friend WithEvents LblCountPort1RX As Label + Friend WithEvents PagePort2 As TabPage + Friend WithEvents GrpPort2Data As GroupBox + Friend WithEvents BtnPort2Clear As Button + Friend WithEvents RtxCountTwo As RichTextBox + Friend WithEvents LblCount2TX As Label + Friend WithEvents LblCountPort2TX As Label + Friend WithEvents LblCount2RX As Label + Friend WithEvents LblCountPort2RX As Label + Friend WithEvents PagePort3 As TabPage + Friend WithEvents GrpPort3Data As GroupBox + Friend WithEvents RtxCountThree As RichTextBox + Friend WithEvents LblCount3TX As Label + Friend WithEvents LblCount3RX As Label + Friend WithEvents BtnPort3Clear As Button + Friend WithEvents LblCountPort3TX As Label + Friend WithEvents LblCountPort3RX As Label + Friend WithEvents BtnClear As Button + Friend WithEvents Timer2 As Timer + Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents CmsDataTable As ContextMenuStrip + Friend WithEvents 刷新列表ToolStripMenuItem As ToolStripMenuItem + Friend WithEvents 删除记录ToolStripMenuItem As ToolStripMenuItem + Friend WithEvents TabFunction As TabControl + Friend WithEvents PageInfrastructure As TabPage + Friend WithEvents GrpSerialAppMode As GroupBox + Friend WithEvents NudSerialAppPort As NumericUpDown + Friend WithEvents BtnSend As Button + Friend WithEvents TxtSendSerialApp As TextBox + Friend WithEvents LblSerialAppData As Label + Friend WithEvents NudTimeOut3 As NumericUpDown + Friend WithEvents LblTimeOut3 As Label + Friend WithEvents LblPort5 As Label + Friend WithEvents GrpReadMode As GroupBox + Friend WithEvents ChkShowHeartBeat As CheckBox + Friend WithEvents NudMonitoring As NumericUpDown + Friend WithEvents NudTimeOut2 As NumericUpDown + Friend WithEvents NudSetPort As NumericUpDown + Friend WithEvents LblTimeOut2 As Label + Friend WithEvents CboMode As ComboBox + Friend WithEvents LblPort4 As Label + Friend WithEvents NudSerialPort As NumericUpDown + Friend WithEvents BtnMonitoring As Button + Friend WithEvents NudTimeOut1 As NumericUpDown + Friend WithEvents LblPort2 As Label + Friend WithEvents LblTimeOut1 As Label + Friend WithEvents BtnRead As Button + Friend WithEvents LblMode As Label + Friend WithEvents BtnSet As Button + Friend WithEvents CBoBaud As ComboBox + Friend WithEvents LblPort3 As Label + Friend WithEvents LblBaud As Label + Friend WithEvents GrpBaseSet As GroupBox + Friend WithEvents RdoRadUdp As RadioButton + Friend WithEvents RdoPort As RadioButton + Friend WithEvents PnlUdp As Panel + Friend WithEvents BtnNetworkConnect As Button + Friend WithEvents NudRemotePort As NumericUpDown + Friend WithEvents LblPort1 As Label + Friend WithEvents NudLocalPort As NumericUpDown + Friend WithEvents LblIP As Label + Friend WithEvents CboLocalIp As ComboBox + Friend WithEvents LbllongPort1 As Label + Friend WithEvents LblLongIP As Label + Friend WithEvents CboLongIP As ComboBox + Friend WithEvents PnlPort As Panel + Friend WithEvents BtnSerialPortConnect As Button + Friend WithEvents Label69 As Label + Friend WithEvents CboSerialPort As ComboBox + Friend WithEvents Label71 As Label + Friend WithEvents CboSerialBaud As ComboBox + Friend WithEvents Timer3 As Timer + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents Button3 As Button +End Class diff --git a/RCU-10/RCU/FrmRCU.resx b/RCU-10/RCU/FrmRCU.resx new file mode 100644 index 0000000..e1d1f1c --- /dev/null +++ b/RCU-10/RCU/FrmRCU.resx @@ -0,0 +1,726 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 141, 14 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 233, 14 + + + 378, 14 + + + 528, 14 + + + 59 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + + AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAA + AAD//P7//v77//35/f/u79r/u8l2/5yxN/+HpRH/hKUG/4SiC/+Eog3/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIN/4SfEf+Gohb/mK86/7zH + fP/u8dD//vf8///6/P/+/uz//fz7//36+f/N15v/h6Qj/4CgEP+DoA//hKMK/4SkCP+Eogv/hKIM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Si + C/+Down/hKQI/4KjCv+BoBH/iaYj/83XmP/+9/v//vn8//z89//L1pj/hKER/4WpAv+Dowr/hKIM/4Si + DP+Eogz/hKMK/4SjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Dowv/g6QI/4SkCf+EpAj/hKQG/4SmBv+CohH/ytWV//33/P/p687/h6Ye/4ao + A/+GnhH/haAQ/4SiDP+Eog3/hKIM/4SjCv+Eowv/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6IM/4OiDP+EoQ7/hKEO/4SiDP+FoA7/g6QH/4ak + H//q7sn/uMB3/4OkDP+EpQX/hZ8R/4WiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKIN/4SjCf+BoQ//tcRv/5StLv+Cowr/hKEM/4WgDv+FpAf/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4ShDv+Eogv/gaMI/5KuL/+EpQ3/g6MN/4SgDf+Fogv/haMJ/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+EoQ3/hKIL/4OkCP+FpA7/gqIN/4Oh + D/+EpAj/haMI/4WgDv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4Oi + C/+Dogv/hKIK/4SjDP+Dogz/hKML/4SjC/+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjCv+Eogr/g6MK/4KmBf+EoQ3/hqEM/4GnB/+FnhT/h6QI/3uj + Dv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eog3/hKEN/4SiDP+Eowr/hKQI/4KlCv+Hogr/g6UF/4CkCf+HnxL/hKMM/4Sj + DP+Eowz/hKMM/4OjC/+Dowv/hKIM/4SiDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eogv/hJ8R/4WdFP+Howj/hqIJ/4mg + D/+YsDv/hKEQ/4ucFf+DpwX/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIM/4ShDf+Eogz/hKMK/4SjCf+HoBH/g6IJ/5Gj + Qv+SsSX/haMJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6QJ/4Si + C/+IoA7/h6MH/4KiDP+mvV7/5fTb/7jPi/+Gpgn/iJ8O/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SiC/+Eogv/g6IL/4Sj + DP+Eowz/iaIL/4awJv/l7dT/obhD/4KjCf+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4OjCf+EpAf/h6QG/4ChEf+fu1//xO7Z/4bYpP+069T/t9GO/4OfGP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowr/hKMJ/4OiCv+Eogz/hKEN/5OqMv/I5M3/0dvy/6K2SP+Aogv/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKML/4SjCv+Dowv/g6MK/4OjC/+EoA//hKAO/4WjCv+lvVr/zO7X/3HVov9e2p3/e9+x/8Hp + 2f+81Yb/haIT/4SjC/+EoQ3/g6QJ/4OjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Si + DP+Eogz/hKIM/4SjC/+Eowv/g6QJ/4SjCf+Fowr/hKMM/5KtLP/b4cb/hoz5/7S99/+huEX/gaQH/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+Fogr/hKAP/4OkB/+Eown/g6AP/4KkDP+rvFv/zu7Q/2zT + pv9T1pn/Ztig/3jhsP+B3LT/t+zR/7/Qjf+DphD/hqAP/4OgEP+BpQf/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eogz/hKEO/4SiDP+Eowv/hKMJ/4SkCf+IoQ3/iaQG/42tLf/V4NT/j5Hw/25y + 9P+7vfX/nblF/4SiCv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dowv/g6EN/4WdFf+IoQz/h6QG/4Sk + Cf+sumH/0ezm/2TXof9c2ZH/W9OY/2jYoP914a7/dd6x/4jatf+66dX/u9eR/4mlDf+InBX/g6IN/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKIM/4SiDP+Eogz/hKML/4SjCv+HoAz/iaMK/4+s + L//V4NH/lI71/3Zv9/9ubfv/u7v3/525Rf+Eogn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4Ol + Bf+Hogr/hqMH/4ChD/+nu1j/zvDR/2jWp/9X1Zr/VdWZ/1bVl/9r16D/duKt/3HhsP9637D/gOGt/7nr + 0P/B15H/g6YL/4SgD/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+Eowr/hKML/4Sj + DP+Eowz/hKMJ/46qLf/X4dX/k4/2/3Bv+P9zbPv/bmv+/7u89/+duUT/hKEK/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4OiC/+Eogv/h6MI/4GhDf+cumD/yu/Y/3HWof9W2ZL/WNSa/1nVlv9Y05v/bdef/3zh + rf914q3/e+Cu/3PhrP+A46X/s+XW/8DYmv+EoBf/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowv/hKQI/4SjCf+Eowz/g6EN/4+rMv/Y49L/koz3/3Bs+v9xbvb/dGz6/25t+/+7vvT/nblD/4Sg + Df+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4WjCf+Eogv/g6QJ/4OkCP+EoA//g6AQ/4KlB/+rvVf/yu3Y/2nUqf9Y05v/X9WX/1TW + mP9a1Jn/W9WX/2rYoP984az/euGt/33grf944K3/deGw/4Lcsv+36ND/wNiX/4ehF/+Eowr/gqQJ/36l + Cf+Cog3/hKMM/4SjDP+Eowz/g6ML/4GkCv+HoQ3/haQJ/46pMf/X4sn/kpTs/3Ns+f9wbfr/dGz6/3Vs + +v9tbvr/ub71/5+5RP+DoQz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eogv/hJ8R/4WgDv+FpAf/haAO/4CjC/+suF7/zPHU/3HY + nP9c0KD/WdWZ/1nVmf9Z1Zn/WdWZ/1rVmf9n2qH/euKt/3zhrf984K7/feGr/3fhrf954LH/hdy0/7bp + zv/E25n/hakN/4idE/+CnxL/gqQJ/4SjDP+Eowz/hKMM/4OiDP+FoA//h6QH/5CtLv/Z4dL/lJHu/3Ny + 8f9ya/r/c2v9/3Nt+f92bfn/bG38/7e+9/+guUT/gqIK/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6MJ/4WfEf+IoA//h6QG/4Wi + C/+pu1b/zuvg/2fUp/9S15b/YNaY/1nVmf9Z1Zn/WdWZ/1nVmf9a1Zn/Z9qh/3rirf984a3/fOCu/33h + rP944a3/dOGv/3jfsP+A3q3/r+fQ/8Xbnf+NpBX/i6EN/4SiDP+Eowz/g6IL/4SjDP+Fowv/iKQG/46s + Lf/U39H/k432/3Nr+v9ya/v/c2r+/3Nr/f9zbfj/dm35/2xt/P+3vvf/oLlE/4KiCv+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Ol + Bv+GpAf/h6QG/4ChEv+gvFX/0O7U/2fbnP9V1Jz/W9Sa/1LVmv9Z1Zn/WdWZ/1nVmf9Z1Zn/WdSZ/2jb + ov954a3/fOGt/3zgr/984a3/eeGt/3fhrf924a3/dOKt/33ko/+15tH/xdye/4enEv+Fowv/hKMM/4Oi + C/+Eowz/hKMM/46rLf/W3tH/k474/29t+v9vbvj/c2v9/3Nr/f9zbPz/c236/3Zt+v9sbfz/t773/6C5 + RP+Cogr/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+EoA//hqEM/4OiCv+dulj/1eza/2TYo/9h15T/VtSb/1fUmv9e1Zb/WdWZ/1nV + mf9Z1Zn/WdWZ/1nUmf9o26L/eeGt/3zhrf974K//eeGt/3zhrf994az/feGr/3rer/934K7/gOKp/7Tn + 0f/K3KT/iKQZ/4SjDP+Eowz/haQN/5OvJP/X39H/lo30/29t+/9tb/X/cm36/3Nt+P9zbvj/c235/3Ns + /P92bPr/bG38/7e+9/+guUT/gqIK/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/fKMO/4ijCv+quVb/xe/S/3fTqf9X1pj/W9SZ/1jV + mP9Y1Jr/WtWX/1nVmf9Z1Zn/WdWZ/1nVmf9f0Zz/Zduk/27jq/+F3bD/fd20/3jirP944qv/eeKr/3ni + q/964av/eeCt/3bhrf+A3bD/qevH/8Thn/+Mnx//g6MO/4KtJv/c383/jZDw/3Rw9f9ybP3/cm37/3Nt + +f9zbfn/c235/3Nt+f9zbPr/dWv6/2tt+v+4wPX/oLpC/4KiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4qjCf+nuF3/ye7W/3HT + qv9P25H/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/VNaW/2fdoP9046r/feGq/2rl + q/9636//et+v/3rfr/9636//fN+v/3zfsP9237L/et60/4Tctf+o49T/1eGn/6WtNP/S4sj/go34/3Jw + 8v9ybPr/c2r+/3Ns+v9zbvj/c236/3Nt+v9zbfr/c236/3Vr+v9rbfr/uMD1/6C6Qv+Cogv/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+htUD/yO7P/2zPtP9Y2JL/U9Oe/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1/T + mf+c3r3/w+vf/8fq3/+979r/xPHU/8Tx1P/E8dT/xPHU/8bw1f/F79b/wPDW/7/w1f/B79X/uu7W/9vz + 9P/n6PD/m433/2pw9/9zbPz/c2r+/3Jq/v9zbfr/c234/3Nt+v9zbfr/c236/3Nt+v91a/r/a236/7jA + 9f+fuUH/g6IM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/rL5t/5njv/9T1pn/XtqM/13Npv9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV + mf9Z1Zn/WdWZ/1nVmf9L1pr/h+LV/33P8v91y/j/e8z0/3XI/P91yPz/dcj8/3XI/P91yP3/dsf9/3XI + /P91yfv/dMr6/4LK8f+AzPD/d6Ds/3ts9v9+Z/z/c2z8/3Ns+/9zbPv/c2z7/3Ns+v9zbfr/c236/3Nt + +v9zbfr/dWv6/2tt+v+4wPX/n7lB/4OjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/7O/aP+f5bj/WNSc/13UmP9T15b/WdWZ/1nV + mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/Y9WW/53g1P9dv/b/R738/069/f9Uvfr/VL36/1S9 + +v9Uvfr/U737/1O9/P9Wvfv/V735/1a++P9Tuvz/VMD3/2CJ+/9wbvf/Z3H4/3Nt+P9zbvj/c235/3Ns + +/9zbPv/c236/3Nt+v9zbfr/c236/3Vs+v9sbfr/t8H1/565Qf+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nV + l/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1fVmP+e4tD/U7z9/1O/ + 9v9Su/7/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/Ur77/1S8/f9ljvb/eWr8/29t + +v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v90bfv/cG36/7XC9v+ZukH/hqIM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV + mf9X1Zj/n+PR/1K7/v9Tv/b/Urv+/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1K+ + +/9UvP3/ZY72/3lq/P9vbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG37/3Bt + +v+1wvb/mbpB/4aiDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/67EYv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nV + mf9Z1Zn/WdWZ/1nVmf9Z1Zn/V9WY/6Lm0/9Su/3/U7/2/1K7/v9Tvf3/U739/1O9/f9Tvf3/U739/1O9 + /f9Tvf3/U739/1O9/f9Rvvv/U7z8/2SM9f95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt + +v9zbfr/c236/3Rt+v9wbfr/tsL2/5m6Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nV + mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1fVmP+i5tP/Urv9/1O/9v9Su/7/U739/1O9 + /f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/Ub77/1O8/P9kjPT/eWr8/29t+v9zbfr/c236/3Nt + +v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v90bfr/cG36/7bC9v+ZukH/hqIM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/k + xf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Jj/pebX/1S8 + /P9TwPX/Ubz8/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1K++/9UvPz/Y4v0/3lq + /P9vbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG36/3Bt+v+1wvb/mbpB/4ai + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/67EYv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nV + mf9Z1Zn/W9SX/6jm2/9VvPv/U8D1/1G9+/9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9 + /f9Svvv/VLz8/2KL9P95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Rt + +v9wbfr/tcL2/5m6Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nV + mf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1vUl/+q6Nz/VLz6/1PA9f9Rvfv/U739/1O9/f9Tvf3/U739/1O9 + /f9Tvf3/U739/1O9/f9Tvf3/Ur77/1S8/P9iivP/eWr8/29t+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt + +v9zbfr/c236/3Nt+v90bfr/cG36/7XC9v+ZukH/hqIM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nV + mP9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9c1Zn/rOre/1W8+v9TwPX/Ub37/1O9 + /f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1G++/9UvPz/YYny/3lq/P9vbfr/c236/3Nt + +v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/dG36/3Bt+v+1wvb/mbpB/4aiDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/67E + Yv+f5MX/WdWX/1PVmv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/WdWZ/1nVmf9Z1Zn/W9SY/63r + 4P9Uu/n/U8D1/1G9+/9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Rvvv/VLz8/2GJ + 8v95avz/b236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Rt+v9wbfr/tcL2/5m6 + Qf+Gogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+uxGL/n+TF/1nVl/9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9X1Zn/VtWZ/1rU + mf9b1Jn/WtSZ/1/QoP+z7Nf/Wr73/0a8/P9XvPz/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9 + /f9Tvf3/U776/1a7/f9ihvX/e2n9/3Ft+f9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt + +v9yb/f/bmv8/7+++P+cukD/hKIO/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsRi/5/kxf9Z1Zf/U9Wa/1nVmP9Z1Zn/WdWZ/1nV + mf9Z1Zn/WNWZ/1jVmf9W1Zn/VdWZ/1XVmf9Z1Zf/surg/1y6/P9KwvT/W7z5/1O9/f9Tvf3/U739/1O9 + /f9Tvf3/U739/1O9/f9Tvf3/U739/1S++v9Wu/3/YoX1/3tp/f9xbfn/c236/3Nt+v9zbfr/c236/3Nt + +v9zbfr/c236/3Nt+v9zbfr/d2r9/2pu+v+1xfH/mbs+/4igEP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/67EYv+e48T/WdWY/1PV + mv9Z1Zj/WdWZ/1nVmf9Z1Zn/WdWZ/1rUmf9Z1Zn/U9aY/1HWmP9W1pn/WNOc/7Tp5/9cuP7/RML1/1G5 + /P9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvvr/Vrv9/2KF9f97af3/cW35/3Nt + +v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3hs+f9sb/j/tr/5/5m0SP+JpQf/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+vxGP/nuPE/1nVmP9T1Zr/WdWY/1nVmf9Z1Zn/WdWZ/1nVmf9a1Jn/WNWZ/1PWmf9X1Jj/YtKY/43a + uP/m+N3/gMzx/069/P9Nuvz/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U739/1O9/f9Tvf3/U735/1W6 + /f9hhfX/e2n9/3Ft+f9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9zbfr/c236/3Nt+v9yb/b/g4vl/93f + 5/+asDP/gqQJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/r8Rj/57jxP9Z1Zj/U9Wa/1nVmP9W1Zn/WNWZ/1nUmf9Z1Zn/WNOa/1rU + mv9W2Jb/W9Oc/43erf/K5MH/paxF/77ox/9+yfr/VsD2/1W8/f9Uvfz/ULv9/1C8/P9Tvvr/U739/1O9 + /f9Tvf3/U739/1O9+f9Uu/3/ZYT1/3hq/f9ybfn/c236/3Nt+v9zbfr/c236/3Nr+v90avv/c2z6/3Jt + +f9wbPr/f3/4/9Dg5f+jtVL/i6UF/3+gEv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/6/EY/+e48T/WdWY/1PVmv9Z1Zj/UtaZ/1jV + mf9b1Jn/V9WZ/1jUmf9Y15P/VdOa/4zesf/T6cL/haUs/4ClCP+RpSv/yeTK/4HO+P9Su/7/UL77/1O9 + +f9Tvfr/Ub76/1O9/f9Tvf3/U739/1O9/f9Svvr/ULz9/2+B9P9ubP3/dm35/3Nt+v9zbfr/c236/3Nt + +v91afz/dm32/3Fv9f9waf3/gYXy/9Xd6v+atFX/hKIK/4egDf+DpQf/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+vxGP/nuPE/1nV + mP9T1Zr/WdWY/1nVmf9a1Zn/WdWZ/1bVmf9W2pD/VNWZ/4DdtP/V6Lz/jKwj/36pBP99nxT/iaMM/5aq + If/Y5cP/fc/3/0e8/v9UwPL/W8Dy/026/v9Tvf3/U739/1O9/f9Tvf3/Ur76/1C8/f9vgfT/bmz9/3Zt + +f9zbfr/c236/3Nt+v9zbfr/dGz6/3By8P9ocvP/gYD4/9Tf4/+ct0z/gqQK/4mlB/+GnxH/gaML/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/r8Rj/57jxP9Z1Zj/U9Wa/1nVmP9b1Jn/WdWZ/1jUmP9a1Jj/WNOb/4vcsv/T58X/hbEd/4ue + Ev+QmxT/f6MM/3+nBv+Fogv/iaYm/9rjvv99yPz/Rbn+/1HA+P9Vvfv/U739/1O9/f9Tvf3/U739/1K+ + +v9Puv3/boD0/25s/f92bfn/c236/3Nt+v9zbfr/c236/3Nt+v9waf7/f4L2/9Hh4/+ctU7/hqAO/4ih + C/+Hnw//g6EN/4ClBv+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/6/EY/+e48T/WdWY/1PVmv9Z1Zj/VtWZ/1XVmf9Y1Zj/YtOY/43g + rv/Q58P/j6sl/4ihDf+CoQz/hp4Q/3+mBP+DpAr/h58T/3qlB/+NpiX/1eK+/4bP9f9Svvv/Wbz7/1O9 + /f9Tvf3/U739/1O9/f9Svvr/T7r9/26A9P9ubP3/dm35/3Nt+v9zbfr/c236/3Nt+v9vbfr/gYLw/9fg + 5f+ct03/gaQK/4WkCP+EoA7/gqIN/4ClB/+ApAn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+sxGP/nOPF/1rWlv9U1Zn/WtSZ/1nR + nv9Z2JL/VtOc/4zdrv/R57v/jKol/4KkDf+LoA7/gqQL/3+lCP+BpAn/hqIL/4miDP+Dowz/fKMP/5Kl + IP/R5Lr/hs34/0+7/v9Yvvf/Vb/3/066/v9QwPf/U7/3/1G6/f9tf/T/bWz9/3Rt+P9xa/z/dWz5/3Zs + +f9wbfb/gIP0/9He6v+at0v/hqAR/4OlBf+Dpgb/g6MK/4KkCv+CpAn/g6IM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/rsNk/57i + xf9a1pX/U9aY/1nUmf9a2Y3/T9Oe/43erv/T6cH/iKwl/4OiC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKML/4GmBv9+oRL/l6Ik/9Diuv+Gzfr/ULv6/1S/9/9fu/n/ULz9/1G9+/9Tuv7/bX/0/2xt + /P90bfj/c2/1/3F16/9yaP3/g4Tw/87h4/+WtVr/f6MJ/4ehDf+Eogz/g6MK/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/7LDZP+h4sX/WdeV/1PXmf9a1Zr/VteT/4Lctf/Q7MD/kq4g/4ShDv+Eowz/g6IL/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjC/+GpQn/fqQK/42mAv+VoCP/0OO6/4nQ9/9JuP7/WL34/1K9 + +/9RvPz/U7r+/21/9P9sbfz/dG33/3Zs+P9sbvj/fYD5/9Pf6f+auE7/gaMK/4elBv+InxD/g6IM/4Oj + C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+yw2T/n+LF/1fXlv9W1Zj/Y9CZ/4rbtf/a6Mf/hqwd/4Ci + DP+PnBb/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eog3/iZ0T/4OnA/9+owv/fJ8P/5Gk + Hf/V4rL/h8/6/028/f9Tw/T/Vb75/1O7/v9tf/T/bG38/3Rt9/90afz/g377/8/f5v+Zt0v/hKAP/4eg + Dv+HnxH/haEN/4SkBv+Dowr/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/r8Nk/5vjxf9W2Jb/WtSY/4Ld + q//Y5sL/hqwo/46fDv+IoA3/e6YJ/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/32o + Bf+JnRT/hKMH/4GlB/97oRH/jqQf/9zgtf+H0Pz/Vbv9/1a8+/9Tu/7/bX/0/2xt/P9zbvj/fIPz/8/f + 5v+btVX/haML/4enBP+Eown/g6IL/4OlBv+Fown/hKIM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/7TA + a/+Y5sH/SdiX/4vbsv/V5MT/kK0b/4OjC/+Eogz/hKIM/4OjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4OjC/+Dowv/hKIM/4SjC/+Eowv/iJ8Q/4KgC/+Kph3/0uCw/4fS+f9Iw/L/X7f8/2t5 + +f94avr/eoT1/9Pd7P+Zt0//hKEO/4ahDP+EpQf/g6ML/4OjC/+Dowv/hKIL/4SiDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+zxVr/md7M/4PctP/X673/gq8l/4WkDf+Dogv/g6IL/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4WlB/98pAr/f6EN/5Sj + Gv/M37H/ks/5/2e7+P9TgfP/fYPz/83g6P+auVL/f6UK/4ijCf+FoA//g6MK/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/sMFj/73p3v/K6MT/o6ki/3yiDv+Dogv/hKMM/4Oi + C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+HoA7/gaEN/3qoA/+EpQj/iqEg/8fhqv+my/n/cY/0/9Hf6v+it03/hKQI/4elBv+IoQz/haIK/4Ol + B/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/63GWv/j6M3/i6wk/4qg + DP+GnhL/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hqAQ/4efD/+ApAn/eaIO/36jDP+KphT/ytqw/+Hp4v+ktlb/hqQH/4ah + DP+GnxH/haEN/4SkB/+EpAn/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eog3/hKIN/4SiDP+Eogv/hKML/4SjDP+Eowz/hKMM/4Sj + DP+Zsz3/l6sn/4SiDP95oRL/iKUI/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4GmCP+FoQ3/iZ0U/4WmBf+JoQz/haAO/4Sm + F/+etzL/hZ4R/32lCf+EpAj/g6IM/4OjCf+Eowr/haEN/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dogz/g6IL/4SkCP+EpAj/hKIM/4ShDf+EoQ3/hKIL/4Sj + C/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4SjCf+EpAj/hKIL/4Sj + Cf+EpAj/hKMJ/4SiC/+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + Cf+Eogv/g6AQ/4KfEf+FohD/g6MJ/4OkBv+Eogv/hKEO/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+EoQ//hKAQ/4KiDP+ApQv/lqwt/4OfEP+Dowj/hKIL/4ShDf+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKAP/4ShDP+BpAj/j64v/7nDc/+EoQr/h58P/4Sf + Ef+CqQf/hKEN/4ShDv+Eogz/hKML/4SjC/+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Dogz/gaIN/4OiDf+Eogv/hqMI/4agDf+Eowr/f6IK/7PD + cf/q7NL/h6Mg/4anA/+FnxH/g58R/4SiC/+Eogv/hKIL/4SiC/+Eogv/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6ML/4CjCv+Cogz/hKEO/4ag + D/+HnhL/hKgD/4SjHv/q7NX/+/v5/8jVmv+AoxH/g6cD/4WfD/+Down/g6QH/4SjCf+EoQ3/hKIM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Oi + DP+Cog7/gaMI/4KlBf+CpQb/hKUG/4WiEv/L1pb/+/n8//39+v/8/Pn/y9me/4WlIv+Bogz/gp4P/4Sj + Cv+EpAj/hKEN/4SiDf+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Dogz/gqAP/4KkCv+ApQj/fqMN/4inJP/N15r//vz4//7/+f/++/z//P76//r8 + +v/t8Nb/vMh5/5yxNP+IpRL/hKMJ/4SiDP+Eogz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/hKMM/4Sj + DP+Eowz/hKMM/4SjDP+Eowz/hKMM/4SjDP+Eowz/g6MK/4KkBf+FphL/lq87/7vHf//t8dP//f33//7+ + +////f7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + + 699, 14 + + + 872, 14 + + + 25, 14 + + + 1240, 14 + + + 1045, 14 + + + 1137, 14 + + + 1377, 14 + + \ No newline at end of file diff --git a/RCU-10/RCU/FrmRCU.vb b/RCU-10/RCU/FrmRCU.vb new file mode 100644 index 0000000..0a5d1ec --- /dev/null +++ b/RCU-10/RCU/FrmRCU.vb @@ -0,0 +1,3679 @@ +Imports System.Net +Imports System.Net.Sockets +Imports System.Threading +Imports System.IO +Imports System.Text + +Public Class FrmRCU + +#Region "子窗体_功能模块" + + ''' + ''' C43窗体 + ''' + Private _addC43Form As FrmC43Function + + ''' + ''' 红外窗体 + ''' + Private _addInfraredForm As FrmInfraredFunction + + ''' + ''' RF无线窗体 + ''' + Private _addRFWifiForm As FrmRFFunction + + ''' + ''' 485升级窗体 + ''' + Private _add485UpdateForm As Frm485Update + Private tpfrm3 As TabPage + Private tpfrm4 As TabPage + + ''' + ''' 初始化各子窗体 + ''' + Private Sub InitTabMain() + 'TabFunction.SizeMode = TabSizeMode.Fixed '隐藏TabControl的表头 + 'TabFunction.ItemSize = New Size(0, 1) + + Dim tpfrm2 As New TabPage + tpfrm2.Text = $"红外功能" + _addInfraredForm = New FrmInfraredFunction '红外窗体 + _addInfraredForm.ShowForm(tpfrm2) + + TabFunction.TabPages.Add(tpfrm2) + +#If IsAdmin Then + Dim tpfrm1 As New TabPage + tpfrm1.Text = $"C43功能" + _addC43Form = New FrmC43Function 'C43窗体 + _addC43Form.ShowForm(tpfrm1) + TabFunction.TabPages.Add(tpfrm1) + + tpfrm3 = New TabPage + tpfrm3.Text = $"RF无线功能" + _addRFWifiForm = New FrmRFFunction 'RF无线窗体 + _addRFWifiForm.ShowForm(tpfrm3) + TabFunction.TabPages.Add(tpfrm3) + + tpfrm4 = New TabPage + tpfrm4.Text = $"485升级" + _add485UpdateForm = New Frm485Update '485升级窗体 + _add485UpdateForm.ShowForm(tpfrm4) + TabFunction.TabPages.Add(tpfrm4) +#End If + + End Sub + + +#End Region + +#Region "窗体操作" + +#Region "全局变量" + + ''' + ''' 枚举是否连接 + ''' + Enum EnConnectStatus + Connect + DisConnect + End Enum + + + ''' + ''' 连接状态,默认非连接 + ''' + Public _connectStatus As EnConnectStatus = EnConnectStatus.DisConnect + + + ''' + ''' 按键连接提示文本 + ''' + Private _btnConnectTipText As String() = {"断开连接", "打开连接"} + + + ''' + ''' 按键连接提示颜色 + ''' + Private _btnConnectTipColor As Color() = {Color.Red, Color.Green} + + + ''' + ''' 按键连接启用 + ''' + Private _btnConnectEnable As Boolean() = {False, True} + + + ''' + ''' 模式选择 + ''' + Private _modeItmeData() As String = {"正常模式", "进入透传", "进入监控"} + + + ''' + ''' 串口波特率 + ''' + Private _baudItmeData() As String = {"9600", "14400", "19200", "38400", "56000", "57600", "115200"} + + + ''' + ''' Socket网络套接字 + ''' + Private _socket As Socket + + + ''' + ''' UDP通讯接收线程 + ''' + Private _receiveThread As Thread + + + ''' + ''' 本地端口号 + ''' + Private _localPort As Integer + + + ''' + ''' 总接收数据字节数 + ''' + Public _countRXData As Integer + + + ''' + ''' 总发送数据字节数 + ''' + Public _countTxData As Integer + + + ''' + ''' 端口1接收数据字节数 + ''' + Private _countPort1RXData As Integer + + + ''' + ''' 端口2接收数据字节数 + ''' + Private _countPort2RXData As Integer + + + ''' + ''' 端口3接收数据字节数 + ''' + Private _countPort3RXData As Integer + + + ''' + ''' 发送次数标志位 + ''' + Public _sendTick As Short = 2 '标志位 + + + + +#End Region + +#Region "窗体初始化" + + ''' + ''' 窗体加载事件 + ''' + ''' + ''' + Private Sub FrmRCU_Load(sender As Object, e As EventArgs) Handles Me.Load + '添加子窗体 + InitTabMain() + + '通讯 + _lastTime = Now + InitLocalIP() + GetSerialPort() + + '窗体' + ShowFormTitle() + + UpdataCboEnabled(_connectStatus) + UpdataStaueShow() + + BaudModeListData() + SettingControls() + LblLocalIp_Click(Nothing, Nothing) + 'Timer3.Interval = 1000 + 'Timer3.Start() + End Sub + + + ''' + ''' 显示窗体名称和版本信息 + ''' + Private Sub ShowFormTitle() + Text = $"{My.Application.Info.ProductName} {My.Application.Info.Version}" + End Sub + + + ''' + ''' 设置窗体 + ''' + Private Sub SettingControls() + CboLongIP.Text = My.Settings.CBoLongIP + NudRemotePort.Value = My.Settings.NumRemotePort + NudLocalPort.Value = My.Settings.NumLocalPort + + If CboSerialPort.Items.Contains(My.Settings.CboSerialPort) Then + CboSerialPort.SelectedIndex = CboSerialPort.Items.IndexOf(My.Settings.CboSerialPort) + Else + If CboSerialPort.Items.Count > 0 Then + CboSerialPort.SelectedIndex = 0 + Else + CboSerialPort.SelectedIndex = -1 + End If + End If + If CboSerialBaud.Items.Contains(My.Settings.CboSerialBaud) Then + CboSerialBaud.SelectedIndex = CboSerialBaud.Items.IndexOf(My.Settings.CboSerialBaud) + Else + If CboSerialBaud.Items.Count > 0 Then + CboSerialBaud.SelectedIndex = 0 + Else + CboSerialBaud.SelectedIndex = -1 + End If + End If + If CBoBaud.Items.Contains(My.Settings.CBoBaud) Then + CBoBaud.SelectedIndex = CBoBaud.Items.IndexOf(My.Settings.CBoBaud) + Else + If CBoBaud.Items.Count > 0 Then + CBoBaud.SelectedIndex = 0 + Else + CBoBaud.SelectedIndex = -1 + End If + End If + If CboMode.Items.Contains(My.Settings.CBoMode) Then + CboMode.SelectedIndex = CboMode.Items.IndexOf(My.Settings.CBoMode) + Else + If CboMode.Items.Count > 0 Then + CboMode.SelectedIndex = 0 + Else + CboMode.SelectedIndex = -1 + End If + End If + End Sub + + + ''' + ''' 下拉模式选择 + ''' + Private Sub BaudModeListData() + CboSerialBaud.Items.Clear() + CboSerialBaud.Items.AddRange(_baudItmeData.ToArray) + + CBoBaud.Items.Clear() + CBoBaud.Items.AddRange(_baudItmeData.ToArray) + + CboMode.Items.Clear() + CboMode.Items.AddRange(_modeItmeData.ToArray) + + End Sub + + + ''' + ''' RF设备电动窗帘保存信息 + ''' + Private Sub RFCurtains() + + + End Sub + + + +#End Region + +#Region "控件变化" + + + ''' + ''' 点击连接按键,控件变化 + ''' + ''' + ''' + Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnNetworkConnect.Click + UpdataConnectStatus(_connectStatus) + UpdataBtnConnect(_connectStatus) + UpdataCboEnabled(_connectStatus) + UpdataStaueShow() + End Sub + + + ''' + ''' 更新下拉框是否可用 + ''' + ''' + Private Sub UpdataCboEnabled(status As EnConnectStatus) + CboLocalIp.Enabled = _btnConnectEnable(status) + NudLocalPort.Enabled = _btnConnectEnable(status) + + BtnRead.Enabled = False = _btnConnectEnable(status) + BtnSet.Enabled = False = _btnConnectEnable(status) + BtnSend.Enabled = False = _btnConnectEnable(status) + BtnMonitoring.Enabled = False = _btnConnectEnable(status) + End Sub + + + ''' + ''' 状态栏更新显示 + ''' + Private Sub UpdataStaueShow() + LblLocalIp1.Text = CboLocalIp.Text + LblLocalIp1.ForeColor = Color.Orange + LblLocalPort1.Text = NudLocalPort.Text + LblLocalPort1.ForeColor = Color.Orange + + LblLongIP2.Text = CboLongIP.Text + LblLongIP2.ForeColor = Color.Blue + LblLongPort2.Text = NudRemotePort.Value + LblLongPort2.ForeColor = Color.Blue + + RdoStatus.Text = "无连接" + RdoStatus.ForeColor = Color.Red + End Sub + + + ''' + ''' 更新连接状态 + ''' + ''' + Private Sub UpdataConnectStatus(ststus As EnConnectStatus) + Dim address As IPAddress = IPAddress.Any + Dim ep As IPEndPoint + Dim addressString As String = CboLocalIp.Text + Dim port As Integer + + If Integer.TryParse(NudLocalPort.Text, port) = False Then + MsgBox("Port输入不合法!") + _connectStatus = EnConnectStatus.DisConnect + Return + End If + + If IPAddress.TryParse(addressString, address) = False Then + MsgBox("IP输入不合法!") + _connectStatus = EnConnectStatus.DisConnect + Return + End If + + ep = New IPEndPoint(address, port) + If _connectStatus = EnConnectStatus.DisConnect Then + _isReceiving = True + _socket = New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp) + ''加保护机制 + _socket.Bind(ep) + _connectStatus = EnConnectStatus.Connect + + _receiveThread = New Thread(New ThreadStart(AddressOf UdpRecviveData)) + _receiveThread.Start() + + Timer1.Interval = 2000 '单位是毫秒 + Timer1.Start() + Else + _isReceiving = False + _connectStatus = EnConnectStatus.DisConnect + ''加保护机制 + _socket.Shutdown(SocketShutdown.Both) + _socket.Close() + Timer1.Stop() + '_isDownloadFile = False + End If + End Sub + + + ''' + ''' 更新按键显示 + ''' + ''' + Private Sub UpdataBtnConnect(status As EnConnectStatus) + BtnNetworkConnect.Text = _btnConnectTipText(status) + BtnNetworkConnect.ForeColor = _btnConnectTipColor(status) + End Sub + + + ''' + ''' 清空记录 + ''' + ''' + ''' + Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles BtnClear.Click + RtxRecord.Clear() + End Sub + + + ''' + ''' 清空端口1记录 + ''' + ''' + ''' + Private Sub BtnPort1Clear_Click(sender As Object, e As EventArgs) Handles BtnPort1Clear.Click + RtxCountOne.Clear() + End Sub + + + ''' + ''' 清空端口2记录 + ''' + ''' + ''' + Private Sub BtnPort2Clear_Click(sender As Object, e As EventArgs) Handles BtnPort2Clear.Click + RtxCountTwo.Clear() + End Sub + + + ''' + ''' 清空端口3记录 + ''' + ''' + ''' + Private Sub BtnPort3Clear_Click(sender As Object, e As EventArgs) Handles BtnPort3Clear.Click + RtxCountThree.Clear() + End Sub + + + ''' + ''' 重置计数 + ''' + ''' + ''' + Private Sub BtnReset_Click(sender As Object, e As EventArgs) Handles BtnReset.Click + _countRXData = 0 + _countTxData = 0 + LblRXCount.Text = 0 + LblTXCount.Text = 0 + LblCountPort1TX.Text = 0 + LblCountPort2TX.Text = 0 + LblCountPort3TX.Text = 0 + LblCountPort1RX.Text = 0 + LblCountPort2RX.Text = 0 + LblCountPort3RX.Text = 0 + End Sub + + + ''' + ''' 停止刷新布尔值 + ''' + Private _stopRefresh As Boolean + + ''' + ''' 停止刷新端口数据 + ''' + Private Sub StopRefresh(btn As Button) + If _stopRefresh = True Then + _stopRefresh = False + btn.Text = "停止" + + ElseIf _stopRefresh = False Then + _stopRefresh = True + btn.Text = "开启" + + End If + End Sub + + + ''' + ''' 各端口停止刷新纪录 + ''' + ''' + ''' + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + StopRefresh(Button1) + End Sub + + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + StopRefresh(Button2) + End Sub + + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + StopRefresh(Button3) + End Sub + + + +#End Region + +#End Region + +#Region "通讯" + +#Region "通讯全局变量" + + + ''' + ''' 远程IP地址 + ''' + Private _remoteIp As String + + + ''' + ''' 远程端口号 + ''' + Private _remotePort As String + + + ''' + ''' 远程IP地址和端口号 + ''' + Private _remoteEp As New IPEndPoint(IPAddress.Any, _localPort) + + + ''' + ''' 当前时间 + ''' + Private _nowTime As Date + + + ''' + ''' 最后时间 + ''' + Private _lastTime As Date + + + ''' + ''' 时间间隔 + ''' + Private _timeInterbval As TimeSpan + + + ''' + ''' 接收数据偏移量 + ''' + Private _recvOffset As Integer + + + ''' + ''' 接收数据缓存包 + ''' + Private _recvBuffer(254) As Byte + + + ''' + ''' Cmd为70模式注释 + ''' + Private _dataCmd70ModeNote() As String = {"透传查询当前模式为:"} + + + ''' + ''' Cmd为70模式 + ''' + Private _dataCmd70Mode() As String = {"正常模式", "透传模式", "监控模式"} + + + ''' + ''' Cmd为70设置回复 + ''' + Private _dataCmd70SetReply() As String = {"设置成功", "设置失败"} + + + ''' + ''' Cmd为70的透传回复 + ''' + Private _dataCmd70PassthroughReply() As String = {"透传数据正确", "透传数据有误", "透传数据超时"} + + + ''' + ''' Cmd为71的透传回复 + ''' + Private _dataCmd71PassthroughCommand() As String = {"透传命令上报正确", "透传命令上报有误"} + + + ''' + ''' 是否显示通讯记录数据 + ''' + Private _isShowLog As Boolean = True + + + ''' + ''' 是否显示通讯记录提示 + ''' + Public _isShowTip As Boolean = True + + + ''' + ''' 是否窗体处于关闭状态 + ''' + Public _isClosing As Boolean = False + + +#End Region + +#Region "485串口通讯" + + + ''' + ''' 选择串口通讯 + ''' + ''' + ''' + Private Sub RdoPort_CheckedChanged(sender As Object, e As EventArgs) Handles RdoPort.CheckedChanged + PnlPort.Visible = True + PnlPort.BringToFront() + PnlUdp.Visible = False + If _isReceiving Then BtnConnect_Click(Nothing, Nothing) + + End Sub + + + ''' + ''' 选择UDP通讯 + ''' + ''' + ''' + Private Sub RdoRadUdp_CheckedChanged(sender As Object, e As EventArgs) Handles RdoRadUdp.CheckedChanged + PnlUdp.Visible = True + PnlUdp.BringToFront() + PnlPort.Visible = False + If SerialPort.IsOpen Then BtnSerialPortConnect_Click(Nothing, Nothing) + + End Sub + + + ''' + ''' 串口连接按键 + ''' + ''' + ''' + Private Sub BtnSerialPortConnect_Click(sender As Object, e As EventArgs) Handles BtnSerialPortConnect.Click + If String.IsNullOrWhiteSpace(CboSerialPort.Text) Then + MsgBox($"请先选择有效串口!") + Exit Sub + End If + If String.IsNullOrWhiteSpace(CboSerialBaud.Text) Then + MsgBox($"请先选择有效波特率!") + Exit Sub + End If + + If SerialPort.IsOpen Then + SerialPort.Close() + Timer2.Stop() + CloseSerialPort() + Else + ConfigSerialPort() + Try + SerialPort.Open() + OpenSerialPort() + Timer2.Interval = 200 '单位是毫秒 + Timer2.Start() + Catch ex As Exception + AppendTipText($"串口打开失败,原因:{ex.Message}" & vbCrLf, Color.Red) + End Try + End If + End Sub + + + ''' + ''' 关闭串口 + ''' + Private Sub CloseSerialPort() + CboSerialPort.Enabled = True + CboSerialBaud.Enabled = True + BtnSerialPortConnect.Text = $"打开串口" + BtnSerialPortConnect.ForeColor = Color.Green + End Sub + + + ''' + ''' 打开串口 + ''' + Private Sub OpenSerialPort() + CboSerialPort.Enabled = False + CboSerialPort.Enabled = False + BtnSerialPortConnect.Text = $"关闭串口" + BtnSerialPortConnect.ForeColor = Color.Red + End Sub + + + ''' + ''' 点击下拉获取可用串口 + ''' + ''' + ''' + Private Sub CboSerialPort_DropDown(sender As Object, e As EventArgs) Handles CboSerialPort.DropDown + GetSerialPort() + End Sub + + + ''' + ''' 获取可用串口 + ''' + Private Sub GetSerialPort() + Dim portNames As String() = Ports.SerialPort.GetPortNames '获得可用串口 + Array.Sort(portNames) + CboSerialPort.Items.Clear() + CboSerialPort.Items.AddRange(portNames) + End Sub + + + ''' + ''' 配置串口 + ''' + Private Sub ConfigSerialPort() + With SerialPort + .PortName = CboSerialPort.Text '串口名 + .BaudRate = CInt(CboSerialBaud.Text) '波特率 + .DataBits = 8 '数据位 + .StopBits = Ports.StopBits.One '停止位 + .Parity = Ports.Parity.None '偶校验 + .RtsEnable = True + .ReceivedBytesThreshold = 1 + End With + End Sub + + + ''' + ''' 发送485串口数据 + ''' + ''' + ''' + Private Function SendPortData(dataBuff() As Byte) + Dim portData As String = ByteToString(dataBuff) + Dim timeData As String + Dim cutTime As String + + _nowTime = Now + _timeInterbval = _nowTime - _lastTime + _lastTime = _nowTime + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + timeData = timeData.PadRight(6) + cutTime = $"{Now:HH:mm:ss:fff}" + + Try + SerialPort.Write(dataBuff, 0, dataBuff.Length) + AppendTipText("Com-TX:", Color.Green) + AppendTipText("(" & cutTime & "-", Color.Black) + AppendTipText(timeData, Color.BlueViolet) + AppendTipText("):", Color.Black) + AppendTipText(portData & vbCrLf, Color.Green) + Catch ex As Exception + AppendTipText($"串口发送错误!原因:{ex.Message}" & vbCrLf, Color.Red) + Return False + End Try + Return True + End Function + + + ''' + ''' 接收485串口数据 + ''' + ''' + ''' + Public Sub SerialPort_DataReceived(sender As Object, e As Ports.SerialDataReceivedEventArgs) Handles SerialPort.DataReceived + Static bytes As Integer + _recvOffset = 0 + Try + + Do + bytes = SerialPort.BytesToRead + If bytes <= 0 Then Exit Sub + If bytes + _recvOffset >= 255 Then + SerialPort.Read(_recvBuffer, _recvOffset, 255 - _recvOffset) + ShowPortReceData(_recvBuffer) + AnalyticalData(_recvBuffer) + _recvOffset = 0 + Else + SerialPort.Read(_recvBuffer, _recvOffset, bytes) + _recvOffset += bytes + End If + Thread.Sleep(10) + Loop While SerialPort.BytesToRead > 0 + If _recvOffset > 0 Then + Dim buf(_recvOffset - 1) As Byte + Array.Copy(_recvBuffer, 0, buf, 0, buf.Length) + ShowPortReceData(buf) + AnalyticalData(_recvBuffer) + End If + Catch ex As Exception + AppendTipText($"串口接收数据失败,原因:{ex.Message}", Color.Red) + End Try + End Sub + + + ''' + ''' Byte数组转字符串 + ''' + ''' + ''' + Private Function ByteToString(data() As Byte) + Dim strData As String = String.Empty + For i = 0 To data.Length - 1 + strData &= $" {Hex(data(i)).PadLeft(2, "0"c)}" + Next + Return strData + End Function + + + ''' + ''' 显示串口回复数据 + ''' + ''' + Private Sub ShowPortReceData(databuff() As Byte) + Dim portData As String = ByteToString(databuff) + Dim timeData As String + Dim cutTime As String + + _nowTime = Now + _timeInterbval = _nowTime - _lastTime + _lastTime = _nowTime + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + timeData = timeData.PadRight(6) + cutTime = $"{Now:HH:mm:ss:fff}" + + AppendTipText("Com-RX:", Color.Blue) + AppendTipText("(" & cutTime & "-", Color.Black) + AppendTipText(timeData, Color.BlueViolet) + AppendTipText("):", Color.Black) + AppendTipText(portData & vbCrLf, Color.Blue) + End Sub + + + ''' + ''' 解析串口数据 + ''' + ''' + ''' + Private Function AnalyticalData(databuff() As Byte) + If _InfraredReceProcessing = True Then + AnalyInfraredProcessingData(databuff) '红外通信处理 + Else + AnalyRFData(databuff) 'RF无线通信处理 + AnalyRS485Data(databuff) 'RS485通信处理 + AnalySerialPortUpgrade(databuff) '串口升级 + End If + Return True + End Function + + +#Region "解析RS485数据" + + ''' + ''' 解析RS485数据 + ''' + ''' + ''' + Private Function AnalyRS485Data(databuff() As Byte) + ''RS485 + If databuff(0) = &H3 Then + If databuff(2) = &H29 Then + Select Case databuff(6) + Case &H30 + DealQueryDatabuff(databuff) + Case &H29 + Case &H37 + Case Else + Return False + End Select + End If + End If + Return True + End Function + + + ''' + ''' 处理查询数据 + ''' + ''' + ''' + Private Function DealQueryDatabuff(databuff() As Byte) + AppendTipText($"接收成功!" & vbCrLf, Color.Green) + Return True + End Function + + + ''' + ''' 解析红外处理数据 + ''' + ''' + ''' + Private Function AnalyInfraredProcessingData(databuff() As Byte) As Boolean + ''红外 + If databuff(0) = &H55 Then + If databuff(1) = &H55 Then + If databuff(2) = &HEE Then + Select Case databuff(5) + Case &H1 '空调控制 + DealAirControlDatabuff(databuff) + Case &H2 '电视控制 + DealTvControlDataBuff(databuff) + Case &HA3 '搜索版本 + DealInfraredSearchDatabuff(databuff) + Case &HA6 '下发前询问 + DealInfraredPrepareDatabuff(databuff) + Case &HA7 '开始下发 + _isInfraredreply = True + DealInfraredBurnDatabuff(databuff) + Case Else + Return False + End Select + End If + End If + End If + Return True + End Function + + + ''' + ''' 处理空调控制数据 + ''' + ''' + ''' + Private Function DealAirControlDatabuff(databuff() As Byte) As Boolean + Select Case databuff(8) + Case &H0 + AppendTipText($"操作成功! " & vbCrLf, Color.Green) + Case &H1 + AppendTipText($"操作成功! " & vbCrLf, Color.Green) + Case Else + Return False + End Select + + Return True + End Function + + + ''' + ''' 处理电视控制数据 + ''' + ''' + ''' + Private Function DealTvControlDataBuff(databuff() As Byte) As Boolean + Select Case databuff(7) + Case &H1 + AppendTipText($"接收成功! " & vbCrLf, Color.Green) + Case Else + AppendTipText($"接收失败! " & vbCrLf, Color.Red) + Return False + End Select + + Return True + End Function + + + ''' + ''' 处理红外搜索数据 + ''' + ''' + ''' + + Private Function DealInfraredSearchDatabuff(databuff() As Byte) As Boolean + Dim Ser1 As String = databuff(8).ToString + Dim Ser2 As String = databuff(9).ToString + Dim Ser3 As String = databuff(10).ToString + + AppendTipText($"红外搜索成功! ", Color.Green) + AppendTipText($"搜索版本为:{Ser1}.{Ser2}.{Ser3}" & vbCrLf, Color.Green) + If _addInfraredForm.IsFVer Then + _addInfraredForm.Fw_Ver = databuff(8) + _addInfraredForm.IsFVer = False + End If + Return True + End Function + + + ''' + ''' 处理红外数据 + ''' + ''' + ''' + Private Function DealInfraredPrepareDatabuff(databuff() As Byte) As Boolean + Select Case databuff(8) + Case &H0 + _isPrepare = True + AppendTipText($"红外数据下发准备就绪!" & vbCrLf, Color.Green) + Case &H1 + AppendTipText($"红外数据下发成功!" & vbCrLf, Color.Green) + Case &H2 + AppendTipText($"红外数据下发失败!" & vbCrLf, Color.Red) + Return False + Case Else + Return False + End Select + + Return True + End Function + + + ''' + ''' 烧录过程中,处理数据 + ''' + ''' + ''' + Private Function DealInfraredBurnDatabuff(databuff() As Byte) As Boolean + Select Case databuff(9) + Case &H1 + AppendTipText($"烧录成功,当前为第{databuff(8)}包!" & vbCrLf, Color.Green) + _resend = 0 + Case &H2 + AppendTipText($"烧录失败,当前为第{databuff(8)}包!" & vbCrLf, Color.Red) + Return False + Case Else + Return False + End Select + + Return True + End Function + + + +#End Region + + +#Region "解析RF数据" + + + ''' + ''' 取设备偏移值 + ''' + Private _skewing As Integer + + ''' + ''' 监控模式布尔值 + ''' + Private _rfMonitoring As Boolean + + + ''' + ''' 处理RF单包数据 + ''' + ''' + ''' + Private Function AnalyRFDataPacket(databuff() As Byte) As Byte() + ' Dim data As New List(Of Byte) + + 'If _rfMonitoring = True Then + ' Dim len As Integer = databuff.Length - 19 + ' For index = 0 To len + ' data.Add(databuff(index)) + ' Next + 'Else + ' If databuff.Length > 4 Then + ' Dim len As Integer = CInt($"{databuff(4)}") + 6 + ' For index = 0 To len - 1 + ' data.Add(databuff(index)) + ' Next + ' End If + 'End If + + Return databuff.ToArray + End Function + + + ''' + ''' 处理RF数据 + ''' + ''' + Private Sub AnalyRFData(databuff() As Byte) + If databuff.Length < 6 Then + Exit Sub + End If + + '判断RF的数据 + Dim data() As Byte = AnalyRFDataPacket(databuff) + 'Console.WriteLine($"数据前:{ByteToString(data.ToArray)}, 1校验值{databuff(3)}") + data(3) = &H0 + Dim checkSum As Byte = GetSumCheckMod(data.ToArray) + 'Console.WriteLine($"数据后:{ByteToString(data.ToArray)}, 2校验值{checkSum}") + + If databuff(3) = checkSum Then + 'Console.WriteLine($"确认为RF数据") + DealRFData(databuff) + 'Timer3.Stop() + End If + 'If _isStartTimer = True Then + ' Console.WriteLine($"超时未收到数据,开启定时器{Now:HH:mm:ss:fff}") + ' If InvokeRequired Then + ' Invoke(New Action(Sub() + ' Timer3.Interval = 10000 + ' Timer3.Start() + ' End Sub)) + ' Else + ' Timer3.Interval = 10000 + ' Timer3.Start() + ' End If + 'End If + End Sub + + + + ''' + ''' 解析RF数据 + ''' + ''' + ''' + Private Function DealRFData(databuff() As Byte) As Boolean + Select Case databuff(5) + Case &H13 '读取RF网络 + DealReadDevState(databuff) + Case &H15 '读取RF设备列表 + DealRFDevListData(databuff) + Case &H16 '16上报数据 + _addRFWifiForm.ReplyData(databuff) '回复41命令 + DealRFDev16ReportData(databuff) + Case &H17 '设置RF网络 + DealSetDevState(databuff) + Case &H1A '配对RF设备列表 + _addRFWifiForm.ReplyData(databuff) '回复41命令 + If _pairingModel = True Then + DealPairingRFDevList(databuff) + End If + Case &H1B + _addRFWifiForm.ReplyData(databuff) '回复41命令 + If _pairingModel = True Then + DealRFDevWriteInfo(databuff) + End If + Case &H41 '41命令 + + Case &H51 '51上报数据 + _addRFWifiForm.ReplyData(databuff) '回复41命令 + DealRFDev51ReportData(databuff) + Case Else + + End Select + + Return True + End Function + + + ''' + ''' 解析询问设备网络状态命令_0x13 + ''' + ''' + Private Sub DealReadDevState(databuff() As Byte) + AppendTipText($"设备总数:{databuff(7)}个, 在线设备:{databuff(8)}个, 网关地址:{databuff(9)}{vbCrLf}", Color.Green) + AppendTipText($"频道1:{databuff(10)}, 频道2:{databuff(11)}, 频道3:{databuff(12)}{vbCrLf}", Color.Green) + AppendTipText($"读取设备网络完成!{vbCrLf}", Color.Green) + + _addRFWifiForm.ReadRFWifi(databuff(9)) + End Sub + + + ''' + ''' 解析读取设备列表命令_0x15 + ''' + ''' + Private Sub DealRFDevListData(databuff() As Byte) + Dim data() As Byte = AnalyRFDataPacket(databuff) + + If databuff(6) = &H0 Then + '重置所有设备列表状态 + For Each dev As DeviceListInfo In _devList.Values + dev.ResetState() + Next + + For _skewing = 7 To data.Length - 3 + '设置匹配的设备列表状态 + Dim devType As String = DealDevType(data(_skewing)) + Dim devAddr As String = DealDevAddr(data(_skewing + 1)) + Dim devState As String = DealDevState(data(_skewing + 2)) + Dim devName As String = DeviceListInfo.GetDevName(devType, devAddr) + Console.WriteLine($"Now: 设备名称:{devName}, 设备类型:{devType}, 设备地址:{devAddr}, 设备状态:{devState}") + + If _devList.ContainsKey(devName) Then + _devList.Item(devName).DevState = devState + Else + _devList.Add(devName, New DeviceListInfo(devType, devAddr, devState)) + End If + + _skewing += 2 + Next + + '更新表格_全部刷新 + _addRFWifiForm.RefreshDeviceList() + + End If + AppendTipText($"读取设备列表完成!{vbCrLf}", Color.Green) + End Sub + + + ''' + ''' 解析设置设备网络命令_0x017 + ''' + ''' + Private Sub DealSetDevState(databuff() As Byte) + Select Case databuff(6) + Case 0 + AppendTipText($"设置RF网络成功!{vbCrLf}", Color.Green) + Case 1 + AppendTipText($"设置RF网络失败!{vbCrLf}", Color.Red) + End Select + End Sub + + + ''' + ''' 解析配对设备列表命令_0x1A + ''' + ''' + Private Sub DealPairingRFDevList(databuff() As Byte) + Dim data() As Byte = AnalyRFDataPacket(databuff) + Dim tmpName As String = Encoding.UTF8.GetString(databuff, 6, 16).Trim + + '设置匹配的设备列表状态 + Dim devType As String = GetDevType(tmpName) + Dim devAddr As String = DealDevAddr(data(27)) + Dim devName As String = DeviceListInfo.GetDevName(devType, devAddr) + + Console.WriteLine($"设备机型:{tmpName}, 设备类型:{devType}, 设备地址:{devAddr}, 设备名称:{devName}") + + If _devList.ContainsKey(devName) = False Then + _devList.Add(devName, New DeviceListInfo(devType, devAddr)) + End If + + '更新表格_局部刷新 + _addRFWifiForm.RefreshPairingDeviceList(devName, devType, devAddr) + + For Each key As String In _devList.Keys + Console.WriteLine($"缓存表:Name{_devList(key).DevName}:Type{_devList(key).DevType},Addr:{_devList(key).DevAddr},Status:{_devList(key).DevState},Count:{_devList(key).DevControlCount}") + Next + + AppendTipText($"配对设备信息上报!{vbCrLf}", Color.Green) + End Sub + + + ''' + ''' 解析RF设备写入信息 + ''' + ''' + Private Sub DealRFDevWriteInfo(databuff As Byte()) + + + End Sub + + + ''' + ''' 根据配对设备型号获取设备名称 + ''' + ''' + ''' + Private Function GetDevType(devName As String) As String + Select Case devName + Case $"RF-CR-1808" '插卡取电 + devName = $"插卡取电" + Case $"RF_K9S" '开关面板 + devName = $"开关面板" + Case $"RF-K9S-1608" '开关面板 + devName = $"开关面板" + Case $"RF_VC2006" '无线语音 + devName = $"无线语音" + Case $"RF_KP_WKA8T" '无线温控 + devName = $"无线温控" + Case $"RF_RL1705" '微信锁 + devName = $"微信锁" + Case $"RF_EC2012" '电动窗帘 + devName = $"电动窗帘" + + Case Else + devName = $"未知{devName}" + End Select + + Return devName + End Function + + + ''' + ''' 解析设备类型 + ''' + ''' + ''' + Private Function DealDevType(data As Byte) As String + Dim txtType As String + + Select Case data + Case &H5 + txtType = $"插卡取电" + Case &H7 + txtType = $"开关面板" + Case &H8 + txtType = $"无线语音" + Case &H9 + txtType = $"无线温控" + Case &HA + txtType = $"微信锁" + Case &HB + txtType = $"电动窗帘" + Case Else + txtType = $"未知设备" + End Select + + Return txtType + End Function + + + ''' + ''' 解析设备地址 + ''' + ''' + ''' + Private Function DealDevAddr(data As Byte) As String + Dim txtAddr As String = $"{data}" + + Return txtAddr + End Function + + + ''' + ''' 解析设备状态 + ''' + ''' + ''' + Private Function DealDevState(data As Byte) As String + Dim txtState As String + + Select Case data + Case &H1 + txtState = $"在线" + Case Else + txtState = $"离线" + End Select + + Return txtState + End Function + + + ''' + ''' 解析RF设备16命令上报数据 + ''' + ''' + ''' + Private Function DealRFDev16ReportData(databuff As Byte()) + Dim testValue As Integer = CInt(databuff(7)) + Dim addr As String = databuff(2).ToString + Select Case databuff(1) + Case &H5 '插卡取电 + DealInsertCardReport16(databuff) + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"插卡取电", addr, $"{testValue}") + AppendTipText($"插卡取电--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case &HB '电动窗帘 + DealElectricCurtainReport16(databuff) + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"电动窗帘", addr, $"{testValue}") + AppendTipText($"电动窗帘--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case &H7 + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"开关面板", addr, $"{testValue}") + AppendTipText($"开关面板--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case &H8 + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"无线语音", addr, $"{testValue}") + AppendTipText($"无线语音--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case &H9 + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"无线温控", addr, $"{testValue}") + AppendTipText($"无线温控--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case &HA + If databuff(6) = &H6 Then + _addRFWifiForm.RefreshCommTest($"微信锁", addr, $"{testValue}") + AppendTipText($"微信锁--通讯测试成功率:{testValue}% {vbCrLf}", Color.Blue) + End If + Case Else + + End Select + + Return True + End Function + + + ''' + ''' 插卡取电上报数据16 + ''' + ''' + Private Sub DealInsertCardReport16(databuff As Byte()) + Dim devControlInfo As String = String.Empty + If databuff(6) = &H19 Then + If databuff(8) = &H0 Then + devControlInfo = $"当前扇区地址为: {Hex(databuff(7))}, 插卡状态:卡拔出" + ElseIf databuff(8) = &H1 Then + devControlInfo = $"当前扇区地址为: {Hex(databuff(7))}, 插卡状态:卡插入" + End If + End If + AppendTipText($"{devControlInfo} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 电动窗帘上报数据16 + ''' + ''' + Private Sub DealElectricCurtainReport16(databuff As Byte()) + Dim devControlInfo As String = String.Empty + If databuff(6) = &H27 Then '确认为电动窗帘上报数据 + If databuff(20) = &H1 Then + devControlInfo = $"窗帘打开" + ElseIf databuff(20) = &H2 Then + devControlInfo = $"窗帘停止" + ElseIf databuff(20) = &H0 Then + devControlInfo = $"窗帘关闭" + End If + AppendTipText($"{devControlInfo} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + End If + End Sub + + + ''' + ''' 解析RF设备51命令上报数据 + ''' + ''' + ''' + Private Function DealRFDev51ReportData(databuff As Byte()) + Select Case databuff(1) + Case &H5 '插卡取电 + DealInsertCardReport51(databuff) + Case &H7 '开关面板 + DealSwitchReport51(databuff) + Case &H8 '无线语音 + DealWirelessVoice51(databuff) + Case &H9 '无线温控 + DealWirelessTempControlReport51(databuff) + Case &HA '微信锁 + DealWeChatLockReport51(databuff) + Case Else + + End Select + + Return True + End Function + + + ''' + ''' 插卡取电上报数据51 + ''' + ''' + Private Sub DealInsertCardReport51(databuff As Byte()) + _addRFWifiForm.ReplyData(databuff) '回复41命令 + Dim devControlInfo As String = String.Empty + If databuff(7) = &H0 Then + devControlInfo = $"卡拔出" + ElseIf databuff(7) = &H1 Then + devControlInfo = $"卡插入" + End If + AppendTipText($"{devControlInfo} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + End Sub + + + + ''' + ''' 开关面板上报数据51 + ''' + ''' + Private Sub DealSwitchReport51(databuff As Byte()) + Console.WriteLine($"排查开关数据:{ByteToString(databuff)}") + '数组超过界限解决_避免51 00回复命令 + If databuff(4) = &H1 Then + Exit Sub + End If + + Dim keyCount As Byte = databuff(7) '当前上报的按键数 + Dim keyTxt As String = KeyText(databuff) + Dim devControlInfo As String = $"开关按键数: {databuff(7)} 键, {keyTxt}" + + 'Dim devControlInfo As String = $"开关按键数: {databuff(7)} 键, 1{LigthTipInfo(keylight1)}, 2{LigthTipInfo(keylight2)}, 3{LigthTipInfo(keylight3)}, 4{LigthTipInfo(keylight4)}, 5{LigthTipInfo(keylight5)}, 6{LigthTipInfo(keylight6)}" + + AppendTipText($"{devControlInfo}{vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 键值文本 + ''' + Private Function KeyText(dataBuff As Byte()) As String + Dim txt As String = String.Empty + + Dim light1 As Byte = dataBuff(8) + Dim light2 As Byte = dataBuff(9) + Dim light3 As Byte = dataBuff(10) + + '1号按键 + Dim keylight1 As Byte = light1 And 3 + + '2号按键 + Dim keylight2 As Byte = light1 >> 2 + keylight2 = keylight2 And 3 + + '3号按键 + Dim keylight3 As Byte = light1 >> 4 + keylight3 = keylight3 And 3 + + '4号按键 + Dim keylight4 As Byte = light1 >> 6 + keylight4 = keylight4 And 3 + + '5号按键 + Dim keylight5 As Byte = light2 And 3 + + '6号按键 + Dim keylight6 As Byte = light2 >> 2 + keylight6 = keylight6 And 3 + + '7号按键 + Dim keylight7 As Byte = light2 >> 4 + keylight7 = keylight7 And 3 + + '8号按键 + Dim keylight8 As Byte = light2 >> 6 + keylight8 = keylight8 And 3 + + '9号按键 + Dim keylight9 As Byte = light3 And 3 + + '10号按键 + Dim keylight10 As Byte = light3 >> 2 + keylight10 = keylight10 And 3 + + If LigthTipInfo(keylight1) IsNot Nothing Then + txt = $"1号按键:{LigthTipInfo(keylight1)}" + ElseIf LigthTipInfo(keylight2) IsNot Nothing Then + txt = $"2号按键:{LigthTipInfo(keylight2)}" + ElseIf LigthTipInfo(keylight3) IsNot Nothing Then + txt = $"3号按键:{LigthTipInfo(keylight3)}" + ElseIf LigthTipInfo(keylight4) IsNot Nothing Then + txt = $"4号按键:{LigthTipInfo(keylight4)}" + ElseIf LigthTipInfo(keylight5) IsNot Nothing Then + txt = $"5号按键:{LigthTipInfo(keylight5)}" + ElseIf LigthTipInfo(keylight6) IsNot Nothing Then + txt = $"6号按键:{LigthTipInfo(keylight6)}" + ElseIf LigthTipInfo(keylight7) IsNot Nothing Then + txt = $"7号按键:{LigthTipInfo(keylight7)}" + ElseIf LigthTipInfo(keylight8) IsNot Nothing Then + txt = $"8号按键:{LigthTipInfo(keylight8)}" + ElseIf LigthTipInfo(keylight9) IsNot Nothing Then + txt = $"9号按键:{LigthTipInfo(keylight9)}" + ElseIf LigthTipInfo(keylight10) IsNot Nothing Then + txt = $"10号按键:{LigthTipInfo(keylight10)}" + End If + + Return txt + End Function + + + ''' + ''' 按键等提示信息 + ''' + ''' + ''' + Private Function LigthTipInfo(data As Byte) As String + Dim tipText As String = String.Empty + Select Case data + Case &H1 + tipText = $"点按" + Case &H2 + tipText = $"松开" + Case &H3 + tipText = $"长按" + End Select + + Return tipText + End Function + + + + ''' + ''' 无线温控上报数据51 + ''' + ''' + Private Sub DealWirelessTempControlReport51(databuff As Byte()) + '数组超过界限解决_避免51 00回复命令 + If databuff(4) = &H1 Then + Exit Sub + End If + + Dim byte1 As Byte + Dim byte2 As Byte + Try + byte1 = databuff(7) + byte2 = databuff(8) + Catch ex As Exception + Console.WriteLine($"温控异常:{ex.Message}") + End Try + + 'Console.WriteLine($"两个byte:{byte1} {byte2}") + + '室内温度 + Dim indoor As Byte = byte1 And 31 + 'Console.WriteLine($"室内温度:{indoor}") + + '室外温度 + Dim out1 As Byte = byte1 >> 5 + Dim out2 As Byte = byte2 And 3 + out2 = out2 << 3 + Dim outdoor As Byte = out2 Or out1 + 'Console.WriteLine($"设置温度:{outdoor}") + + '阀门 + Dim valve As Byte = byte2 >> 2 And 1 + Dim txtValve As String = String.Empty + If valve = &H0 Then + txtValve = $"关阀" + ElseIf valve = &H1 Then + txtValve = $"开阀" + End If + 'Console.WriteLine($"阀门:{valve}{txtValve}") + + '风速 + Dim velocity As Byte = byte2 >> 3 And 3 + Dim txtVel As String = String.Empty + If velocity = &H0 Then + txtVel = $"自动" + ElseIf velocity = &H1 Then + txtVel = $"低速" + ElseIf velocity = &H2 Then + txtVel = $"中速" + ElseIf velocity = &H3 Then + txtVel = $"高速" + End If + 'Console.WriteLine($"风速:{velocity}{txtVel}") + + '模式 + Dim model As Byte = byte2 >> 5 And 3 + Dim txtModel As String = String.Empty + If model = &H1 Then + txtModel = $"制冷" + ElseIf model = &H2 Then + txtModel = $"制热" + ElseIf model = &H3 Then + txtModel = $"送风" + End If + Console.WriteLine($"模式:{model}{txtModel}") + + '开关 + Dim switch As Byte = byte2 >> 7 + Dim txtSwitch As String = String.Empty + If switch = &H0 Then + txtSwitch = $"关机" + ElseIf switch = &H1 Then + txtSwitch = $"开机" + End If + Console.WriteLine($"开关:{switch}{txtSwitch}") + + Dim devControlInfo As String = $"室内温度:{indoor}, 设置温度:{outdoor}, {txtValve}, {txtVel}, {txtModel}, {txtSwitch}" + AppendTipText($"{devControlInfo}{vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + + 'For Each key As String In _devList.Keys + ' Console.WriteLine($"控制信息:Name{_devList(key).DevName}:Type{_devList(key).DevType}, Addr:{_devList(key).DevAddr}, Status:{_devList(key).DevState}, 控制信息:{_devList(key).DevControlInfo}") + 'Next + + End Sub + + + ''' + ''' 微信锁上报数据51 + ''' + ''' + Private Sub DealWeChatLockReport51(databuff As Byte()) + Dim elecH As Byte = databuff(8) + Dim elecL As Byte = databuff(9) + Dim elec As Short + elec = elecH * 256 + elecL + Dim devControlInfo As String = String.Empty + + If databuff(7) = &H1 Then + devControlInfo = $"锁状态:开锁, 电池电量:{elec} mV" + ElseIf databuff(7) = &H2 Then + devControlInfo = $"锁状态:关锁, 电池电量:{elec} mV" + End If + AppendTipText($"{devControlInfo} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, devControlInfo) '刷新设备列表控制信息 + End Sub + + +#Region "解析无线语音数据" + + + ''' + ''' 无线语音上报数据51 + ''' + ''' + Private Sub DealWirelessVoice51(databuff As Byte()) + Select Case databuff(11) + Case &H0 '场景 + WirelessVoiceScenario(databuff) + Case &H1 '继电器 + WirelessVoiceRelay(databuff) + Case &H4 '服务客需 + WirelessVoiceService(databuff) + Case &H5 '窗帘窗纱 + WirelessVoiceCurtainScreen(databuff) + Case &H7 '空调控制 + WirelessVoiceAirControl(databuff) + Case &H10 '调光 + WirelessVoiceDimmer(databuff) + Case &H15 '背景音乐 + WirelessVoiceBackgroundMusic(databuff) + Case &HF '继电器_电视 + WirelessVoiceRelayTV(databuff) + Case &H12 '灯带 + WirelessVoiceLampWith(databuff) + Case Else + + End Select + End Sub + + + ''' + ''' 无线语音_场景_类型0 + ''' + Private Sub WirelessVoiceScenario(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &HE + If databuff(13) = &H1 Then + txt = $"打开所有灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭所有灯" + End If + Case &HC + txt = $"明亮模式" + Case &H2 + txt = $"睡眠模式" + Case &HA + txt = $"温馨模式" + Case &H1 + txt = $"会客模式" + Case &H9 + txt = $"观影模式" + Case &H4 + txt = $"休闲模式" + Case &H6 + txt = $"阅读模式" + Case &H15 + txt = $"电视模式" + Case &HF + txt = $"柔和模式" + Case &H8 + txt = $"浪漫模式" + Case Else + txt = $"未识别唤醒词" + End Select + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + + End Sub + + + ''' + ''' 无线语音_继电器_类型1 + ''' + ''' + Private Sub WirelessVoiceRelay(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &H14 + If databuff(13) = &H1 Then + txt = $"打开淋浴灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭淋浴灯" + End If + Case &H1 + If databuff(13) = &H1 Then + txt = $"打开卫生间灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭卫生间灯" + End If + Case &H2 + If databuff(13) = &H1 Then + txt = $"打开浴室灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭浴室灯" + End If + Case &H3 + If databuff(13) = &H1 Then + txt = $"打开镜前灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭镜前灯" + End If + Case &H4 + If databuff(13) = &H1 Then + txt = $"打开排风扇" + ElseIf databuff(13) = &H2 Then + txt = $"关闭排风扇" + End If + Case &H5 + If databuff(13) = &H1 Then + txt = $"打开廊灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭廊灯" + End If + Case &H6 + If databuff(13) = &H1 Then + txt = $"打开吧台灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭吧台灯" + End If + Case &HF + If databuff(13) = &H1 Then + txt = $"打开筒灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭筒灯" + End If + Case &H18 + If databuff(13) = &H1 Then + txt = $"打开阅读灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭阅读灯" + End If + Case &H8 + If databuff(13) = &H1 Then + txt = $"打开左阅读" + ElseIf databuff(13) = &H2 Then + txt = $"关闭左阅读" + End If + Case &H9 + If databuff(13) = &H1 Then + txt = $"打开右阅读" + ElseIf databuff(13) = &H2 Then + txt = $"关闭右阅读" + End If + Case &H19 + If databuff(13) = &H1 Then + txt = $"打开壁灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭壁灯" + End If + Case &H1B + If databuff(13) = &H1 Then + txt = $"打开房灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭房灯" + End If + Case &H12 + If databuff(13) = &H1 Then + txt = $"打开背景灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭背景灯" + End If + Case &H13 + If databuff(13) = &H1 Then + txt = $"打开夜灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭夜灯" + End If + Case &H16 + If databuff(13) = &H1 Then + txt = $"打开阳台灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭阳台灯" + End If + Case &HA + If databuff(13) = &H1 Then + txt = $"打开书桌灯" + ElseIf databuff(13) = &H2 Then + txt = $"关闭书桌灯" + End If + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_服务客需_类型4 + ''' + ''' + Private Sub WirelessVoiceService(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &H1 + If databuff(13) = &H1 Then + txt = $"打开清理" + ElseIf databuff(13) = &H2 Then + txt = $"关闭清理" + End If + Case &H2 + If databuff(13) = &H1 Then + txt = $"打开勿扰" + ElseIf databuff(13) = &H2 Then + txt = $"关闭勿扰" + End If + Case &H4 + txt = $"我要退房" + Case &H15 + txt = $"送牙刷" + Case &H16 + txt = $"送瓶水" + Case &H6 + txt = $"送双拖鞋" + Case &H7 + txt = $"我需要护发素" + Case &H8 + txt = $"我需要洗发水" + Case &H9 + txt = $"我需要沐浴露" + Case &HB + txt = $"送一块香皂" + Case &HC + txt = $"我需要浴帽" + Case &HD + txt = $"送一把梳子" + Case &HF + txt = $"我需要吹风机" + Case &H12 + txt = $"送一支笔" + Case &H13 + txt = $"送一套充电器数据线" + Case &H14 + txt = $"呼叫服务员" + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_窗帘窗纱_类型5 + ''' + ''' + Private Sub WirelessVoiceCurtainScreen(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &H1 + If databuff(13) = &H1 Then + txt = $"打开窗帘" + ElseIf databuff(13) = &H2 Then + txt = $"关闭窗帘" + ElseIf databuff(13) = &H6 Then + txt = $"窗帘停" + End If + Case &H2 + If databuff(13) = &H1 Then + txt = $"打开窗纱" + ElseIf databuff(13) = &H2 Then + txt = $"关闭窗纱" + ElseIf databuff(13) = &H6 Then + txt = $"窗纱停" + End If + Case &H7 + If databuff(13) = &H1 Then + txt = $"打开卷帘" + ElseIf databuff(13) = &H2 Then + txt = $"关闭卷帘" + ElseIf databuff(13) = &H6 Then + txt = $"卷帘停" + End If + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_空调控制_类型7 + ''' + ''' + Private Sub WirelessVoiceAirControl(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(13) + Case &H0 + WirelessVoiceAirControl0x00(databuff) + Case &H21 + txt = $"温度调高" + Case &HF + txt = $"温度调低" + Case &H10 + txt = $"十六度" + Case &H11 + txt = $"十七度" + Case &H12 + txt = $"十八度" + Case &H13 + txt = $"十九度" + Case &H14 + txt = $"二十度" + Case &H15 + txt = $"二十一度" + Case &H16 + txt = $"二十二度" + Case &H17 + txt = $"二十三度" + Case &H18 + txt = $"二十四度" + Case &H19 + txt = $"二十五度" + Case &H1A + txt = $"二十六度" + Case &H1B + txt = $"二十七度" + Case &H1C + txt = $"二十八度" + Case &H1D + txt = $"二十九度" + Case &H1E + txt = $"三十度" + Case &H22 + txt = $"风速调大" + Case &HE + txt = $"风速调小" + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_空调控制_类型7_0x00 + ''' + ''' + Private Sub WirelessVoiceAirControl0x00(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(14) + Case &H40 + txt = $"打开空调" + Case &H80 + txt = $"关闭空调" + Case &H4 + txt = $"低风速" + Case &H8 + txt = $"中风速" + Case &HC + txt = $"高风速" + Case &H0 + txt = $"自动风速" + Case &H10 + txt = $"制冷模式" + Case &H20 + txt = $"制热模式" + Case &H30 + txt = $"送风模式" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_背景音乐_类型15 + ''' + ''' + Private Sub WirelessVoiceBackgroundMusic(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(13) + Case &H0 + If databuff(14) = &H2 Then + txt = $"关闭背景音乐" + End If + Case &H1 + Select Case databuff(14) + Case &H1 + txt = $"打开背景音乐" + Case &H2 + txt = $"音乐暂停" + Case &H3 + txt = $"上一首" + Case &H4 + txt = $"下一首" + Case &H5 + txt = $"音量调大" + Case &HA0 + txt = $"音量最大" + Case &H6 + txt = $"音量调小" + Case &H10 + txt = $"音量最小" + End Select + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_调光_类型10 + ''' + ''' + Private Sub WirelessVoiceDimmer(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &H1F + Select Case databuff(13) + Case &HA + txt = $"灯光调亮" + Case &H1 + txt = $"灯光最亮" + Case &HB + txt = $"灯光调暗" + Case &H2 + txt = $"灯光最暗" + End Select + Case &H18 + If databuff(13) = &HB Then + txt = $"阅读灯调暗" + ElseIf databuff(13) = &HA Then + txt = $"阅读灯调亮" + End If + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_继电器_电视_类型F + ''' + ''' + Private Sub WirelessVoiceRelayTV(databuff As Byte()) + Dim txt As String = String.Empty + If databuff(13) = &H1 Then + txt = $"打开电视" + ElseIf databuff(13) = &H2 Then + txt = $"关闭电视" + End If + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + ''' + ''' 无线语音_灯带_类型12 + ''' + ''' + Private Sub WirelessVoiceLampWith(databuff As Byte()) + Dim txt As String = String.Empty + Select Case databuff(12) + Case &H4 + If databuff(13) = &H1 Then + txt = $"打开灯带" + ElseIf databuff(13) = &H2 Then + txt = $"关闭灯带" + End If + Case &HA + If databuff(13) = &H1 Then + txt = $"打开卫生间灯带" + ElseIf databuff(13) = &H2 Then + txt = $"关闭卫生间灯带" + End If + Case Else + txt = $"未识别唤醒词" + End Select + + AppendTipText($"{txt} {vbCrLf}", Color.Green) + RefreshDevControlInfo(databuff, txt) '刷新设备列表控制信息 + End Sub + + + + +#End Region + + + ''' + ''' 刷新设备列表控制信息 + ''' + ''' + ''' + Private Sub RefreshDevControlInfo(databuff() As Byte, Controltxt As String) + Dim devType As String = DealDevType(databuff(1)) + Dim devAddr As String = DealDevAddr(databuff(2)) + Dim devName As String = DeviceListInfo.GetDevName(devType, devAddr) + + If _devList.ContainsKey(devName) Then + _devList.Item(devName).DevControlInfo = Controltxt + End If + + '更新表格_局部刷新 + _addRFWifiForm.RefreshDevListControl(devType, devAddr) + End Sub + + + +#End Region + + +#Region "解析串口升级" + + Private Sub AnalySerialPortUpgrade(databuff() As Byte) + If databuff(1) = &H11 OrElse databuff(1) = &H12 OrElse + databuff(1) = &H70 OrElse databuff(1) = &H71 OrElse + databuff(1) = &H72 OrElse databuff(1) = &H73 OrElse + databuff(1) = &H74 OrElse databuff(1) = &H75 OrElse + databuff(1) = &H76 OrElse databuff(1) = &H77 OrElse + databuff(1) = &H78 OrElse databuff(1) = &H79 OrElse + databuff(1) = &H90 OrElse databuff(1) = &H91 Then + + Select Case databuff(1) + Case &H11 '搜索_App区 + DealSerialPortCmd11(databuff) + Case &H12 '跳转_App区 + DealSerialPortCmd12(databuff) + Case &H70 '写入Flash数据 + DealSerialPortCmd70(databuff) + Case &H71 '读出Flash数据 + Case &H72 '擦除Flash + DealSerialPortCmd72(databuff) + Case &H73 '搜索_Boot区 + DealSerialPortCmd73(databuff) + Case &H74 '写入EEPROM + Case &H75 '读出EEPROM + Case &H76 '擦除EEPROM + Case &H77 '校验Flash + DealSerialPortCmd77(databuff) + Case &H78 '跳转_Boot区 + DealSerialPortCmd78(databuff) + Case &H79 '设置参数 + DealSerialPortCmd79(databuff) + Case &H90 '读取特征区域数据 + Case &H91 '写入特征区域 + Case Else + + End Select + + End If + End Sub + + + ''' + ''' 是否是C1设备 + ''' + Public _isDeviceC1 As Boolean + + + ''' + ''' 搜索_App区 + ''' + ''' + Private Sub DealSerialPortCmd11(databuff() As Byte) + Dim devAddr As Byte + Dim data(15) As Byte + + If _isDeviceC1 = True Then + devAddr = databuff(5) 'databuff(5) 485地址 + Array.Copy(databuff, 10, data, 0, data.Length - 1) + Else + devAddr = databuff(4) 'databuff(4) 485地址 + Array.Copy(databuff, 9, data, 0, data.Length - 1) + End If + + '重置所有设备列表状态 + For Each dev As UpdateDeviceInfo In _upgradeDevList.Values + dev.UpgradeResult() + Next + + '设置匹配的设备列表状态 + Dim devPartition As String = $"App" + Dim devName As String = Encoding.UTF8.GetString(data) + Console.WriteLine($"缓存区-App: 设备名称:{devName}, 设备地址:{devAddr}, 设备分区:{devPartition}") + + If _upgradeDevList.ContainsKey(devAddr) Then + _upgradeDevList.Item(devAddr).DevResult = $"准备升级..." + Else + _upgradeDevList.Add(devAddr, New UpdateDeviceInfo(devAddr, devPartition, devName)) + End If + + '更新表格_全部刷新 + _add485UpdateForm.SearchPartition() + + End Sub + + + ''' + ''' 搜索_Boot区 + ''' + ''' + Private Sub DealSerialPortCmd73(databuff() As Byte) + Dim devAddr As Byte + Dim data(15) As Byte + + If _isDeviceC1 = True Then + devAddr = databuff(5) 'databuff(5) 485地址 + Array.Copy(databuff, 10, data, 0, data.Length - 1) + Else + devAddr = databuff(4) 'databuff(4) 485地址 + Array.Copy(databuff, 9, data, 0, data.Length - 1) + End If + + '重置所有设备列表状态 + For Each dev As UpdateDeviceInfo In _upgradeDevList.Values + dev.UpgradeResult() + Next + + '设置匹配的设备列表状态 + Dim devPartition As String = $"Boot" + Dim devName As String = Encoding.UTF8.GetString(data) + Console.WriteLine($"缓存区-Boot: 设备名称:{devName}, 设备地址:{devAddr}, 设备分区:{devPartition}") + + If _upgradeDevList.ContainsKey(devAddr) Then + _upgradeDevList.Item(devAddr).DevResult = $"准备升级..." + Else + _upgradeDevList.Add(devAddr, New UpdateDeviceInfo(devAddr, devPartition, devName)) + End If + + '更新表格_全部刷新 + _add485UpdateForm.SearchPartition() + + End Sub + + + ''' + ''' 跳转_App区 + ''' + ''' + Private Sub DealSerialPortCmd12(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"跳转_App区-485地址: {databuff(5)}") + Else + Console.WriteLine($"跳转_App区-485地址: {databuff(4)}") + End If + End Sub + + + ''' + ''' 写入Flash数据 + ''' + ''' + Private Sub DealSerialPortCmd70(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"写入Flash数据-485地址: {databuff(5)}") + Else + Console.WriteLine($"写入Flash数据-485地址: {databuff(4)}") + End If + End Sub + + + ''' + ''' 擦除Flash + ''' + ''' + Private Sub DealSerialPortCmd72(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"擦除Flash-485地址: {databuff(5)}") + Else + Console.WriteLine($"擦除Flash-485地址: {databuff(4)}") + End If + End Sub + + + ''' + ''' 校验Flash + ''' + ''' + Private Sub DealSerialPortCmd77(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"校验Flash-485地址: {databuff(5)}") + GetFlashCheckResult(databuff(5)) + Else + Console.WriteLine($"校验Flash-485地址: {databuff(4)}") + GetFlashCheckResult(databuff(4)) + End If + End Sub + + + ''' + ''' 获取Flash校验结果 + ''' + ''' + Private Sub GetFlashCheckResult(result As Byte) + If result = &H1 Then '校验成功 + Console.WriteLine($"校验Flash成功!") + ElseIf result = &H0 Then '校验失败 + Console.WriteLine($"校验Flash失败!") + End If + End Sub + + + ''' + ''' 跳转_Boot区 + ''' + ''' + Private Sub DealSerialPortCmd78(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"跳转_Boot区-485地址: {databuff(5)}") + Else + Console.WriteLine($"跳转_Boot区-485地址: {databuff(4)}") + End If + End Sub + + + ''' + ''' 设置参数 + ''' + ''' + Private Sub DealSerialPortCmd79(databuff() As Byte) + If _isDeviceC1 = True Then + Console.WriteLine($"设置参数-485地址: {databuff(5)}") + Else + Console.WriteLine($"设置参数-485地址: {databuff(4)}") + End If + End Sub + + + + +#End Region + + +#End Region + +#Region "网络通讯—UDP" + + + ''' + ''' 初始化本地IP + ''' + Private Sub InitLocalIP() + CboLocalIp.Items.Clear() + CboLocalIp.Items.AddRange(GetLocalIp().ToArray) + If CboLocalIp.Items.Count > 0 Then CboLocalIp.SelectedIndex = 0 + End Sub + + + ''' + ''' 获取本地可用IP + ''' + ''' + Private Function GetLocalIp() As List(Of IPAddress) + Dim address() As IPAddress + Dim destAddress As New List(Of IPAddress) + address = Dns.GetHostEntry(Dns.GetHostName()).AddressList + For Each pAddress As IPAddress In address + If pAddress.AddressFamily = AddressFamily.InterNetwork Then + destAddress.Add(pAddress) + End If + Next + Return destAddress + End Function + + + ''' + ''' 显示UDP接收数据 + ''' + ''' + ''' + Private Sub ShowReceiveData(ByRef dataBuff() As Byte, ByVal length As Short) + Dim strData As String = String.Empty + Dim timeData As String + Dim cutTime As String + + _nowTime = Now + _timeInterbval = _nowTime - _lastTime + _lastTime = _nowTime + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + timeData = timeData.PadRight(6) + cutTime = $"{Now:HH:mm:ss:fff}" + + '显示收到的数据 + For i = 0 To length - 1 + strData &= $" {Hex(dataBuff(i)).PadLeft(2, "0"c)}" + Next + AppendTipText("UDP-RX:", Color.Blue) + AppendTipText("(" & cutTime & "-", Color.Black) + AppendTipText(timeData, Color.BlueViolet) + AppendTipText("):", Color.Black) + AppendTipText(strData & vbCrLf, Color.Blue) + + End Sub + + + ''' + ''' 更新发送数据 + ''' + ''' + Private Sub UpdateSendData(sendPacket() As Byte) + Dim strData As String = String.Empty + Dim timeData As String + Dim cutTime As String + + _nowTime = Now + _timeInterbval = _nowTime - _lastTime + _lastTime = _nowTime + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + timeData = timeData.PadRight(6) + cutTime = $"{Now:HH:mm:ss:fff}" + + For i = 0 To sendPacket.Length - 1 + strData &= $" {Hex(sendPacket(i)).PadLeft(2, "0"c)}" + Next + AppendTipText("UDP-TX:", Color.Green) + AppendTipText("(" & cutTime & "-", Color.Black) + AppendTipText(timeData, Color.BlueViolet) + AppendTipText("):", Color.Black) + AppendTipText(strData & vbCrLf, Color.Green) + + End Sub + + + ''' + ''' UDP接收数据 + ''' + Private Sub UdpRecviveData() + Dim ep As New IPEndPoint(IPAddress.Any, _localPort) + Dim recvLength As Integer + Dim recvBuffer(1024) As Byte + + While _connectStatus = EnConnectStatus.Connect + Try + recvLength = _socket.ReceiveFrom(recvBuffer, ep) + _countRXData += recvLength + Catch ex As Exception + Console.WriteLine($"Udp Recv Error:{ex.Message}") + Return + End Try + ReceivingDataProcessing(recvBuffer, recvLength) + End While + End Sub + + + ''' + ''' 发送UDP数据 + ''' + ''' + Private Sub SendUDPData(sendPacket As Byte()) + Dim portSocket As Integer + 'Dim addressString As String = CboLongIP.Text + Dim address As IPAddress = IPAddress.Any + Dim remoteEp As New IPEndPoint(IPAddress.Any, _localPort) + + If Integer.TryParse(NudRemotePort.Text, portSocket) = False Then + MsgBox("远程Port输入不合法!") + End If + + If IPAddress.TryParse(CboLongIP.Text, address) = False Then + MsgBox("IP输入不合法!") + End If + + remoteEp.Address = address + remoteEp.Port = portSocket + + _socket.SendTo(sendPacket, remoteEp) + End Sub + + + + +#End Region + +#Region "数据组包" + + + ''' + ''' 显示端口信息 + ''' + ''' + Private Sub ShowPortData(data As Byte()) + Dim rcBoxCount() As RichTextBox = {RtxCountOne, RtxCountTwo, RtxCountThree} + Dim LblCountPort() As Label = {LblCountPort1TX, LblCountPort2TX, LblCountPort3TX} + Dim index As Integer + Dim rCIndex() As Byte = {&H1, &H2, &H3} + Dim timeData As String + Dim cutTime As String + + index = data(1) + If data(1) = rCIndex(index - 1) AndAlso data(1) <= 3 Then + Dim countPort As String + countPort = BitConverter.ToString(data) + Dim strCountPort As String = countPort.Replace("-", " ") + With rcBoxCount(index - 1) + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + cutTime = $"{Now:HH:mm:ss:fff}" + + If index = 1 Then + AppendTipTextOne("TX:", Color.Green) + AppendTipTextOne("(" & cutTime & "-", Color.Black) + AppendTipTextOne(timeData, Color.BlueViolet) + AppendTipTextOne("): ", Color.Black) + AppendTipTextOne(strCountPort & vbCrLf, Color.Blue) + ElseIf index = 2 Then + AppendTipTextTwo("TX:", Color.Green) + AppendTipTextTwo("(" & cutTime & "-", Color.Black) + AppendTipTextTwo(timeData, Color.BlueViolet) + AppendTipTextTwo("): ", Color.Black) + AppendTipTextTwo(strCountPort & vbCrLf, Color.Blue) + ElseIf index = 3 Then + AppendTipTextThree("TX:", Color.Green) + AppendTipTextThree("(" & cutTime & "-", Color.Black) + AppendTipTextThree(timeData, Color.BlueViolet) + AppendTipTextThree("): ", Color.Black) + AppendTipTextThree(strCountPort & vbCrLf, Color.Blue) + End If + End With + LblCountPort(index - 1).Text += data.Length + End If + End Sub + + + ''' + ''' SendUDPData限制 + ''' 超过1024字节自动清空 + ''' + ''' + ''' + Private Sub TBoxSendSerialApp_TextChanged(sender As Object, e As EventArgs) Handles TxtSendSerialApp.TextChanged + If Len(TxtSendSerialApp.Text) <= 1024 Then + Else + MsgBox("输入数据超出1024最大限制") + Return + End If + End Sub + + + ''' + ''' 字节数求和 + ''' + ''' + Private Sub CountBytesSum(sendPacket As Byte()) + _countTxData += sendPacket.Length + LblTXCount.Text = _countTxData + End Sub + + + ''' + ''' 定时器每隔5S发送一包数据 + ''' + ''' + ''' + Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick + If _sendTick >= 2 Then + _sendTick = 2 + 'Console.WriteLine($"Send Time:{Now:HH:mm:ss}") + Else + _sendTick += 1 + Return + End If + + '获取发送内容Data部分 + Dim serialCmd As Byte = &H1 + Dim port485 As Byte = $"&H{Hex(NudSerialPort.Value)}" + Dim data(1) As Byte + data(0) = serialCmd + data(1) = port485 + + Dim sendPacket() As Byte = FillSendDataPacket(data) + Try + If _isClosing = False Then + SendUDPData(sendPacket) + CountBytesSum(sendPacket) + End If + Catch ex As Exception + Return + End Try + + If ChkShowHeartBeat.Checked = False Then UpdateSendData(sendPacket) '更新记录 + + End Sub + + + ''' + ''' 读取操作 --- PC->RCU主机 + ''' + ''' + ''' + Private Sub BtnRead_Click(sender As Object, e As EventArgs) Handles BtnRead.Click + _sendTick = 0 + '获取发送内容Data部分 + Dim serialCmd As Byte = &H1 + Dim port485 As Byte = $"&H{Hex(NudSerialPort.Value)}" + Dim data(1) As Byte + data(0) = serialCmd + data(1) = port485 + + '组合发送数据 + Dim sendPacket() As Byte = FillSendDataPacket(data) + SendUDPData(sendPacket) '发送 + CountBytesSum(sendPacket) '计数 + UpdateSendData(sendPacket) '更新记录 + + End Sub + + + ''' + ''' 设置操作 --- PC->RCU主机 + ''' + ''' + ''' + Private Sub BtnSet_Click(sender As Object, e As EventArgs) Handles BtnSet.Click + _rfMonitoring = True + + _sendTick = 0 + '获取Set发送内容Data部分 + Dim serialCmd As Byte = &H2 + Dim port485 As Byte = $"&H{Hex(NudSetPort.Value)}" + Dim timeOut As Byte = $"&H{Hex(NudTimeOut1.Value)}" + Dim setbaud As Byte + Dim serialCont As Byte + If CBoBaud.Text = Nothing Then + MsgBox("请输入波特率!") + Return + Else + setbaud = $"&H{Hex(CBoBaud.SelectedIndex + 1)}" + End If + + If CboMode.Text = Nothing Then + MsgBox("请输入模式!") + Return + Else + serialCont = $"&H{Hex(CboMode.SelectedIndex + 1)}" + End If + + Dim data(4) As Byte + data(0) = serialCmd + data(1) = port485 + data(2) = setbaud + data(3) = timeOut + data(4) = serialCont + + Dim sendPacket() As Byte = FillSendDataPacket(data) '组合发送数据 + SendUDPData(sendPacket) '发送 + CountBytesSum(sendPacket) '计数 + UpdateSendData(sendPacket) '更新记录 + + End Sub + + + ''' + ''' 监控模式 --- PC->RCU主机 + ''' + ''' + ''' + Private Sub BtnMonitoring_Click(sender As Object, e As EventArgs) Handles BtnMonitoring.Click + _rfMonitoring = True + + _sendTick = 0 + Dim serialCmd As Byte = &H2 + Dim port485 As Byte = $"&H{Hex(NudMonitoring.Value)}" + Dim timeOut As Byte = $"&H{Hex(NudTimeOut2.Value)}" + Dim setbaud As Byte = &H1 + Dim serialCont As Byte = &H3 + Dim data(4) As Byte + data(0) = serialCmd + data(1) = port485 + data(2) = setbaud + data(3) = timeOut + data(4) = serialCont + + Dim sendPacket() As Byte = FillSendDataPacket(data) '组合发送数据 + SendUDPData(sendPacket) '发送 + CountBytesSum(sendPacket) '计数 + UpdateSendData(sendPacket) '更新记录 + ShowPortData(data) '显示端口数据 + + End Sub + + + ''' + ''' 发送操作 --- PC->RCU主机 + ''' + ''' + ''' + Private Sub BtnSend_Click(sender As Object, e As EventArgs) Handles BtnSend.Click + _sendTick = 0 + + '获取Set发送内容Data部分 + Dim serialCmd As Byte = &H3 + Dim port485 As Byte = $"&H{Hex(NudSerialAppPort.Value)}" + Dim timeOut As Byte = $"&H{Hex(NudTimeOut3.Value)}" + Dim serialAppN() As Byte + + '获取发送数据Head部分 + If String.IsNullOrWhiteSpace(TxtSendSerialApp.Text) = True Then + MessageBox.Show("请先输入要发送的内容!") + Return + Else + '透传数据 + serialAppN = CuttingSendData(TxtSendSerialApp.Text) + End If + Dim dataLen As Integer = serialAppN.Length + 3 + Dim data(dataLen - 1) As Byte + data(0) = serialCmd + data(1) = port485 + data(2) = timeOut + Array.Copy(serialAppN, 0, data, 3, serialAppN.Length) + + Dim sendPacket() As Byte = FillSendDataPacket(data) '组合发送数据 + SendUDPData(sendPacket) '发送 + CountBytesSum(sendPacket) '计数 + UpdateSendData(sendPacket) '更新记录 + ShowPortData(data) '显示端口数据 + + End Sub + + + ''' + ''' 发送数据设置 + ''' + ''' + Public Function CuttingSendData(sourceData As String) + Dim newData() As String '新的字符串数据_字符串数组 + Dim newArraylen As Integer '新数组长度 + + newData = sourceData.Split(" ") '空格为分割的标志 + Console.WriteLine("分几块数据:" & newData.Length) + newArraylen = newData.Length + Dim hexData(newArraylen - 1) As Byte + Dim tmpCnt As Integer = 0 + Try + For i = 0 To newData.Length - 1 + If newData(i) <> "" Then + hexData(tmpCnt) = $"&H{newData(i)}" + 'hexData(tmpCnt) = $"&H{Hex(newData(i))}" + Console.WriteLine($"要发送的数据" & hexData(tmpCnt)) + tmpCnt += 1 + End If + Next + Catch ex As Exception + MsgBox("数据输入格式有误") + End Try + Return hexData + End Function + + +#End Region + +#Region "数据处理" + + + ''' + ''' 接收数据处理 + ''' + ''' + ''' + Private Sub ReceivingDataProcessing(recvBuffer() As Byte, recvLength As Integer) + Dim startIndex As Integer '定义一个开始的计数值 + Dim packetLength As Integer '定义包的长度 + While startIndex < recvLength '判断计数值是否小于总包长 + If recvBuffer(startIndex) = _fixedHead(0) AndAlso recvBuffer(startIndex + 1) = _fixedHead(1) Then ' 判断包头是否等于AA55 + If recvBuffer(startIndex + 4) = _fixeSystemId(0) AndAlso '判断第4,5,6,7位是否等于固定值 + recvBuffer(startIndex + 5) = _fixeSystemId(1) AndAlso + recvBuffer(startIndex + 6) = _fixeSystemId(2) AndAlso + recvBuffer(startIndex + 7) = _fixeSystemId(3) Then + packetLength = recvBuffer(startIndex + 2) + recvBuffer(startIndex + 3) * 256 '赋值包长 + If packetLength + startIndex <= recvLength Then '判断包长 + 计数值是否小于等于总包长 + Dim packetData(packetLength - 1) As Byte '定义一个新数据包数组 + Array.Copy(recvBuffer, startIndex, packetData, 0, packetLength) '复制数组 +5个重载 + If CheckCRC16Sucess(packetData, packetData.Length) Then '判断CRC16校验是否通过 + '显示数据 + DealData(packetData, packetData.Length) '分部处理数据(显示文字提示) + startIndex += packetData.Length '计数值更新 + Else + ShowReceiveData(packetData, packetData.Length) + AppendTipText($"CRC16校验失败!{vbNewLine}", Color.Red) + Exit While + End If + Else + ShowReceiveData(recvBuffer, recvBuffer.Length) + AppendTipText($"数据包长校验失败!{vbNewLine}", Color.Red) + Exit While + End If + Else + ShowReceiveData(recvBuffer, recvBuffer.Length) + AppendTipText($"数据校验失败!{vbNewLine}", Color.Red) + Exit While + End If + Else + ShowReceiveData(recvBuffer, recvBuffer.Length) + AppendTipText($"非RCU主机发送的数据!{vbNewLine}", Color.Red) + Exit While + End If + End While + End Sub + + + ''' + ''' 改变状态委托 + ''' + ''' 文本 + ''' 文本颜色 + Delegate Sub delegate_State_Change(ByRef fontTxt As String, ByVal fontCol As Color) + + + ''' + ''' 改变状态委托 + ''' + ''' + ''' + Private Sub ChangeStateDelegate(ByRef fontTxt As String, ByVal fontCol As Color) + If Me.InvokeRequired = True Then + Dim dd As New delegate_State_Change(AddressOf ChangeStateDelegate) + Me.Invoke(dd, New Object() {fontTxt, fontCol}) + Else + '改变状态控件的文本与颜色 + If _isClosing Then Return + If _isShowTip = False Then Return + If _connectStatus = EnConnectStatus.Connect Then + Dim txtMode As String = RdoStatus.Text + RdoStatus.Text = fontTxt + RdoStatus.ForeColor = fontCol + 'AppendTipText($"{fontTxt}", fontCol) + Else + RdoStatus.Text = $"无连接" + RdoStatus.ForeColor = Color.Red + End If + End If + End Sub + + + ''' + ''' 检验CRC16成功 + ''' + ''' + ''' + ''' + Private Function CheckCRC16Sucess(dataBuff() As Byte, length As Integer) As Boolean + Dim crcBytes() As Byte = GetCRC16CheckSum(dataBuff, length - 2) + If crcBytes(0) <> dataBuff(length - 2) OrElse crcBytes(1) <> dataBuff(length - 1) Then Return False + Return True + End Function + + + ''' + ''' 获取CRC16校验和 + ''' + ''' 数据 + ''' 数据长度 + ''' + Private Function GetCRC16CheckSum(dataBuff() As Byte, length As Integer) As Byte() + Dim crc16 As UInteger + Dim crcBytes() As Byte + + crc16 = &HFFFF + For i = 0 To length - 1 + crc16 = crc16 And &HFFFF + crc16 = crc16 Xor dataBuff(i) + For bit = 0 To 7 + crc16 = IIf((crc16 And 1) = 0, crc16 >> 1, (crc16 >> 1) Xor &HA001) + Next + Next + crc16 = crc16 And &HFFFF + crcBytes = BitConverter.GetBytes(UShort.Parse(crc16)) + Return crcBytes + End Function + + + ''' + ''' 获取CRC16校验和 + ''' + ''' 数据 + ''' + Private Function GetCRC16CheckSum(buff() As Byte) As Byte() + Dim crc16 As Long + Dim crcBytes() As Byte + + crc16 = &HFFFF& + For i = 0 To buff.Length - 1 + crc16 &= &HFFFF& Xor buff(i) + For bit = 0 To 7 + crc16 = IIf(crc16 And 1, crc16 >> 1, (crc16 >> 1) Xor &HA001) + Next + Next + crc16 &= &HFFFF& + crcBytes = BitConverter.GetBytes(crc16) + Return crcBytes + End Function + + + ''' + ''' 处理数据 + ''' + ''' + ''' + ''' + Private Function DealData(dataBuff() As Byte, length As Integer) As Boolean + Select Case dataBuff(8) + Case &H70 + DealDataForCmd70(dataBuff) + Case &H71 + DealRestoreData(dataBuff) '还原数据 + + ParseInfraredThroughData(dataBuff) + DealDataForCmd71(dataBuff) + End Select + Return True + End Function + + + ''' + ''' 处理Cmd为70的命令 + ''' + ''' + ''' + Private Function DealDataForCmd70(dataBuff() As Byte) As Boolean + Select Case dataBuff(15) + Case &H1 + DealingWithFunctionsOfOneState(dataBuff) + If ChkShowHeartBeat.Checked = True Then + If _sendTick = 0 Then + ShowReceiveData(dataBuff, dataBuff.Length) + DealingWithFunctionsOfOne(dataBuff) + Else + Return False + End If + ElseIf ChkShowHeartBeat.Checked = False Then + ShowReceiveData(dataBuff, dataBuff.Length) + DealingWithFunctionsOfOne(dataBuff) + End If + Case &H2 + ShowReceiveData(dataBuff, dataBuff.Length) + DealingWithFunctionsOfTwo(dataBuff) + Case &H3 + ShowReceiveData(dataBuff, dataBuff.Length) + DealingWithFunctionsOfThree(dataBuff) + Case Else + Return False + End Select + Return True + End Function + + + ''' + ''' 处理dataBuff(15)为1的状态 + ''' + ''' + ''' + Private Function DealingWithFunctionsOfOneState(dataBuff() As Byte) As Boolean + Select Case dataBuff(16) + Case &H1 + ChangeStateDelegate(_dataCmd70Mode(0) & vbCrLf, Color.Green) + Case &H2 + ChangeStateDelegate(_dataCmd70Mode(1) & vbCrLf, Color.Green) + Case &H3 + ChangeStateDelegate(_dataCmd70Mode(2) & vbCrLf, Color.Green) + Case Else + Return False + End Select + Return True + End Function + + + ''' + ''' 处理dataBuff(15)为1的文本注释信息 + ''' + ''' + ''' + Private Function DealingWithFunctionsOfOne(dataBuff() As Byte) As Boolean + Select Case dataBuff(16) + Case &H1 + AppendTipText(_dataCmd70ModeNote(0), Color.Green) + AppendTipText(_dataCmd70Mode(0) & vbCrLf, Color.Green) + Case &H2 + AppendTipText(_dataCmd70ModeNote(0), Color.Green) + AppendTipText(_dataCmd70Mode(1) & vbCrLf, Color.Green) + Case &H3 + AppendTipText(_dataCmd70ModeNote(0), Color.Green) + AppendTipText(_dataCmd70Mode(2) & vbCrLf, Color.Green) + Case Else + Return False + End Select + Return True + End Function + + + ''' + ''' 处理dataBuff(15)为2的状态 + ''' + ''' + ''' + Private Function DealingWithFunctionsOfTwo(dataBuff() As Byte) As Boolean + Select Case dataBuff(16) + Case &H1 + AppendTipText(_dataCmd70SetReply(0) & vbCrLf, Color.Green) + Case &H2 + AppendTipText(_dataCmd70SetReply(1) & vbCrLf, Color.Green) + Case Else + Return False + End Select + Return True + End Function + + + ''' + ''' 处理dataBuff(15)为3的状态 + ''' + ''' + ''' + Private Function DealingWithFunctionsOfThree(dataBuff() As Byte) As Boolean + Select Case dataBuff(16) + Case &H1 + AppendTipText(_dataCmd70PassthroughReply(0) & vbCrLf, Color.Green) + Case &H2 + AppendTipText(_dataCmd70PassthroughReply(1) & vbCrLf, Color.Green) + Case &H3 + AppendTipText(_dataCmd70PassthroughReply(2) & vbCrLf, Color.Green) + Case Else + Return False + End Select + Return True + End Function + + + ''' + ''' 处理Cmd为71的数据 + ''' + ''' + ''' + Private Function DealDataForCmd71(dataBuff() As Byte) As Boolean + ShowReceiveData(dataBuff, dataBuff.Length) + DealDataForCmd71Port(dataBuff) + 'ParseThroughData(dataBuff) + + Return True + End Function + + + ''' + ''' 处理Cmd为71的端口数据_1、2、3端口 + ''' + ''' + Private Sub DealDataForCmd71Port(databuff() As Byte) + Dim strData As String = String.Empty + Dim timeData As String + Dim cutTime As String + + _nowTime = Now + _timeInterbval = _nowTime - _lastTime + _lastTime = _nowTime + timeData = $"{Math.Round(_timeInterbval.TotalMilliseconds, 0)}" + cutTime = $"{Now:HH:mm:ss:fff}" + + '从18位开始取,strData为设备数据 + For i = 17 To databuff.Length - 3 + strData &= $" {Hex(databuff(i)).PadLeft(2, "0"c)}" + Next + + If _stopRefresh = False Then + Select Case databuff(15) + Case &H1 + AppendTipText(_dataCmd71PassthroughCommand(0) & vbCrLf, Color.Green) + AppendTipTextOne("UDP-RX:", Color.Red) + AppendTipTextOne("(" & cutTime & "-", Color.Black) + AppendTipTextOne(timeData, Color.BlueViolet) + AppendTipTextOne("):", Color.Black) + AppendTipTextOne(strData & vbCrLf, Color.Blue) + _countPort1RXData += strData.Length + Case &H2 + AppendTipText(_dataCmd71PassthroughCommand(1) & vbCrLf, Color.Green) + AppendTipTextTwo("UDP-RX:", Color.Red) + AppendTipTextTwo("(" & cutTime & "-", Color.Black) + AppendTipTextTwo(timeData, Color.BlueViolet) + AppendTipTextTwo("):", Color.Black) + AppendTipTextTwo(strData & vbCrLf, Color.Blue) + _countPort2RXData += strData.Length + Case &H3 + AppendTipTextThree("UDP-RX:", Color.Red) + AppendTipTextThree("(" & cutTime & "-", Color.Black) + AppendTipTextThree(timeData, Color.BlueViolet) + AppendTipTextThree("):", Color.Black) + AppendTipTextThree(strData & vbCrLf, Color.Blue) + _countPort3RXData += strData.Length + Case Else + End Select + End If + + End Sub + + + + ''' + ''' 网络数据还原成485串口数据 + ''' + ''' + Private Sub DealRestoreData(dataBuff As Byte()) + Console.WriteLine($"回复数据为:{ByteToString(dataBuff)}") + Dim len As Integer = dataBuff.Length - 19 + Dim restData(len - 1) As Byte + Array.Copy(dataBuff, 17, restData, 0, restData.Length) + Console.WriteLine($"还原数据为:{ByteToString(restData)}") + + AnalyRFData(restData) 'RF无线通信处理 + + End Sub + +#Region "解析红外透传数据" + + ''' + ''' 解析红外透传数据 + ''' + ''' + Private Function ParseInfraredThroughData(databuff() As Byte) + If databuff(17) = &H55 Or databuff(18) = &H55 Or databuff(19) = &HEE Then '确认为透传红外数据 + Select Case databuff(22) + Case &H1 '透传空调控制 + DealAirControlData(databuff) + Case &H2 '透传电视控制 + DealTvControlData(databuff) + Case &HA3 '透传搜索版本 + DealInfraredSearchData(databuff) + Case &HA6 '下发前询问 + DealInfraredPrepareData(databuff) + Case &HA7 '开始下发 + _isInfraredreply = True + DealInfraredBurnData(databuff) + Case Else + Return False + End Select + End If + Return True + End Function + + + ''' + ''' 处理空调控制透传数据 + ''' + ''' + ''' + Private Function DealAirControlData(databuff() As Byte) As Boolean + Select Case databuff(24) + Case &H1 + AppendTipText($"空调设备接收成功! " & vbCrLf, Color.Green) + Case Else + AppendTipText($"空调设备接收失败! " & vbCrLf, Color.Red) + Return False + End Select + + Return True + End Function + + + ''' + ''' 处理电视控制透传数据 + ''' + ''' + ''' + Private Function DealTvControlData(databuff() As Byte) As Boolean + Select Case databuff(24) + Case &H1 + AppendTipText($"电视设备接收成功! " & vbCrLf, Color.Green) + Case Else + AppendTipText($"电视设备接收失败! " & vbCrLf, Color.Red) + Return False + End Select + + Return True + End Function + + + ''' + ''' 处理红外搜索透传数据 + ''' + ''' + ''' + Private Function DealInfraredSearchData(databuff() As Byte) As Boolean + Dim Ser1 As String = databuff(25).ToString + Dim Ser2 As String = databuff(26).ToString + Dim Ser3 As String = databuff(27).ToString + + AppendTipText($"红外透传搜索成功! ", Color.Green) + AppendTipText($"搜索版本为:{Ser1}.{Ser2}.{Ser3}" & vbCrLf, Color.Green) + If _addInfraredForm.IsFVer Then + _addInfraredForm.Fw_Ver = databuff(25) + _addInfraredForm.IsFVer = False + End If + Return True + End Function + + + ''' + ''' 处理下发前询问透传数据 + ''' + ''' + ''' + Private Function DealInfraredPrepareData(databuff() As Byte) + Select Case databuff(25) + Case &H0 + _isPrepare = True + AppendTipText($"红外下发准备就绪!" & vbCrLf, Color.Green) + Case &H1 + AppendTipText($"红外下发成功!" & vbCrLf, Color.Green) + Case &H2 + AppendTipText($"红外下发失败!" & vbCrLf, Color.Green) + Return False + Case Else + Return False + End Select + Return False + End Function + + + ''' + ''' 烧录过程中,处理透传数据 + ''' + ''' + ''' + Private Function DealInfraredBurnData(databuff() As Byte) As Boolean + Select Case databuff(26) + Case &H1 + AppendTipText($"烧录成功,当前为透传数据第{databuff(25)}包!" & vbCrLf, Color.Green) + _resend = 0 + Case &H2 + AppendTipText($"烧录失败,当前为透传数据第{databuff(25)}包!" & vbCrLf, Color.Red) + Return False + Case Else + Return False + End Select + + Return True + End Function + +#End Region + + +#End Region + +#Region "添加记录" + + + ''' + ''' 添加记录文本和颜色 + ''' + ''' 需要添加的记录内容 + ''' 需要设置的记录颜色 + Public Sub AppendTextAndSetStyle(ByVal str As String, ByVal cor As Color) + Dim selStart As Integer + Dim selLength As Integer + selStart = RtxRecord.TextLength + RtxRecord.AppendText(str) + selLength = RtxRecord.TextLength - selStart + RtxRecord.Select(selStart, selLength) + RtxRecord.SelectionColor = cor + End Sub + + + ''' + ''' 添加记录 + ''' + ''' + ''' + Public Sub AppendTipText(recordString As String, col As Color) + If _isClosing Then Return + If _isShowTip = False Then Return + If RtxRecord.InvokeRequired Then + RtxRecord.Invoke(New Action(Sub() + If RtxRecord.Lines.Count >= 256 Then RtxRecord.Clear() + AppendTextAndSetStyle($"{recordString}", col) + RtxRecord.ScrollToCaret() + LblRXCount.Text = _countRXData + End Sub)) + Else + If RtxRecord.Lines.Count >= 256 Then RtxRecord.Clear() + AppendTextAndSetStyle($"{recordString}", col) + RtxRecord.ScrollToCaret() + LblRXCount.Text = _countRXData + End If + End Sub + + + ''' + ''' 添加端口1记录文本和颜色 + ''' + ''' + ''' + Private Sub AppendTextOne(ByVal str As String, ByVal cor As Color) + Dim selStart As Integer + Dim selLength As Integer + selStart = RtxCountOne.TextLength + RtxCountOne.AppendText(str) + selLength = RtxCountOne.TextLength - selStart + RtxCountOne.Select(selStart, selLength) + RtxCountOne.SelectionColor = cor + End Sub + + + ''' + ''' 添加端口1记录 + ''' + ''' + ''' + Private Sub AppendTipTextOne(recordString As String, col As Color) + If _isClosing Then Return + If _isShowTip = False Then Return + If RtxCountOne.InvokeRequired Then + RtxCountOne.Invoke(New Action(Sub() + If RtxCountOne.Lines.Count >= 256 Then RtxCountOne.Clear() + AppendTextOne($"{recordString}", col) + RtxCountOne.ScrollToCaret() + LblCountPort1RX.Text = _countPort1RXData + End Sub)) + Else + If RtxCountOne.Lines.Count >= 256 Then RtxCountOne.Clear() + AppendTextOne($"{recordString}", col) + RtxCountOne.ScrollToCaret() + LblCountPort1RX.Text = _countPort1RXData + End If + End Sub + + + ''' + ''' 添加端口2记录文本和颜色 + ''' + ''' + ''' + Private Sub AppendTextTwo(ByVal str As String, ByVal cor As Color) + Dim selStart As Integer + Dim selLength As Integer + selStart = RtxCountTwo.TextLength + RtxCountTwo.AppendText(str) + selLength = RtxCountTwo.TextLength - selStart + RtxCountTwo.Select(selStart, selLength) + RtxCountTwo.SelectionColor = cor + End Sub + + + ''' + ''' 添加端口2记录 + ''' + ''' + ''' + Private Sub AppendTipTextTwo(recordString As String, col As Color) + If _isClosing Then Return + If _isShowTip = False Then Return + If RtxCountTwo.InvokeRequired Then + RtxCountTwo.Invoke(New Action(Sub() + If RtxCountTwo.Lines.Count >= 256 Then RtxCountTwo.Clear() + AppendTextTwo($"{recordString}", col) + RtxCountTwo.ScrollToCaret() + LblCountPort2RX.Text = _countPort2RXData + End Sub)) + Else + If RtxCountTwo.Lines.Count >= 256 Then RtxCountTwo.Clear() + AppendTextTwo($"{recordString}", col) + RtxCountTwo.ScrollToCaret() + LblCountPort2RX.Text = _countPort2RXData + End If + End Sub + + + ''' + ''' 添加端口3记录文本和颜色 + ''' + ''' + ''' + Private Sub AppendTextThree(ByVal str As String, ByVal cor As Color) + Dim selStart As Integer + Dim selLength As Integer + selStart = RtxCountThree.TextLength + RtxCountThree.AppendText(str) + selLength = RtxCountThree.TextLength - selStart + RtxCountThree.Select(selStart, selLength) + RtxCountThree.SelectionColor = cor + End Sub + + + ''' + ''' 添加端口3记录 + ''' + ''' + ''' + Private Sub AppendTipTextThree(recordString As String, col As Color) + If _isClosing Then Return + If _isShowTip = False Then Return + If RtxCountThree.InvokeRequired Then + RtxCountThree.Invoke(New Action(Sub() + If RtxCountThree.Lines.Count >= 256 Then RtxCountThree.Clear() + AppendTextThree($"{recordString}", col) + RtxCountThree.ScrollToCaret() + LblCountPort3RX.Text = _countPort3RXData + End Sub)) + Else + If RtxCountThree.Lines.Count >= 256 Then RtxCountThree.Clear() + AppendTextThree($"{recordString}", col) + RtxCountThree.ScrollToCaret() + LblCountPort3RX.Text = _countPort3RXData + End If + End Sub + + +#End Region + +#Region "发送接口" + + ''' + ''' 发送数据 + ''' + ''' 串口数据 + Public Sub SendData(dataBuff() As Byte) + 'todo:最终版本 + _isSendByUdp = CheckNetWorkDisConnect() + SendDataMode(dataBuff) + + 'If CheckNetWorkDisConnect() = True Then + ' Dim data() As Byte = PassthroughData(dataBuff) + ' _isSendByUdp = True + ' Dim sendPacket() As Byte = FillSendDataPacket(data) '透传数据 + ' SendDataMode(sendPacket) + 'Else + ' _isSendByUdp = False + ' SendDataMode(dataBuff) '串口数据 + 'End If + End Sub + + + ''' + ''' 检查网络连接 + ''' + ''' + Private Function CheckNetWorkDisConnect() As Boolean + If _connectStatus = EnConnectStatus.DisConnect Then + 'AppendTipText("数据发送失败! 原因:未打开网络!!!" & vbCrLf, Color.Red) + Return False + End If + Return True + End Function + + + ''' + ''' 以哪种方式发送 + ''' + ''' + Private Sub SendDataMode(databuff() As Byte) + If _isSendByUdp Then + SendUDPData(databuff) + CountBytesSum(databuff) '计数 + UpdateSendData(databuff) '更新记录 + Else + If SerialPort.IsOpen = False Then + 'AppendTipText("数据发送失败! 原因:未打开串口!!!" & vbCrLf, Color.Red) + Exit Sub + End If + SendPortData(databuff) + CountBytesSum(databuff) '计数 + ' ShowPortReceData(databuff) '更新记录 + End If + End Sub + + +#Region "红外" + ' Enum RedPacket + ' STX = 0 + ' Len = 3 + ' CmdType = 4 + ' DevType = 5 + ' DevAddr = 6 + ' Param = 7 + ' Crc + ' End Enum + + + + ' ''' + ' ''' 红外组包函数 + ' ''' + ' ''' + ' ''' + ' ''' + ' ''' + ' ''' + ' Private Function FillPacket4(cmdType As Byte, devType As Byte, devAddr As Byte, param() As Byte) As Byte() + ' Dim packetData(9 + param.Length - 1) As Byte + + ' packetData(RedPacket.STX) = &H55 + ' packetData(RedPacket.STX + 1) = &H55 + ' packetData(RedPacket.STX + 2) = &HEE + ' packetData(RedPacket.Len) = $"&H{Hex(packetData.Length - 3)}" + ' packetData(RedPacket.CmdType) = cmdType + ' packetData(RedPacket.DevType) = devType + ' packetData(RedPacket.DevAddr) = devAddr + ' Array.Copy(param, 0, packetData, RedPacket.Param, param.Length) + + ' 'Dim packetcrc() As Byte = FillPacketFileCRC(packetData.ToArray) + ' 'Array.Copy(packetcrc, 0, packetData, packetData.Length - 2, packetcrc.Length) + + ' Return packetData + ' End Function +#End Region + +#Region "C43" + + ' Enum C43Packet + ' Addr + ' Cmd + ' Param + ' End Enum + + ' Private Function FillPacket3(addr As Byte, cmd As Byte, param() As Byte) As Byte() + ' Dim sendPacket(2 + param.Length - 1) As Byte + ' sendPacket(C43Packet.Addr) = addr + ' sendPacket(C43Packet.Cmd) = cmd + ' Array.Copy(param, 0, sendPacket, C43Packet.Param, param.Length) + ' Return sendPacket + ' End Function + + +#End Region + + + +#End Region + +#End Region + +#Region "功能" + + '各窗体文件内 + +#End Region + +#Region "关闭窗体" + + + ''' 关闭窗口事件 + Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing + _clickCount = 0 + _isClosing = True + If _connectStatus = EnConnectStatus.Connect Then + _connectStatus = EnConnectStatus.DisConnect + _socket.Shutdown(SocketShutdown.Both) + _socket.Close() + SerialPort.Close() + End If + Timer3.Stop() + + My.Settings.CBoLongIP = CboLongIP.Text + My.Settings.NumRemotePort = NudRemotePort.Value + My.Settings.NumLocalPort = NudLocalPort.Value + My.Settings.CBoBaud = CBoBaud.Text + My.Settings.CBoMode = CboMode.Text + My.Settings.CboSerialBaud = CboSerialBaud.Text + + My.Settings.Save() + DeleteFiles() + End Sub + Public cntit As Integer = 0 + Private Sub LblLocalIp_Click(sender As Object, e As EventArgs) Handles LblLocalIp.Click + If cntit = 5 Then + tpfrm3.Parent = TabFunction + tpfrm4.Parent = TabFunction + cntit = 0 + Else + tpfrm3.Parent = Nothing + tpfrm4.Parent = Nothing + End If + cntit = cntit + 1 + End Sub + + +#End Region + + + + +End Class \ No newline at end of file diff --git a/RCU-10/RCU/FrmRFFunction.Designer.vb b/RCU-10/RCU/FrmRFFunction.Designer.vb new file mode 100644 index 0000000..bed2af0 --- /dev/null +++ b/RCU-10/RCU/FrmRFFunction.Designer.vb @@ -0,0 +1,1536 @@ + +Partial Class FrmRFFunction + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.TboNetworkAddress = New System.Windows.Forms.TextBox() + Me.BtnPairing = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.Nup485DialAddr = New System.Windows.Forms.NumericUpDown() + Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.GboSetTime = New System.Windows.Forms.GroupBox() + Me.LblCommTestWeChat = New System.Windows.Forms.Label() + Me.BtnCommTestWeChat = New System.Windows.Forms.Button() + Me.CboIsSet = New System.Windows.Forms.CheckBox() + Me.BtnReadLockState = New System.Windows.Forms.Button() + Me.BtnOpenLock = New System.Windows.Forms.Button() + Me.BtnSetWeChat = New System.Windows.Forms.Button() + Me.Label4 = New System.Windows.Forms.Label() + Me.CboSetTime = New System.Windows.Forms.ComboBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.LblCommTestSwitch = New System.Windows.Forms.Label() + Me.BtnCommTestSwitch = New System.Windows.Forms.Button() + Me.CheckBox1 = New System.Windows.Forms.CheckBox() + Me.BtnReadLigthInfo = New System.Windows.Forms.Button() + Me.BtnSetLocalControl = New System.Windows.Forms.Button() + Me.Label14 = New System.Windows.Forms.Label() + Me.Label13 = New System.Windows.Forms.Label() + Me.ComboBox2 = New System.Windows.Forms.ComboBox() + Me.ComboBox1 = New System.Windows.Forms.ComboBox() + Me.BtnSetDelayTime = New System.Windows.Forms.Button() + Me.BtnSetGradientTime = New System.Windows.Forms.Button() + Me.Label7 = New System.Windows.Forms.Label() + Me.BtnBacklight = New System.Windows.Forms.Button() + Me.BtnSetSwitchLights = New System.Windows.Forms.Button() + Me.Label6 = New System.Windows.Forms.Label() + Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown() + Me.Label10 = New System.Windows.Forms.Label() + Me.Label11 = New System.Windows.Forms.Label() + Me.Label12 = New System.Windows.Forms.Label() + Me.Label9 = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() + Me.Label5 = New System.Windows.Forms.Label() + Me.BtnSwitch6 = New System.Windows.Forms.Button() + Me.BtnSwitch4 = New System.Windows.Forms.Button() + Me.BtnSwitch2 = New System.Windows.Forms.Button() + Me.BtnSwitch5 = New System.Windows.Forms.Button() + Me.BtnSwitch3 = New System.Windows.Forms.Button() + Me.BtnSwitch1 = New System.Windows.Forms.Button() + Me.BtnReadRFDevList = New System.Windows.Forms.Button() + Me.BtnReadRFWifi = New System.Windows.Forms.Button() + Me.BtnSetRFWifi = New System.Windows.Forms.Button() + Me.GroupBox2 = New System.Windows.Forms.GroupBox() + Me.BtnAKeyTest = New System.Windows.Forms.Button() + Me.BtnClearList = New System.Windows.Forms.Button() + Me.Label2 = New System.Windows.Forms.Label() + Me.GrdRFcfg = New FlexCell.Grid() + Me.GroupBox3 = New System.Windows.Forms.GroupBox() + Me.TabRFFunction = New System.Windows.Forms.TabControl() + Me.TabFunctionRF = New System.Windows.Forms.TabPage() + Me.Label17 = New System.Windows.Forms.Label() + Me.PageRFInsertCalorie = New System.Windows.Forms.TabPage() + Me.GboInsertCalorie = New System.Windows.Forms.GroupBox() + Me.LblCommTestInsertCard = New System.Windows.Forms.Label() + Me.BtnCommTestInsertCard = New System.Windows.Forms.Button() + Me.Label20 = New System.Windows.Forms.Label() + Me.NudRFSector = New System.Windows.Forms.NumericUpDown() + Me.CboInsertSet = New System.Windows.Forms.ComboBox() + Me.Label30 = New System.Windows.Forms.Label() + Me.BtnRFInsertCalorie = New System.Windows.Forms.Button() + Me.PageRFSwitchPanel = New System.Windows.Forms.TabPage() + Me.PageRFWirelessVoice = New System.Windows.Forms.TabPage() + Me.GroupBox5 = New System.Windows.Forms.GroupBox() + Me.LblCommTestVoice = New System.Windows.Forms.Label() + Me.BtnCommTestVoice = New System.Windows.Forms.Button() + Me.BtnForwardingData = New System.Windows.Forms.Button() + Me.TxtForwardingData = New System.Windows.Forms.TextBox() + Me.LblData = New System.Windows.Forms.Label() + Me.PageRFWirelessTempControl = New System.Windows.Forms.TabPage() + Me.GroupBox6 = New System.Windows.Forms.GroupBox() + Me.LblCommTestTemp = New System.Windows.Forms.Label() + Me.BtnCommTestTemp = New System.Windows.Forms.Button() + Me.Panel1 = New System.Windows.Forms.Panel() + Me.LblTempControlAuto = New System.Windows.Forms.Label() + Me.BtnTempControlValve = New System.Windows.Forms.Button() + Me.LblTempControlValue = New System.Windows.Forms.Label() + Me.LblDegree = New System.Windows.Forms.Label() + Me.LblTempControlHigh = New System.Windows.Forms.Label() + Me.LblTempControlCentre = New System.Windows.Forms.Label() + Me.LblTempControlLow = New System.Windows.Forms.Label() + Me.LblTempControlCold = New System.Windows.Forms.Label() + Me.LblTempControlHot = New System.Windows.Forms.Label() + Me.LblTempControlSupply = New System.Windows.Forms.Label() + Me.BtnTempControlModel = New System.Windows.Forms.Button() + Me.BtnTempControlAdd = New System.Windows.Forms.Button() + Me.BtnTempControlVelocity = New System.Windows.Forms.Button() + Me.BtnTempControlMinus = New System.Windows.Forms.Button() + Me.BtnTempControlSwitch = New System.Windows.Forms.Button() + Me.BtnReadThermostatSettings = New System.Windows.Forms.Button() + Me.Label22 = New System.Windows.Forms.Label() + Me.NudTempDiffValue = New System.Windows.Forms.NumericUpDown() + Me.BtnSetTemperatureDiff = New System.Windows.Forms.Button() + Me.PageRFWeChatLock = New System.Windows.Forms.TabPage() + Me.PageRFElectricCurtains = New System.Windows.Forms.TabPage() + Me.GroupBox7 = New System.Windows.Forms.GroupBox() + Me.LblCommTestCurtain = New System.Windows.Forms.Label() + Me.BtnCommTestCurtain = New System.Windows.Forms.Button() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.BtnCurtainClose = New System.Windows.Forms.Button() + Me.BtnCurtainStop = New System.Windows.Forms.Button() + Me.BtnCurtainStart = New System.Windows.Forms.Button() + Me.BtnCurtainData = New System.Windows.Forms.Button() + Me.TxtCurtainData = New System.Windows.Forms.TextBox() + Me.Label21 = New System.Windows.Forms.Label() + Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() + Me.SplitContainer2 = New System.Windows.Forms.SplitContainer() + CType(Me.Nup485DialAddr,System.ComponentModel.ISupportInitialize).BeginInit + Me.GboSetTime.SuspendLayout + Me.GroupBox1.SuspendLayout + CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).BeginInit + Me.GroupBox2.SuspendLayout + Me.GroupBox3.SuspendLayout + Me.TabRFFunction.SuspendLayout + Me.TabFunctionRF.SuspendLayout + Me.PageRFInsertCalorie.SuspendLayout + Me.GboInsertCalorie.SuspendLayout + CType(Me.NudRFSector,System.ComponentModel.ISupportInitialize).BeginInit + Me.PageRFSwitchPanel.SuspendLayout + Me.PageRFWirelessVoice.SuspendLayout + Me.GroupBox5.SuspendLayout + Me.PageRFWirelessTempControl.SuspendLayout + Me.GroupBox6.SuspendLayout + Me.Panel1.SuspendLayout + CType(Me.NudTempDiffValue,System.ComponentModel.ISupportInitialize).BeginInit + Me.PageRFWeChatLock.SuspendLayout + Me.PageRFElectricCurtains.SuspendLayout + Me.GroupBox7.SuspendLayout + CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).BeginInit + Me.SplitContainer1.Panel1.SuspendLayout + Me.SplitContainer1.Panel2.SuspendLayout + Me.SplitContainer1.SuspendLayout + CType(Me.SplitContainer2,System.ComponentModel.ISupportInitialize).BeginInit + Me.SplitContainer2.Panel1.SuspendLayout + Me.SplitContainer2.Panel2.SuspendLayout + Me.SplitContainer2.SuspendLayout + Me.SuspendLayout + ' + 'TboNetworkAddress + ' + Me.TboNetworkAddress.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.TboNetworkAddress.ForeColor = System.Drawing.SystemColors.ControlText + Me.TboNetworkAddress.Location = New System.Drawing.Point(103, 46) + Me.TboNetworkAddress.Name = "TboNetworkAddress" + Me.TboNetworkAddress.Size = New System.Drawing.Size(66, 23) + Me.TboNetworkAddress.TabIndex = 0 + ' + 'BtnPairing + ' + Me.BtnPairing.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnPairing.ForeColor = System.Drawing.Color.Green + Me.BtnPairing.Location = New System.Drawing.Point(177, 13) + Me.BtnPairing.Name = "BtnPairing" + Me.BtnPairing.Size = New System.Drawing.Size(58, 23) + Me.BtnPairing.TabIndex = 2 + Me.BtnPairing.Text = "进入配对" + Me.BtnPairing.UseVisualStyleBackColor = true + ' + 'Label1 + ' + Me.Label1.AutoSize = true + Me.Label1.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label1.Location = New System.Drawing.Point(33, 20) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(71, 12) + Me.Label1.TabIndex = 3 + Me.Label1.Text = "485网关拨码" + ' + 'Nup485DialAddr + ' + Me.Nup485DialAddr.Location = New System.Drawing.Point(103, 15) + Me.Nup485DialAddr.Name = "Nup485DialAddr" + Me.Nup485DialAddr.Size = New System.Drawing.Size(66, 21) + Me.Nup485DialAddr.TabIndex = 4 + ' + 'Timer1 + ' + ' + 'GboSetTime + ' + Me.GboSetTime.Controls.Add(Me.LblCommTestWeChat) + Me.GboSetTime.Controls.Add(Me.BtnCommTestWeChat) + Me.GboSetTime.Controls.Add(Me.CboIsSet) + Me.GboSetTime.Controls.Add(Me.BtnReadLockState) + Me.GboSetTime.Controls.Add(Me.BtnOpenLock) + Me.GboSetTime.Controls.Add(Me.BtnSetWeChat) + Me.GboSetTime.Controls.Add(Me.Label4) + Me.GboSetTime.Controls.Add(Me.CboSetTime) + Me.GboSetTime.Dock = System.Windows.Forms.DockStyle.Fill + Me.GboSetTime.Location = New System.Drawing.Point(0, 0) + Me.GboSetTime.Name = "GboSetTime" + Me.GboSetTime.Size = New System.Drawing.Size(441, 191) + Me.GboSetTime.TabIndex = 9 + Me.GboSetTime.TabStop = false + Me.GboSetTime.Text = "微信锁" + ' + 'LblCommTestWeChat + ' + Me.LblCommTestWeChat.AutoSize = true + Me.LblCommTestWeChat.Location = New System.Drawing.Point(218, 26) + Me.LblCommTestWeChat.Name = "LblCommTestWeChat" + Me.LblCommTestWeChat.Size = New System.Drawing.Size(89, 12) + Me.LblCommTestWeChat.TabIndex = 25 + Me.LblCommTestWeChat.Text = "通讯成功率 0%" + ' + 'BtnCommTestWeChat + ' + Me.BtnCommTestWeChat.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestWeChat.Location = New System.Drawing.Point(326, 20) + Me.BtnCommTestWeChat.Name = "BtnCommTestWeChat" + Me.BtnCommTestWeChat.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestWeChat.TabIndex = 26 + Me.BtnCommTestWeChat.Text = "网关通讯测试" + Me.BtnCommTestWeChat.UseVisualStyleBackColor = true + ' + 'CboIsSet + ' + Me.CboIsSet.AutoSize = true + Me.CboIsSet.Location = New System.Drawing.Point(37, 46) + Me.CboIsSet.Name = "CboIsSet" + Me.CboIsSet.Size = New System.Drawing.Size(84, 16) + Me.CboIsSet.TabIndex = 5 + Me.CboIsSet.Text = "不开启设置" + Me.CboIsSet.UseVisualStyleBackColor = true + ' + 'BtnReadLockState + ' + Me.BtnReadLockState.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnReadLockState.Location = New System.Drawing.Point(339, 70) + Me.BtnReadLockState.Name = "BtnReadLockState" + Me.BtnReadLockState.Size = New System.Drawing.Size(53, 27) + Me.BtnReadLockState.TabIndex = 4 + Me.BtnReadLockState.Text = "读锁状态" + Me.BtnReadLockState.UseVisualStyleBackColor = true + ' + 'BtnOpenLock + ' + Me.BtnOpenLock.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnOpenLock.Location = New System.Drawing.Point(263, 70) + Me.BtnOpenLock.Name = "BtnOpenLock" + Me.BtnOpenLock.Size = New System.Drawing.Size(53, 27) + Me.BtnOpenLock.TabIndex = 3 + Me.BtnOpenLock.Text = "开锁" + Me.BtnOpenLock.UseVisualStyleBackColor = true + ' + 'BtnSetWeChat + ' + Me.BtnSetWeChat.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetWeChat.Location = New System.Drawing.Point(167, 70) + Me.BtnSetWeChat.Name = "BtnSetWeChat" + Me.BtnSetWeChat.Size = New System.Drawing.Size(53, 27) + Me.BtnSetWeChat.TabIndex = 2 + Me.BtnSetWeChat.Text = "设置时间" + Me.BtnSetWeChat.UseVisualStyleBackColor = true + ' + 'Label4 + ' + Me.Label4.AutoSize = true + Me.Label4.Location = New System.Drawing.Point(35, 78) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(59, 12) + Me.Label4.TabIndex = 1 + Me.Label4.Text = "唤醒时间:" + ' + 'CboSetTime + ' + Me.CboSetTime.FormattingEnabled = true + Me.CboSetTime.Location = New System.Drawing.Point(93, 75) + Me.CboSetTime.Name = "CboSetTime" + Me.CboSetTime.Size = New System.Drawing.Size(68, 20) + Me.CboSetTime.TabIndex = 0 + ' + 'GroupBox1 + ' + Me.GroupBox1.AccessibleName = "BtnSwitch1" + Me.GroupBox1.Controls.Add(Me.LblCommTestSwitch) + Me.GroupBox1.Controls.Add(Me.BtnCommTestSwitch) + Me.GroupBox1.Controls.Add(Me.CheckBox1) + Me.GroupBox1.Controls.Add(Me.BtnReadLigthInfo) + Me.GroupBox1.Controls.Add(Me.BtnSetLocalControl) + Me.GroupBox1.Controls.Add(Me.Label14) + Me.GroupBox1.Controls.Add(Me.Label13) + Me.GroupBox1.Controls.Add(Me.ComboBox2) + Me.GroupBox1.Controls.Add(Me.ComboBox1) + Me.GroupBox1.Controls.Add(Me.BtnSetDelayTime) + Me.GroupBox1.Controls.Add(Me.BtnSetGradientTime) + Me.GroupBox1.Controls.Add(Me.Label7) + Me.GroupBox1.Controls.Add(Me.BtnBacklight) + Me.GroupBox1.Controls.Add(Me.BtnSetSwitchLights) + Me.GroupBox1.Controls.Add(Me.Label6) + Me.GroupBox1.Controls.Add(Me.NumericUpDown1) + Me.GroupBox1.Controls.Add(Me.Label10) + Me.GroupBox1.Controls.Add(Me.Label11) + Me.GroupBox1.Controls.Add(Me.Label12) + Me.GroupBox1.Controls.Add(Me.Label9) + Me.GroupBox1.Controls.Add(Me.Label8) + Me.GroupBox1.Controls.Add(Me.Label5) + Me.GroupBox1.Controls.Add(Me.BtnSwitch6) + Me.GroupBox1.Controls.Add(Me.BtnSwitch4) + Me.GroupBox1.Controls.Add(Me.BtnSwitch2) + Me.GroupBox1.Controls.Add(Me.BtnSwitch5) + Me.GroupBox1.Controls.Add(Me.BtnSwitch3) + Me.GroupBox1.Controls.Add(Me.BtnSwitch1) + Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox1.Location = New System.Drawing.Point(0, 0) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(441, 191) + Me.GroupBox1.TabIndex = 10 + Me.GroupBox1.TabStop = false + Me.GroupBox1.Text = "开关面板" + ' + 'LblCommTestSwitch + ' + Me.LblCommTestSwitch.AutoSize = true + Me.LblCommTestSwitch.Location = New System.Drawing.Point(217, 21) + Me.LblCommTestSwitch.Name = "LblCommTestSwitch" + Me.LblCommTestSwitch.Size = New System.Drawing.Size(83, 12) + Me.LblCommTestSwitch.TabIndex = 43 + Me.LblCommTestSwitch.Text = "通讯成功率 0%" + ' + 'BtnCommTestSwitch + ' + Me.BtnCommTestSwitch.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestSwitch.Location = New System.Drawing.Point(325, 15) + Me.BtnCommTestSwitch.Name = "BtnCommTestSwitch" + Me.BtnCommTestSwitch.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestSwitch.TabIndex = 44 + Me.BtnCommTestSwitch.Text = "网关通讯测试" + Me.BtnCommTestSwitch.UseVisualStyleBackColor = true + ' + 'CheckBox1 + ' + Me.CheckBox1.AutoSize = true + Me.CheckBox1.Checked = true + Me.CheckBox1.CheckState = System.Windows.Forms.CheckState.Checked + Me.CheckBox1.Location = New System.Drawing.Point(276, 49) + Me.CheckBox1.Name = "CheckBox1" + Me.CheckBox1.Size = New System.Drawing.Size(84, 16) + Me.CheckBox1.TabIndex = 42 + Me.CheckBox1.Text = "不开启设置" + Me.CheckBox1.UseVisualStyleBackColor = true + ' + 'BtnReadLigthInfo + ' + Me.BtnReadLigthInfo.Enabled = false + Me.BtnReadLigthInfo.Font = New System.Drawing.Font("宋体", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnReadLigthInfo.Location = New System.Drawing.Point(249, 69) + Me.BtnReadLigthInfo.Name = "BtnReadLigthInfo" + Me.BtnReadLigthInfo.Size = New System.Drawing.Size(58, 23) + Me.BtnReadLigthInfo.TabIndex = 41 + Me.BtnReadLigthInfo.Text = "读指示灯信息" + Me.BtnReadLigthInfo.UseVisualStyleBackColor = true + ' + 'BtnSetLocalControl + ' + Me.BtnSetLocalControl.Enabled = false + Me.BtnSetLocalControl.Font = New System.Drawing.Font("宋体", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetLocalControl.ForeColor = System.Drawing.Color.Green + Me.BtnSetLocalControl.Location = New System.Drawing.Point(313, 69) + Me.BtnSetLocalControl.Name = "BtnSetLocalControl" + Me.BtnSetLocalControl.Size = New System.Drawing.Size(58, 23) + Me.BtnSetLocalControl.TabIndex = 40 + Me.BtnSetLocalControl.Text = "设置本地控制" + Me.BtnSetLocalControl.UseVisualStyleBackColor = true + ' + 'Label14 + ' + Me.Label14.AutoSize = true + Me.Label14.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label14.Location = New System.Drawing.Point(242, 158) + Me.Label14.Name = "Label14" + Me.Label14.Size = New System.Drawing.Size(29, 12) + Me.Label14.TabIndex = 39 + Me.Label14.Text = "延时" + ' + 'Label13 + ' + Me.Label13.AutoSize = true + Me.Label13.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label13.Location = New System.Drawing.Point(242, 132) + Me.Label13.Name = "Label13" + Me.Label13.Size = New System.Drawing.Size(29, 12) + Me.Label13.TabIndex = 38 + Me.Label13.Text = "亮灭" + ' + 'ComboBox2 + ' + Me.ComboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBox2.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.ComboBox2.FormattingEnabled = true + Me.ComboBox2.Location = New System.Drawing.Point(277, 155) + Me.ComboBox2.Name = "ComboBox2" + Me.ComboBox2.Size = New System.Drawing.Size(50, 20) + Me.ComboBox2.TabIndex = 37 + ' + 'ComboBox1 + ' + Me.ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBox1.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.ComboBox1.FormattingEnabled = true + Me.ComboBox1.Location = New System.Drawing.Point(277, 130) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(50, 20) + Me.ComboBox1.TabIndex = 36 + ' + 'BtnSetDelayTime + ' + Me.BtnSetDelayTime.Enabled = false + Me.BtnSetDelayTime.Font = New System.Drawing.Font("宋体", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetDelayTime.Location = New System.Drawing.Point(333, 153) + Me.BtnSetDelayTime.Name = "BtnSetDelayTime" + Me.BtnSetDelayTime.Size = New System.Drawing.Size(58, 23) + Me.BtnSetDelayTime.TabIndex = 35 + Me.BtnSetDelayTime.Text = "设置延时时间" + Me.BtnSetDelayTime.UseVisualStyleBackColor = true + ' + 'BtnSetGradientTime + ' + Me.BtnSetGradientTime.Enabled = false + Me.BtnSetGradientTime.Font = New System.Drawing.Font("宋体", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetGradientTime.Location = New System.Drawing.Point(333, 127) + Me.BtnSetGradientTime.Name = "BtnSetGradientTime" + Me.BtnSetGradientTime.Size = New System.Drawing.Size(58, 23) + Me.BtnSetGradientTime.TabIndex = 34 + Me.BtnSetGradientTime.Text = "设置渐变时间" + Me.BtnSetGradientTime.UseVisualStyleBackColor = true + ' + 'Label7 + ' + Me.Label7.AutoSize = true + Me.Label7.Location = New System.Drawing.Point(99, 155) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(41, 12) + Me.Label7.TabIndex = 33 + Me.Label7.Text = "背光灯" + ' + 'BtnBacklight + ' + Me.BtnBacklight.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnBacklight.Location = New System.Drawing.Point(100, 120) + Me.BtnBacklight.Name = "BtnBacklight" + Me.BtnBacklight.Size = New System.Drawing.Size(40, 32) + Me.BtnBacklight.TabIndex = 31 + Me.BtnBacklight.Text = "无" + Me.BtnBacklight.UseVisualStyleBackColor = true + ' + 'BtnSetSwitchLights + ' + Me.BtnSetSwitchLights.Enabled = false + Me.BtnSetSwitchLights.Font = New System.Drawing.Font("宋体", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetSwitchLights.Location = New System.Drawing.Point(333, 101) + Me.BtnSetSwitchLights.Name = "BtnSetSwitchLights" + Me.BtnSetSwitchLights.Size = New System.Drawing.Size(58, 23) + Me.BtnSetSwitchLights.TabIndex = 30 + Me.BtnSetSwitchLights.Text = "设置亮度值" + Me.BtnSetSwitchLights.UseVisualStyleBackColor = true + ' + 'Label6 + ' + Me.Label6.AutoSize = true + Me.Label6.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label6.Location = New System.Drawing.Point(236, 106) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(41, 12) + Me.Label6.TabIndex = 29 + Me.Label6.Text = "亮度值" + ' + 'NumericUpDown1 + ' + Me.NumericUpDown1.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.NumericUpDown1.Location = New System.Drawing.Point(277, 104) + Me.NumericUpDown1.Maximum = New Decimal(New Integer() {255, 0, 0, 0}) + Me.NumericUpDown1.Name = "NumericUpDown1" + Me.NumericUpDown1.Size = New System.Drawing.Size(50, 21) + Me.NumericUpDown1.TabIndex = 28 + ' + 'Label10 + ' + Me.Label10.AutoSize = true + Me.Label10.Location = New System.Drawing.Point(167, 102) + Me.Label10.Name = "Label10" + Me.Label10.Size = New System.Drawing.Size(47, 12) + Me.Label10.TabIndex = 17 + Me.Label10.Text = "指示灯6" + ' + 'Label11 + ' + Me.Label11.AutoSize = true + Me.Label11.Location = New System.Drawing.Point(29, 104) + Me.Label11.Name = "Label11" + Me.Label11.Size = New System.Drawing.Size(47, 12) + Me.Label11.TabIndex = 16 + Me.Label11.Text = "指示灯4" + ' + 'Label12 + ' + Me.Label12.AutoSize = true + Me.Label12.Location = New System.Drawing.Point(98, 50) + Me.Label12.Name = "Label12" + Me.Label12.Size = New System.Drawing.Size(47, 12) + Me.Label12.TabIndex = 15 + Me.Label12.Text = "指示灯2" + ' + 'Label9 + ' + Me.Label9.AutoSize = true + Me.Label9.Location = New System.Drawing.Point(98, 104) + Me.Label9.Name = "Label9" + Me.Label9.Size = New System.Drawing.Size(47, 12) + Me.Label9.TabIndex = 14 + Me.Label9.Text = "指示灯5" + ' + 'Label8 + ' + Me.Label8.AutoSize = true + Me.Label8.Location = New System.Drawing.Point(167, 51) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(47, 12) + Me.Label8.TabIndex = 13 + Me.Label8.Text = "指示灯3" + ' + 'Label5 + ' + Me.Label5.AutoSize = true + Me.Label5.Location = New System.Drawing.Point(29, 51) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(47, 12) + Me.Label5.TabIndex = 12 + Me.Label5.Text = "指示灯1" + ' + 'BtnSwitch6 + ' + Me.BtnSwitch6.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch6.Location = New System.Drawing.Point(169, 69) + Me.BtnSwitch6.Name = "BtnSwitch6" + Me.BtnSwitch6.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch6.TabIndex = 7 + Me.BtnSwitch6.Text = "无" + Me.BtnSwitch6.UseVisualStyleBackColor = true + ' + 'BtnSwitch4 + ' + Me.BtnSwitch4.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch4.Location = New System.Drawing.Point(31, 69) + Me.BtnSwitch4.Name = "BtnSwitch4" + Me.BtnSwitch4.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch4.TabIndex = 6 + Me.BtnSwitch4.Text = "无" + Me.BtnSwitch4.UseVisualStyleBackColor = true + ' + 'BtnSwitch2 + ' + Me.BtnSwitch2.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch2.Location = New System.Drawing.Point(100, 15) + Me.BtnSwitch2.Name = "BtnSwitch2" + Me.BtnSwitch2.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch2.TabIndex = 5 + Me.BtnSwitch2.Text = "无" + Me.BtnSwitch2.UseVisualStyleBackColor = true + ' + 'BtnSwitch5 + ' + Me.BtnSwitch5.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch5.Location = New System.Drawing.Point(100, 69) + Me.BtnSwitch5.Name = "BtnSwitch5" + Me.BtnSwitch5.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch5.TabIndex = 4 + Me.BtnSwitch5.Text = "无" + Me.BtnSwitch5.UseVisualStyleBackColor = true + ' + 'BtnSwitch3 + ' + Me.BtnSwitch3.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch3.Location = New System.Drawing.Point(169, 15) + Me.BtnSwitch3.Name = "BtnSwitch3" + Me.BtnSwitch3.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch3.TabIndex = 3 + Me.BtnSwitch3.Text = "无" + Me.BtnSwitch3.UseVisualStyleBackColor = true + ' + 'BtnSwitch1 + ' + Me.BtnSwitch1.AccessibleName = "" + Me.BtnSwitch1.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSwitch1.Location = New System.Drawing.Point(31, 16) + Me.BtnSwitch1.Name = "BtnSwitch1" + Me.BtnSwitch1.Size = New System.Drawing.Size(40, 32) + Me.BtnSwitch1.TabIndex = 2 + Me.BtnSwitch1.Text = "无" + Me.BtnSwitch1.UseVisualStyleBackColor = true + ' + 'BtnReadRFDevList + ' + Me.BtnReadRFDevList.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnReadRFDevList.Location = New System.Drawing.Point(306, 45) + Me.BtnReadRFDevList.Name = "BtnReadRFDevList" + Me.BtnReadRFDevList.Size = New System.Drawing.Size(58, 24) + Me.BtnReadRFDevList.TabIndex = 11 + Me.BtnReadRFDevList.Text = "读设备列表" + Me.BtnReadRFDevList.UseVisualStyleBackColor = true + ' + 'BtnReadRFWifi + ' + Me.BtnReadRFWifi.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnReadRFWifi.Location = New System.Drawing.Point(177, 45) + Me.BtnReadRFWifi.Name = "BtnReadRFWifi" + Me.BtnReadRFWifi.Size = New System.Drawing.Size(58, 24) + Me.BtnReadRFWifi.TabIndex = 12 + Me.BtnReadRFWifi.Text = "读取RF网络" + Me.BtnReadRFWifi.UseVisualStyleBackColor = true + ' + 'BtnSetRFWifi + ' + Me.BtnSetRFWifi.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetRFWifi.Location = New System.Drawing.Point(242, 45) + Me.BtnSetRFWifi.Name = "BtnSetRFWifi" + Me.BtnSetRFWifi.Size = New System.Drawing.Size(58, 24) + Me.BtnSetRFWifi.TabIndex = 13 + Me.BtnSetRFWifi.Text = "设置RF网络" + Me.BtnSetRFWifi.UseVisualStyleBackColor = true + ' + 'GroupBox2 + ' + Me.GroupBox2.Controls.Add(Me.BtnAKeyTest) + Me.GroupBox2.Controls.Add(Me.BtnClearList) + Me.GroupBox2.Controls.Add(Me.Label2) + Me.GroupBox2.Controls.Add(Me.TboNetworkAddress) + Me.GroupBox2.Controls.Add(Me.BtnSetRFWifi) + Me.GroupBox2.Controls.Add(Me.BtnPairing) + Me.GroupBox2.Controls.Add(Me.BtnReadRFWifi) + Me.GroupBox2.Controls.Add(Me.Label1) + Me.GroupBox2.Controls.Add(Me.BtnReadRFDevList) + Me.GroupBox2.Controls.Add(Me.Nup485DialAddr) + Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox2.Location = New System.Drawing.Point(0, 0) + Me.GroupBox2.Name = "GroupBox2" + Me.GroupBox2.Size = New System.Drawing.Size(449, 75) + Me.GroupBox2.TabIndex = 14 + Me.GroupBox2.TabStop = false + Me.GroupBox2.Text = "基础设置" + ' + 'BtnAKeyTest + ' + Me.BtnAKeyTest.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnAKeyTest.Location = New System.Drawing.Point(306, 12) + Me.BtnAKeyTest.Name = "BtnAKeyTest" + Me.BtnAKeyTest.Size = New System.Drawing.Size(58, 24) + Me.BtnAKeyTest.TabIndex = 16 + Me.BtnAKeyTest.Text = "一键测试" + Me.BtnAKeyTest.UseVisualStyleBackColor = true + ' + 'BtnClearList + ' + Me.BtnClearList.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnClearList.Location = New System.Drawing.Point(241, 11) + Me.BtnClearList.Name = "BtnClearList" + Me.BtnClearList.Size = New System.Drawing.Size(58, 24) + Me.BtnClearList.TabIndex = 15 + Me.BtnClearList.Text = "清空列表" + Me.BtnClearList.UseVisualStyleBackColor = true + ' + 'Label2 + ' + Me.Label2.AutoSize = true + Me.Label2.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label2.Location = New System.Drawing.Point(33, 51) + Me.Label2.Name = "Label2" + Me.Label2.Size = New System.Drawing.Size(47, 12) + Me.Label2.TabIndex = 14 + Me.Label2.Text = "RF 网络" + ' + 'GrdRFcfg + ' + Me.GrdRFcfg.BorderStyle = FlexCell.BorderStyleEnum.None + Me.GrdRFcfg.CheckedImage = Nothing + Me.GrdRFcfg.DefaultFont = New System.Drawing.Font("宋体", 9!) + Me.GrdRFcfg.Dock = System.Windows.Forms.DockStyle.Fill + Me.GrdRFcfg.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.GrdRFcfg.GridColor = System.Drawing.Color.FromArgb(CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(192,Byte),Integer)) + Me.GrdRFcfg.Location = New System.Drawing.Point(3, 17) + Me.GrdRFcfg.Name = "GrdRFcfg" + Me.GrdRFcfg.Size = New System.Drawing.Size(443, 165) + Me.GrdRFcfg.TabIndex = 15 + Me.GrdRFcfg.UncheckedImage = Nothing + ' + 'GroupBox3 + ' + Me.GroupBox3.Controls.Add(Me.GrdRFcfg) + Me.GroupBox3.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox3.Location = New System.Drawing.Point(0, 0) + Me.GroupBox3.Name = "GroupBox3" + Me.GroupBox3.Size = New System.Drawing.Size(449, 185) + Me.GroupBox3.TabIndex = 16 + Me.GroupBox3.TabStop = false + Me.GroupBox3.Text = "设备列表" + ' + 'TabRFFunction + ' + Me.TabRFFunction.Controls.Add(Me.TabFunctionRF) + Me.TabRFFunction.Controls.Add(Me.PageRFInsertCalorie) + Me.TabRFFunction.Controls.Add(Me.PageRFSwitchPanel) + Me.TabRFFunction.Controls.Add(Me.PageRFWirelessVoice) + Me.TabRFFunction.Controls.Add(Me.PageRFWirelessTempControl) + Me.TabRFFunction.Controls.Add(Me.PageRFWeChatLock) + Me.TabRFFunction.Controls.Add(Me.PageRFElectricCurtains) + Me.TabRFFunction.Dock = System.Windows.Forms.DockStyle.Fill + Me.TabRFFunction.Location = New System.Drawing.Point(0, 0) + Me.TabRFFunction.Name = "TabRFFunction" + Me.TabRFFunction.SelectedIndex = 0 + Me.TabRFFunction.Size = New System.Drawing.Size(449, 217) + Me.TabRFFunction.TabIndex = 17 + ' + 'TabFunctionRF + ' + Me.TabFunctionRF.Controls.Add(Me.Label17) + Me.TabFunctionRF.Location = New System.Drawing.Point(4, 22) + Me.TabFunctionRF.Name = "TabFunctionRF" + Me.TabFunctionRF.Padding = New System.Windows.Forms.Padding(3) + Me.TabFunctionRF.Size = New System.Drawing.Size(441, 191) + Me.TabFunctionRF.TabIndex = 0 + Me.TabFunctionRF.Text = "功能" + Me.TabFunctionRF.UseVisualStyleBackColor = true + ' + 'Label17 + ' + Me.Label17.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right),System.Windows.Forms.AnchorStyles) + Me.Label17.AutoSize = true + Me.Label17.Font = New System.Drawing.Font("宋体", 24!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label17.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer)) + Me.Label17.Location = New System.Drawing.Point(143, 66) + Me.Label17.Name = "Label17" + Me.Label17.Size = New System.Drawing.Size(143, 33) + Me.Label17.TabIndex = 0 + Me.Label17.Text = "设备控制" + ' + 'PageRFInsertCalorie + ' + Me.PageRFInsertCalorie.Controls.Add(Me.GboInsertCalorie) + Me.PageRFInsertCalorie.Location = New System.Drawing.Point(4, 22) + Me.PageRFInsertCalorie.Name = "PageRFInsertCalorie" + Me.PageRFInsertCalorie.Size = New System.Drawing.Size(441, 191) + Me.PageRFInsertCalorie.TabIndex = 1 + Me.PageRFInsertCalorie.Text = "插卡取电" + Me.PageRFInsertCalorie.UseVisualStyleBackColor = true + ' + 'GboInsertCalorie + ' + Me.GboInsertCalorie.Controls.Add(Me.LblCommTestInsertCard) + Me.GboInsertCalorie.Controls.Add(Me.BtnCommTestInsertCard) + Me.GboInsertCalorie.Controls.Add(Me.Label20) + Me.GboInsertCalorie.Controls.Add(Me.NudRFSector) + Me.GboInsertCalorie.Controls.Add(Me.CboInsertSet) + Me.GboInsertCalorie.Controls.Add(Me.Label30) + Me.GboInsertCalorie.Controls.Add(Me.BtnRFInsertCalorie) + Me.GboInsertCalorie.Dock = System.Windows.Forms.DockStyle.Fill + Me.GboInsertCalorie.Location = New System.Drawing.Point(0, 0) + Me.GboInsertCalorie.Name = "GboInsertCalorie" + Me.GboInsertCalorie.Size = New System.Drawing.Size(441, 191) + Me.GboInsertCalorie.TabIndex = 12 + Me.GboInsertCalorie.TabStop = false + Me.GboInsertCalorie.Text = "插卡取电" + ' + 'LblCommTestInsertCard + ' + Me.LblCommTestInsertCard.AutoSize = true + Me.LblCommTestInsertCard.Location = New System.Drawing.Point(217, 26) + Me.LblCommTestInsertCard.Name = "LblCommTestInsertCard" + Me.LblCommTestInsertCard.Size = New System.Drawing.Size(83, 12) + Me.LblCommTestInsertCard.TabIndex = 82 + Me.LblCommTestInsertCard.Text = "通讯成功率 0%" + ' + 'BtnCommTestInsertCard + ' + Me.BtnCommTestInsertCard.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestInsertCard.Location = New System.Drawing.Point(325, 20) + Me.BtnCommTestInsertCard.Name = "BtnCommTestInsertCard" + Me.BtnCommTestInsertCard.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestInsertCard.TabIndex = 83 + Me.BtnCommTestInsertCard.Text = "网关通讯测试" + Me.BtnCommTestInsertCard.UseVisualStyleBackColor = true + ' + 'Label20 + ' + Me.Label20.AutoSize = true + Me.Label20.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label20.Location = New System.Drawing.Point(147, 86) + Me.Label20.Name = "Label20" + Me.Label20.Size = New System.Drawing.Size(49, 14) + Me.Label20.TabIndex = 81 + Me.Label20.Text = "扇区号" + ' + 'NudRFSector + ' + Me.NudRFSector.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.NudRFSector.Location = New System.Drawing.Point(143, 52) + Me.NudRFSector.Maximum = New Decimal(New Integer() {255, 0, 0, 0}) + Me.NudRFSector.Name = "NudRFSector" + Me.NudRFSector.Size = New System.Drawing.Size(60, 23) + Me.NudRFSector.TabIndex = 80 + Me.NudRFSector.Value = New Decimal(New Integer() {18, 0, 0, 0}) + ' + 'CboInsertSet + ' + Me.CboInsertSet.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.CboInsertSet.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.CboInsertSet.FormattingEnabled = true + Me.CboInsertSet.Location = New System.Drawing.Point(40, 53) + Me.CboInsertSet.Name = "CboInsertSet" + Me.CboInsertSet.Size = New System.Drawing.Size(77, 22) + Me.CboInsertSet.TabIndex = 79 + ' + 'Label30 + ' + Me.Label30.AutoSize = true + Me.Label30.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label30.Location = New System.Drawing.Point(58, 86) + Me.Label30.Name = "Label30" + Me.Label30.Size = New System.Drawing.Size(35, 14) + Me.Label30.TabIndex = 78 + Me.Label30.Text = "标志" + ' + 'BtnRFInsertCalorie + ' + Me.BtnRFInsertCalorie.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnRFInsertCalorie.Location = New System.Drawing.Point(333, 50) + Me.BtnRFInsertCalorie.Name = "BtnRFInsertCalorie" + Me.BtnRFInsertCalorie.Size = New System.Drawing.Size(58, 26) + Me.BtnRFInsertCalorie.TabIndex = 77 + Me.BtnRFInsertCalorie.Text = "发送" + Me.BtnRFInsertCalorie.UseVisualStyleBackColor = true + ' + 'PageRFSwitchPanel + ' + Me.PageRFSwitchPanel.Controls.Add(Me.GroupBox1) + Me.PageRFSwitchPanel.Location = New System.Drawing.Point(4, 22) + Me.PageRFSwitchPanel.Name = "PageRFSwitchPanel" + Me.PageRFSwitchPanel.Size = New System.Drawing.Size(441, 191) + Me.PageRFSwitchPanel.TabIndex = 2 + Me.PageRFSwitchPanel.Text = "开关面板" + Me.PageRFSwitchPanel.UseVisualStyleBackColor = true + ' + 'PageRFWirelessVoice + ' + Me.PageRFWirelessVoice.Controls.Add(Me.GroupBox5) + Me.PageRFWirelessVoice.Location = New System.Drawing.Point(4, 22) + Me.PageRFWirelessVoice.Name = "PageRFWirelessVoice" + Me.PageRFWirelessVoice.Size = New System.Drawing.Size(441, 191) + Me.PageRFWirelessVoice.TabIndex = 3 + Me.PageRFWirelessVoice.Text = "无线语音" + Me.PageRFWirelessVoice.UseVisualStyleBackColor = true + ' + 'GroupBox5 + ' + Me.GroupBox5.Controls.Add(Me.LblCommTestVoice) + Me.GroupBox5.Controls.Add(Me.BtnCommTestVoice) + Me.GroupBox5.Controls.Add(Me.BtnForwardingData) + Me.GroupBox5.Controls.Add(Me.TxtForwardingData) + Me.GroupBox5.Controls.Add(Me.LblData) + Me.GroupBox5.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox5.Location = New System.Drawing.Point(0, 0) + Me.GroupBox5.Name = "GroupBox5" + Me.GroupBox5.Size = New System.Drawing.Size(441, 191) + Me.GroupBox5.TabIndex = 15 + Me.GroupBox5.TabStop = false + Me.GroupBox5.Text = "无线语音" + ' + 'LblCommTestVoice + ' + Me.LblCommTestVoice.AutoSize = true + Me.LblCommTestVoice.Location = New System.Drawing.Point(218, 26) + Me.LblCommTestVoice.Name = "LblCommTestVoice" + Me.LblCommTestVoice.Size = New System.Drawing.Size(83, 12) + Me.LblCommTestVoice.TabIndex = 25 + Me.LblCommTestVoice.Text = "通讯成功率 0%" + ' + 'BtnCommTestVoice + ' + Me.BtnCommTestVoice.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestVoice.Location = New System.Drawing.Point(326, 20) + Me.BtnCommTestVoice.Name = "BtnCommTestVoice" + Me.BtnCommTestVoice.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestVoice.TabIndex = 26 + Me.BtnCommTestVoice.Text = "网关通讯测试" + Me.BtnCommTestVoice.UseVisualStyleBackColor = true + ' + 'BtnForwardingData + ' + Me.BtnForwardingData.Location = New System.Drawing.Point(334, 59) + Me.BtnForwardingData.Name = "BtnForwardingData" + Me.BtnForwardingData.Size = New System.Drawing.Size(58, 26) + Me.BtnForwardingData.TabIndex = 15 + Me.BtnForwardingData.Text = "发送" + Me.BtnForwardingData.UseVisualStyleBackColor = true + ' + 'TxtForwardingData + ' + Me.TxtForwardingData.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.TxtForwardingData.Location = New System.Drawing.Point(51, 63) + Me.TxtForwardingData.Multiline = true + Me.TxtForwardingData.Name = "TxtForwardingData" + Me.TxtForwardingData.Size = New System.Drawing.Size(265, 83) + Me.TxtForwardingData.TabIndex = 14 + Me.TxtForwardingData.Tag = "" + ' + 'LblData + ' + Me.LblData.AutoSize = true + Me.LblData.Location = New System.Drawing.Point(28, 48) + Me.LblData.Name = "LblData" + Me.LblData.Size = New System.Drawing.Size(59, 12) + Me.LblData.TabIndex = 13 + Me.LblData.Text = "配置数据:" + ' + 'PageRFWirelessTempControl + ' + Me.PageRFWirelessTempControl.Controls.Add(Me.GroupBox6) + Me.PageRFWirelessTempControl.Location = New System.Drawing.Point(4, 22) + Me.PageRFWirelessTempControl.Name = "PageRFWirelessTempControl" + Me.PageRFWirelessTempControl.Size = New System.Drawing.Size(441, 191) + Me.PageRFWirelessTempControl.TabIndex = 4 + Me.PageRFWirelessTempControl.Text = "无线温控" + Me.PageRFWirelessTempControl.UseVisualStyleBackColor = true + ' + 'GroupBox6 + ' + Me.GroupBox6.Controls.Add(Me.LblCommTestTemp) + Me.GroupBox6.Controls.Add(Me.BtnCommTestTemp) + Me.GroupBox6.Controls.Add(Me.Panel1) + Me.GroupBox6.Controls.Add(Me.BtnReadThermostatSettings) + Me.GroupBox6.Controls.Add(Me.Label22) + Me.GroupBox6.Controls.Add(Me.NudTempDiffValue) + Me.GroupBox6.Controls.Add(Me.BtnSetTemperatureDiff) + Me.GroupBox6.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox6.Location = New System.Drawing.Point(0, 0) + Me.GroupBox6.Name = "GroupBox6" + Me.GroupBox6.Size = New System.Drawing.Size(441, 191) + Me.GroupBox6.TabIndex = 16 + Me.GroupBox6.TabStop = false + Me.GroupBox6.Text = "无线温控" + ' + 'LblCommTestTemp + ' + Me.LblCommTestTemp.AutoSize = true + Me.LblCommTestTemp.Location = New System.Drawing.Point(324, 40) + Me.LblCommTestTemp.Name = "LblCommTestTemp" + Me.LblCommTestTemp.Size = New System.Drawing.Size(83, 12) + Me.LblCommTestTemp.TabIndex = 87 + Me.LblCommTestTemp.Text = "0% 通讯成功率" + ' + 'BtnCommTestTemp + ' + Me.BtnCommTestTemp.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestTemp.Location = New System.Drawing.Point(326, 13) + Me.BtnCommTestTemp.Name = "BtnCommTestTemp" + Me.BtnCommTestTemp.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestTemp.TabIndex = 88 + Me.BtnCommTestTemp.Text = "网关通讯测试" + Me.BtnCommTestTemp.UseVisualStyleBackColor = true + ' + 'Panel1 + ' + Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel1.Controls.Add(Me.LblTempControlAuto) + Me.Panel1.Controls.Add(Me.BtnTempControlValve) + Me.Panel1.Controls.Add(Me.LblTempControlValue) + Me.Panel1.Controls.Add(Me.LblDegree) + Me.Panel1.Controls.Add(Me.LblTempControlHigh) + Me.Panel1.Controls.Add(Me.LblTempControlCentre) + Me.Panel1.Controls.Add(Me.LblTempControlLow) + Me.Panel1.Controls.Add(Me.LblTempControlCold) + Me.Panel1.Controls.Add(Me.LblTempControlHot) + Me.Panel1.Controls.Add(Me.LblTempControlSupply) + Me.Panel1.Controls.Add(Me.BtnTempControlModel) + Me.Panel1.Controls.Add(Me.BtnTempControlAdd) + Me.Panel1.Controls.Add(Me.BtnTempControlVelocity) + Me.Panel1.Controls.Add(Me.BtnTempControlMinus) + Me.Panel1.Controls.Add(Me.BtnTempControlSwitch) + Me.Panel1.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Panel1.ForeColor = System.Drawing.SystemColors.ControlText + Me.Panel1.Location = New System.Drawing.Point(20, 15) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(296, 162) + Me.Panel1.TabIndex = 86 + ' + 'LblTempControlAuto + ' + Me.LblTempControlAuto.AutoSize = true + Me.LblTempControlAuto.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlAuto.ForeColor = System.Drawing.Color.Black + Me.LblTempControlAuto.Location = New System.Drawing.Point(111, 8) + Me.LblTempControlAuto.Name = "LblTempControlAuto" + Me.LblTempControlAuto.Size = New System.Drawing.Size(40, 16) + Me.LblTempControlAuto.TabIndex = 36 + Me.LblTempControlAuto.Text = "自动" + ' + 'BtnTempControlValve + ' + Me.BtnTempControlValve.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlValve.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlValve.Location = New System.Drawing.Point(212, 110) + Me.BtnTempControlValve.Name = "BtnTempControlValve" + Me.BtnTempControlValve.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlValve.TabIndex = 35 + Me.BtnTempControlValve.Text = "开阀" + Me.BtnTempControlValve.UseVisualStyleBackColor = true + ' + 'LblTempControlValue + ' + Me.LblTempControlValue.AutoSize = true + Me.LblTempControlValue.Font = New System.Drawing.Font("宋体", 36!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlValue.ForeColor = System.Drawing.SystemColors.ControlText + Me.LblTempControlValue.Location = New System.Drawing.Point(110, 45) + Me.LblTempControlValue.Name = "LblTempControlValue" + Me.LblTempControlValue.Size = New System.Drawing.Size(70, 48) + Me.LblTempControlValue.TabIndex = 28 + Me.LblTempControlValue.Text = "19" + ' + 'LblDegree + ' + Me.LblDegree.AutoSize = true + Me.LblDegree.Font = New System.Drawing.Font("宋体", 15!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblDegree.ForeColor = System.Drawing.Color.Black + Me.LblDegree.Location = New System.Drawing.Point(175, 69) + Me.LblDegree.Name = "LblDegree" + Me.LblDegree.Size = New System.Drawing.Size(30, 20) + Me.LblDegree.TabIndex = 34 + Me.LblDegree.Text = "℃" + ' + 'LblTempControlHigh + ' + Me.LblTempControlHigh.AutoSize = true + Me.LblTempControlHigh.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlHigh.ForeColor = System.Drawing.Color.Black + Me.LblTempControlHigh.Location = New System.Drawing.Point(21, 8) + Me.LblTempControlHigh.Name = "LblTempControlHigh" + Me.LblTempControlHigh.Size = New System.Drawing.Size(24, 16) + Me.LblTempControlHigh.TabIndex = 22 + Me.LblTempControlHigh.Text = "高" + ' + 'LblTempControlCentre + ' + Me.LblTempControlCentre.AutoSize = true + Me.LblTempControlCentre.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlCentre.ForeColor = System.Drawing.Color.Black + Me.LblTempControlCentre.Location = New System.Drawing.Point(51, 8) + Me.LblTempControlCentre.Name = "LblTempControlCentre" + Me.LblTempControlCentre.Size = New System.Drawing.Size(24, 16) + Me.LblTempControlCentre.TabIndex = 23 + Me.LblTempControlCentre.Text = "中" + ' + 'LblTempControlLow + ' + Me.LblTempControlLow.AutoSize = true + Me.LblTempControlLow.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlLow.ForeColor = System.Drawing.Color.Black + Me.LblTempControlLow.Location = New System.Drawing.Point(81, 8) + Me.LblTempControlLow.Name = "LblTempControlLow" + Me.LblTempControlLow.Size = New System.Drawing.Size(24, 16) + Me.LblTempControlLow.TabIndex = 24 + Me.LblTempControlLow.Text = "低" + ' + 'LblTempControlCold + ' + Me.LblTempControlCold.AutoSize = true + Me.LblTempControlCold.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlCold.ForeColor = System.Drawing.Color.Black + Me.LblTempControlCold.Location = New System.Drawing.Point(176, 8) + Me.LblTempControlCold.Name = "LblTempControlCold" + Me.LblTempControlCold.Size = New System.Drawing.Size(24, 16) + Me.LblTempControlCold.TabIndex = 25 + Me.LblTempControlCold.Text = "冷" + ' + 'LblTempControlHot + ' + Me.LblTempControlHot.AutoSize = true + Me.LblTempControlHot.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlHot.ForeColor = System.Drawing.Color.Black + Me.LblTempControlHot.Location = New System.Drawing.Point(206, 8) + Me.LblTempControlHot.Name = "LblTempControlHot" + Me.LblTempControlHot.Size = New System.Drawing.Size(24, 16) + Me.LblTempControlHot.TabIndex = 26 + Me.LblTempControlHot.Text = "热" + ' + 'LblTempControlSupply + ' + Me.LblTempControlSupply.AutoSize = true + Me.LblTempControlSupply.Font = New System.Drawing.Font("宋体", 12!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.LblTempControlSupply.ForeColor = System.Drawing.Color.Black + Me.LblTempControlSupply.Location = New System.Drawing.Point(236, 8) + Me.LblTempControlSupply.Name = "LblTempControlSupply" + Me.LblTempControlSupply.Size = New System.Drawing.Size(40, 16) + Me.LblTempControlSupply.TabIndex = 27 + Me.LblTempControlSupply.Text = "送风" + ' + 'BtnTempControlModel + ' + Me.BtnTempControlModel.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlModel.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlModel.Location = New System.Drawing.Point(155, 110) + Me.BtnTempControlModel.Name = "BtnTempControlModel" + Me.BtnTempControlModel.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlModel.TabIndex = 33 + Me.BtnTempControlModel.Text = "模式" + Me.BtnTempControlModel.UseVisualStyleBackColor = true + ' + 'BtnTempControlAdd + ' + Me.BtnTempControlAdd.Font = New System.Drawing.Font("幼圆", 21.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlAdd.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlAdd.Location = New System.Drawing.Point(30, 48) + Me.BtnTempControlAdd.Name = "BtnTempControlAdd" + Me.BtnTempControlAdd.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlAdd.TabIndex = 29 + Me.BtnTempControlAdd.Text = "+" + Me.BtnTempControlAdd.UseVisualStyleBackColor = true + ' + 'BtnTempControlVelocity + ' + Me.BtnTempControlVelocity.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlVelocity.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlVelocity.Location = New System.Drawing.Point(91, 110) + Me.BtnTempControlVelocity.Name = "BtnTempControlVelocity" + Me.BtnTempControlVelocity.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlVelocity.TabIndex = 32 + Me.BtnTempControlVelocity.Text = "风速" + Me.BtnTempControlVelocity.UseVisualStyleBackColor = true + ' + 'BtnTempControlMinus + ' + Me.BtnTempControlMinus.Font = New System.Drawing.Font("幼圆", 21.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlMinus.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlMinus.Location = New System.Drawing.Point(212, 48) + Me.BtnTempControlMinus.Name = "BtnTempControlMinus" + Me.BtnTempControlMinus.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlMinus.TabIndex = 30 + Me.BtnTempControlMinus.Text = "-" + Me.BtnTempControlMinus.UseVisualStyleBackColor = true + ' + 'BtnTempControlSwitch + ' + Me.BtnTempControlSwitch.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnTempControlSwitch.ForeColor = System.Drawing.Color.Black + Me.BtnTempControlSwitch.Location = New System.Drawing.Point(30, 110) + Me.BtnTempControlSwitch.Name = "BtnTempControlSwitch" + Me.BtnTempControlSwitch.Size = New System.Drawing.Size(45, 40) + Me.BtnTempControlSwitch.TabIndex = 31 + Me.BtnTempControlSwitch.Text = "开" + Me.BtnTempControlSwitch.UseVisualStyleBackColor = true + ' + 'BtnReadThermostatSettings + ' + Me.BtnReadThermostatSettings.Font = New System.Drawing.Font("幼圆", 7.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnReadThermostatSettings.Location = New System.Drawing.Point(334, 151) + Me.BtnReadThermostatSettings.Name = "BtnReadThermostatSettings" + Me.BtnReadThermostatSettings.Size = New System.Drawing.Size(58, 26) + Me.BtnReadThermostatSettings.TabIndex = 85 + Me.BtnReadThermostatSettings.Text = "读温控器设置" + Me.BtnReadThermostatSettings.UseVisualStyleBackColor = true + ' + 'Label22 + ' + Me.Label22.AutoSize = true + Me.Label22.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.Label22.Location = New System.Drawing.Point(322, 72) + Me.Label22.Name = "Label22" + Me.Label22.Size = New System.Drawing.Size(49, 14) + Me.Label22.TabIndex = 84 + Me.Label22.Text = "温差:" + ' + 'NudTempDiffValue + ' + Me.NudTempDiffValue.Font = New System.Drawing.Font("幼圆", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.NudTempDiffValue.Location = New System.Drawing.Point(347, 90) + Me.NudTempDiffValue.Maximum = New Decimal(New Integer() {255, 0, 0, 0}) + Me.NudTempDiffValue.Name = "NudTempDiffValue" + Me.NudTempDiffValue.Size = New System.Drawing.Size(45, 23) + Me.NudTempDiffValue.TabIndex = 83 + Me.NudTempDiffValue.Value = New Decimal(New Integer() {9, 0, 0, 0}) + ' + 'BtnSetTemperatureDiff + ' + Me.BtnSetTemperatureDiff.Font = New System.Drawing.Font("幼圆", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnSetTemperatureDiff.Location = New System.Drawing.Point(334, 119) + Me.BtnSetTemperatureDiff.Name = "BtnSetTemperatureDiff" + Me.BtnSetTemperatureDiff.Size = New System.Drawing.Size(58, 26) + Me.BtnSetTemperatureDiff.TabIndex = 82 + Me.BtnSetTemperatureDiff.Text = "设置温差" + Me.BtnSetTemperatureDiff.UseVisualStyleBackColor = true + ' + 'PageRFWeChatLock + ' + Me.PageRFWeChatLock.Controls.Add(Me.GboSetTime) + Me.PageRFWeChatLock.Location = New System.Drawing.Point(4, 22) + Me.PageRFWeChatLock.Name = "PageRFWeChatLock" + Me.PageRFWeChatLock.Size = New System.Drawing.Size(441, 191) + Me.PageRFWeChatLock.TabIndex = 5 + Me.PageRFWeChatLock.Text = "微信锁" + Me.PageRFWeChatLock.UseVisualStyleBackColor = true + ' + 'PageRFElectricCurtains + ' + Me.PageRFElectricCurtains.Controls.Add(Me.GroupBox7) + Me.PageRFElectricCurtains.Location = New System.Drawing.Point(4, 22) + Me.PageRFElectricCurtains.Name = "PageRFElectricCurtains" + Me.PageRFElectricCurtains.Size = New System.Drawing.Size(441, 191) + Me.PageRFElectricCurtains.TabIndex = 6 + Me.PageRFElectricCurtains.Text = "电动窗帘" + Me.PageRFElectricCurtains.UseVisualStyleBackColor = true + ' + 'GroupBox7 + ' + Me.GroupBox7.Controls.Add(Me.LblCommTestCurtain) + Me.GroupBox7.Controls.Add(Me.BtnCommTestCurtain) + Me.GroupBox7.Controls.Add(Me.TextBox1) + Me.GroupBox7.Controls.Add(Me.BtnCurtainClose) + Me.GroupBox7.Controls.Add(Me.BtnCurtainStop) + Me.GroupBox7.Controls.Add(Me.BtnCurtainStart) + Me.GroupBox7.Controls.Add(Me.BtnCurtainData) + Me.GroupBox7.Controls.Add(Me.TxtCurtainData) + Me.GroupBox7.Controls.Add(Me.Label21) + Me.GroupBox7.Dock = System.Windows.Forms.DockStyle.Fill + Me.GroupBox7.Location = New System.Drawing.Point(0, 0) + Me.GroupBox7.Name = "GroupBox7" + Me.GroupBox7.Size = New System.Drawing.Size(441, 191) + Me.GroupBox7.TabIndex = 17 + Me.GroupBox7.TabStop = false + Me.GroupBox7.Text = "电动窗帘" + ' + 'LblCommTestCurtain + ' + Me.LblCommTestCurtain.AutoSize = true + Me.LblCommTestCurtain.Location = New System.Drawing.Point(216, 23) + Me.LblCommTestCurtain.Name = "LblCommTestCurtain" + Me.LblCommTestCurtain.Size = New System.Drawing.Size(89, 12) + Me.LblCommTestCurtain.TabIndex = 23 + Me.LblCommTestCurtain.Text = "通讯成功率 0%" + ' + 'BtnCommTestCurtain + ' + Me.BtnCommTestCurtain.Font = New System.Drawing.Font("宋体", 9!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.BtnCommTestCurtain.Location = New System.Drawing.Point(325, 17) + Me.BtnCommTestCurtain.Name = "BtnCommTestCurtain" + Me.BtnCommTestCurtain.Size = New System.Drawing.Size(66, 24) + Me.BtnCommTestCurtain.TabIndex = 24 + Me.BtnCommTestCurtain.Text = "网关通讯测试" + Me.BtnCommTestCurtain.UseVisualStyleBackColor = true + ' + 'TextBox1 + ' + Me.TextBox1.Font = New System.Drawing.Font("宋体", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134,Byte)) + Me.TextBox1.ForeColor = System.Drawing.SystemColors.ControlText + Me.TextBox1.Location = New System.Drawing.Point(82, 92) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(66, 23) + Me.TextBox1.TabIndex = 22 + ' + 'BtnCurtainClose + ' + Me.BtnCurtainClose.Location = New System.Drawing.Point(251, 47) + Me.BtnCurtainClose.Name = "BtnCurtainClose" + Me.BtnCurtainClose.Size = New System.Drawing.Size(66, 28) + Me.BtnCurtainClose.TabIndex = 21 + Me.BtnCurtainClose.Text = "窗帘关闭" + Me.BtnCurtainClose.UseVisualStyleBackColor = true + ' + 'BtnCurtainStop + ' + Me.BtnCurtainStop.Location = New System.Drawing.Point(159, 47) + Me.BtnCurtainStop.Name = "BtnCurtainStop" + Me.BtnCurtainStop.Size = New System.Drawing.Size(66, 28) + Me.BtnCurtainStop.TabIndex = 20 + Me.BtnCurtainStop.Text = "窗帘停止" + Me.BtnCurtainStop.UseVisualStyleBackColor = true + ' + 'BtnCurtainStart + ' + Me.BtnCurtainStart.Location = New System.Drawing.Point(67, 47) + Me.BtnCurtainStart.Name = "BtnCurtainStart" + Me.BtnCurtainStart.Size = New System.Drawing.Size(66, 28) + Me.BtnCurtainStart.TabIndex = 19 + Me.BtnCurtainStart.Text = "窗帘打开" + Me.BtnCurtainStart.UseVisualStyleBackColor = true + ' + 'BtnCurtainData + ' + Me.BtnCurtainData.Location = New System.Drawing.Point(333, 117) + Me.BtnCurtainData.Name = "BtnCurtainData" + Me.BtnCurtainData.Size = New System.Drawing.Size(58, 26) + Me.BtnCurtainData.TabIndex = 18 + Me.BtnCurtainData.Text = "发送" + Me.BtnCurtainData.UseVisualStyleBackColor = true + ' + 'TxtCurtainData + ' + Me.TxtCurtainData.ImeMode = System.Windows.Forms.ImeMode.NoControl + Me.TxtCurtainData.Location = New System.Drawing.Point(82, 121) + Me.TxtCurtainData.Multiline = true + Me.TxtCurtainData.Name = "TxtCurtainData" + Me.TxtCurtainData.Size = New System.Drawing.Size(235, 52) + Me.TxtCurtainData.TabIndex = 17 + ' + 'Label21 + ' + Me.Label21.AutoSize = true + Me.Label21.Location = New System.Drawing.Point(17, 97) + Me.Label21.Name = "Label21" + Me.Label21.Size = New System.Drawing.Size(59, 12) + Me.Label21.TabIndex = 16 + Me.Label21.Text = "配置数据:" + ' + 'SplitContainer1 + ' + Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer1.Name = "SplitContainer1" + Me.SplitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer1.Panel1 + ' + Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2) + ' + 'SplitContainer1.Panel2 + ' + Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2) + Me.SplitContainer1.Size = New System.Drawing.Size(449, 485) + Me.SplitContainer1.SplitterDistance = 75 + Me.SplitContainer1.TabIndex = 18 + ' + 'SplitContainer2 + ' + Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainer2.Location = New System.Drawing.Point(0, 0) + Me.SplitContainer2.Name = "SplitContainer2" + Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal + ' + 'SplitContainer2.Panel1 + ' + Me.SplitContainer2.Panel1.Controls.Add(Me.TabRFFunction) + ' + 'SplitContainer2.Panel2 + ' + Me.SplitContainer2.Panel2.Controls.Add(Me.GroupBox3) + Me.SplitContainer2.Size = New System.Drawing.Size(449, 406) + Me.SplitContainer2.SplitterDistance = 217 + Me.SplitContainer2.TabIndex = 0 + ' + 'FrmRFFunction + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 12!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(449, 485) + Me.Controls.Add(Me.SplitContainer1) + Me.Name = "FrmRFFunction" + CType(Me.Nup485DialAddr,System.ComponentModel.ISupportInitialize).EndInit + Me.GboSetTime.ResumeLayout(false) + Me.GboSetTime.PerformLayout + Me.GroupBox1.ResumeLayout(false) + Me.GroupBox1.PerformLayout + CType(Me.NumericUpDown1,System.ComponentModel.ISupportInitialize).EndInit + Me.GroupBox2.ResumeLayout(false) + Me.GroupBox2.PerformLayout + Me.GroupBox3.ResumeLayout(false) + Me.TabRFFunction.ResumeLayout(false) + Me.TabFunctionRF.ResumeLayout(false) + Me.TabFunctionRF.PerformLayout + Me.PageRFInsertCalorie.ResumeLayout(false) + Me.GboInsertCalorie.ResumeLayout(false) + Me.GboInsertCalorie.PerformLayout + CType(Me.NudRFSector,System.ComponentModel.ISupportInitialize).EndInit + Me.PageRFSwitchPanel.ResumeLayout(false) + Me.PageRFWirelessVoice.ResumeLayout(false) + Me.GroupBox5.ResumeLayout(false) + Me.GroupBox5.PerformLayout + Me.PageRFWirelessTempControl.ResumeLayout(false) + Me.GroupBox6.ResumeLayout(false) + Me.GroupBox6.PerformLayout + Me.Panel1.ResumeLayout(false) + Me.Panel1.PerformLayout + CType(Me.NudTempDiffValue,System.ComponentModel.ISupportInitialize).EndInit + Me.PageRFWeChatLock.ResumeLayout(false) + Me.PageRFElectricCurtains.ResumeLayout(false) + Me.GroupBox7.ResumeLayout(false) + Me.GroupBox7.PerformLayout + Me.SplitContainer1.Panel1.ResumeLayout(false) + Me.SplitContainer1.Panel2.ResumeLayout(false) + CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).EndInit + Me.SplitContainer1.ResumeLayout(false) + Me.SplitContainer2.Panel1.ResumeLayout(false) + Me.SplitContainer2.Panel2.ResumeLayout(false) + CType(Me.SplitContainer2,System.ComponentModel.ISupportInitialize).EndInit + Me.SplitContainer2.ResumeLayout(false) + Me.ResumeLayout(false) + +End Sub + + Friend WithEvents TboNetworkAddress As TextBox + Friend WithEvents BtnPairing As Button + Friend WithEvents Label1 As Label + Friend WithEvents Nup485DialAddr As NumericUpDown + Friend WithEvents Timer1 As Timer + Friend WithEvents GboSetTime As GroupBox + Friend WithEvents BtnSetWeChat As Button + Friend WithEvents Label4 As Label + Friend WithEvents CboSetTime As ComboBox + Friend WithEvents BtnOpenLock As Button + Friend WithEvents BtnReadLockState As Button + Friend WithEvents GroupBox1 As GroupBox + Friend WithEvents BtnSwitch5 As Button + Friend WithEvents BtnSwitch3 As Button + Friend WithEvents BtnSwitch1 As Button + Friend WithEvents BtnSwitch6 As Button + Friend WithEvents BtnSwitch4 As Button + Friend WithEvents BtnSwitch2 As Button + Friend WithEvents Label10 As Label + Friend WithEvents Label11 As Label + Friend WithEvents Label12 As Label + Friend WithEvents Label9 As Label + Friend WithEvents Label8 As Label + Friend WithEvents Label5 As Label + Friend WithEvents BtnReadRFDevList As Button + Friend WithEvents BtnReadRFWifi As Button + Friend WithEvents BtnSetRFWifi As Button + Friend WithEvents CboIsSet As CheckBox + Friend WithEvents GroupBox2 As GroupBox + Friend WithEvents GrdRFcfg As FlexCell.Grid + Friend WithEvents GroupBox3 As GroupBox + Friend WithEvents TabRFFunction As TabControl + Friend WithEvents TabFunctionRF As TabPage + Friend WithEvents PageRFInsertCalorie As TabPage + Friend WithEvents PageRFSwitchPanel As TabPage + Friend WithEvents PageRFWirelessVoice As TabPage + Friend WithEvents PageRFWirelessTempControl As TabPage + Friend WithEvents PageRFWeChatLock As TabPage + Friend WithEvents PageRFElectricCurtains As TabPage + Friend WithEvents GboInsertCalorie As GroupBox + Friend WithEvents GroupBox5 As GroupBox + Friend WithEvents GroupBox6 As GroupBox + Friend WithEvents GroupBox7 As GroupBox + Friend WithEvents SplitContainer1 As SplitContainer + Friend WithEvents SplitContainer2 As SplitContainer + Friend WithEvents Label17 As Label + Friend WithEvents BtnBacklight As Button + Friend WithEvents BtnSetSwitchLights As Button + Friend WithEvents Label6 As Label + Friend WithEvents NumericUpDown1 As NumericUpDown + Friend WithEvents Label7 As Label + Friend WithEvents Label14 As Label + Friend WithEvents Label13 As Label + Friend WithEvents ComboBox2 As ComboBox + Friend WithEvents ComboBox1 As ComboBox + Friend WithEvents BtnSetDelayTime As Button + Friend WithEvents BtnSetGradientTime As Button + Friend WithEvents BtnSetLocalControl As Button + Friend WithEvents BtnReadLigthInfo As Button + Friend WithEvents Label20 As Label + Friend WithEvents NudRFSector As NumericUpDown + Friend WithEvents CboInsertSet As ComboBox + Friend WithEvents Label30 As Label + Friend WithEvents BtnRFInsertCalorie As Button + Friend WithEvents BtnForwardingData As Button + Friend WithEvents TxtForwardingData As TextBox + Friend WithEvents LblData As Label + Friend WithEvents BtnCurtainData As Button + Friend WithEvents TxtCurtainData As TextBox + Friend WithEvents Label21 As Label + Friend WithEvents BtnReadThermostatSettings As Button + Friend WithEvents Label22 As Label + Friend WithEvents NudTempDiffValue As NumericUpDown + Friend WithEvents BtnSetTemperatureDiff As Button + Friend WithEvents Panel1 As Panel + Friend WithEvents LblTempControlValue As Label + Friend WithEvents LblDegree As Label + Friend WithEvents LblTempControlHigh As Label + Friend WithEvents LblTempControlCentre As Label + Friend WithEvents LblTempControlLow As Label + Friend WithEvents LblTempControlCold As Label + Friend WithEvents LblTempControlHot As Label + Friend WithEvents LblTempControlSupply As Label + Friend WithEvents BtnTempControlModel As Button + Friend WithEvents BtnTempControlAdd As Button + Friend WithEvents BtnTempControlVelocity As Button + Friend WithEvents BtnTempControlMinus As Button + Friend WithEvents BtnTempControlSwitch As Button + Friend WithEvents LblTempControlAuto As Label + Friend WithEvents BtnTempControlValve As Button + Friend WithEvents BtnCurtainClose As Button + Friend WithEvents BtnCurtainStop As Button + Friend WithEvents BtnCurtainStart As Button + Friend WithEvents Label2 As Label + Friend WithEvents CheckBox1 As CheckBox + Friend WithEvents BtnClearList As Button + Friend WithEvents TextBox1 As TextBox + Friend WithEvents LblCommTestCurtain As Label + Friend WithEvents BtnCommTestCurtain As Button + Friend WithEvents LblCommTestWeChat As Label + Friend WithEvents BtnCommTestWeChat As Button + Friend WithEvents LblCommTestSwitch As Label + Friend WithEvents BtnCommTestSwitch As Button + Friend WithEvents LblCommTestInsertCard As Label + Friend WithEvents BtnCommTestInsertCard As Button + Friend WithEvents LblCommTestVoice As Label + Friend WithEvents BtnCommTestVoice As Button + Friend WithEvents LblCommTestTemp As Label + Friend WithEvents BtnCommTestTemp As Button + Friend WithEvents BtnAKeyTest As Button +End Class diff --git a/RCU-10/RCU/FrmRFFunction.resx b/RCU-10/RCU/FrmRFFunction.resx new file mode 100644 index 0000000..77ecd72 --- /dev/null +++ b/RCU-10/RCU/FrmRFFunction.resx @@ -0,0 +1,456 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + 17, 17 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + 85 + + \ No newline at end of file diff --git a/RCU-10/RCU/FrmRFFunction.vb b/RCU-10/RCU/FrmRFFunction.vb new file mode 100644 index 0000000..5956924 --- /dev/null +++ b/RCU-10/RCU/FrmRFFunction.vb @@ -0,0 +1,2377 @@ +Public Class FrmRFFunction + Implements IModuleForm + +#Region "窗体" + + ''' + ''' 窗体加载 + ''' + ''' + ''' + Private Sub FrmRFWiFiFunction_Load(sender As Object, e As EventArgs) Handles Me.Load + InitPage() + + 'RF设备列表 + InitRFConfigInfo() + + '插卡取电 + InitInsertCalorie() + + '开关面板 + InitTime() + + '无线温控 + InitTempControl() + + '微信锁 + IsSet() + InitInfoWeChat() + + TextBox1.Text = My.Settings.CurtainsCMD + TxtCurtainData.Text = My.Settings.CurtainsData + End Sub + + + ''' + ''' 显示窗体接口 + ''' + ''' + Public Sub ShowForm(parentControl As Control) Implements IModuleForm.ShowForm + FormBorderStyle = FormBorderStyle.None '无边框 + TopLevel = False + Dock = DockStyle.Fill '填满大小 + Parent = parentControl '父容器 + + Show() + End Sub + + + ''' + ''' 发送函数 + ''' + ''' + Public Sub SendData(sendPacket() As Byte) + 'FrmRCU.SendData(sendPacket) '方法1 + + If InvokeRequired Then + Invoke(New Action(Sub() + FrmRCU.SendData(sendPacket) + End Sub)) + Else + FrmRCU.SendData(sendPacket) + End If + End Sub + + +#End Region + +#Region "RF无线功能配置" + + ''' + ''' RF网关 + ''' + Enum RFGateway + + ''' + ''' 485网关地址 + ''' + Address485 + + ''' + ''' 设备类型 + ''' + DevType + + ''' + ''' 设备地址 + ''' + DevAddress + + ''' + ''' 和校验 + ''' + CheckSum + + ''' + ''' 数据包长 + ''' + Len + + ''' + ''' 命令字 + ''' + Cmd + + ''' + ''' 数据内容 + ''' + Databuff + + End Enum + + + ''' + ''' RF设备类型 + ''' + Enum RFDevType + + 插卡取电 = &H5 + + 开关面板 = &H7 + + 无线语音 = &H8 + + 无线温控 = &H9 + + 微信锁 = &HA + + 电动窗帘 = &HB + + End Enum + + + ''' + ''' 检查通信连接 + ''' + Public Function CheckConn() + If CheckNetWorkConn() = False OrElse CheckSerialPortConn() = False Then Return False + + Return True + End Function + + +#Region "初始化设备列表信息" + + + Enum DevColName + + ''' + ''' 设备名称 + ''' + DevName = 1 + + ''' + ''' 设备类型 + ''' + DevType = 2 + + ''' + ''' 设备地址 + ''' + DevAddr = 3 + + ''' + ''' 设备状态 + ''' + DevState = 4 + + ''' + ''' 控制计数 + ''' + ControlCount = 5 + + ''' + ''' 控制信息 + ''' + ControlInfo = 6 + + ''' + ''' 设备测试 + ''' + DevTest = 7 + + End Enum + + + + Private Sub InitRFConfigInfo() + GrdRFcfg.DisplayRowNumber = True + GrdRFcfg.ExtendLastCol = True + GrdRFcfg.Cols = DevColName.DevTest + 1 '设置表格界限 + GrdRFcfg.Rows = 1 + + With GrdRFcfg.Cell(0, DevColName.DevName) + .Text = "设备名称" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.DevType) + .Text = "设备类型" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.DevAddr) + .Text = "设备地址" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.DevState) + .Text = "设备状态" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.ControlCount) + .Text = "计数" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.ControlInfo) + .Text = "操作信息" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + With GrdRFcfg.Cell(0, DevColName.DevTest) + .Text = "测试成功率" + .BackColor = Color.LightGray + .ForeColor = Color.Blue + .Font = New Font("Arial", 8, FontStyle.Bold) + End With + + GrdRFcfg.Column(DevColName.DevName).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.DevName).Width = 80 + + GrdRFcfg.Column(DevColName.DevType).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.DevType).Width = 80 + + GrdRFcfg.Column(DevColName.DevAddr).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.DevAddr).Width = 80 + + GrdRFcfg.Column(DevColName.DevState).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.DevState).Width = 80 + + GrdRFcfg.Column(DevColName.ControlCount).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.ControlCount).Width = 40 + + GrdRFcfg.Column(DevColName.DevTest).Alignment = FlexCell.AlignmentEnum.CenterCenter + GrdRFcfg.Column(DevColName.DevTest).Width = 100 + + End Sub + + + +#End Region + +#Region "RF网关组包" + + ''' + ''' 填充RF网关包 + ''' + Private Function FillRFGatewayPackage(address485 As Byte, devType As Byte, devAddress As Byte, cmd As Byte) As Byte() + Dim packetData(5) As Byte + packetData(RFGateway.Address485) = address485 + packetData(RFGateway.DevType) = devType + packetData(RFGateway.DevAddress) = devAddress + packetData(RFGateway.Len) = &H0 + packetData(RFGateway.Cmd) = cmd + + packetData(RFGateway.CheckSum) = GetSumCheckMod(packetData) + + Return packetData + End Function + + + ''' + ''' 填充RF网关包 + ''' + Private Function FillRFGatewayDataPackage(address485 As Byte, devType As Byte, devAddress As Byte, cmd As Byte, databuff() As Byte) As Byte() + Dim packetData(6 + databuff.Length - 1) As Byte + packetData(RFGateway.Address485) = address485 + packetData(RFGateway.DevType) = devType + packetData(RFGateway.DevAddress) = devAddress + packetData(RFGateway.Len) = $"&H{Hex(databuff.Length)}" + packetData(RFGateway.Cmd) = cmd + + Array.Copy(databuff, 0, packetData, RFGateway.Databuff, databuff.Length) + + packetData(RFGateway.CheckSum) = GetSumCheckMod(packetData) + + Return packetData + End Function + + +#End Region + +#Region "RF设备配对" + + + ''' + ''' 设备列表设备总数 + ''' + Public _devCount As Integer = 1 + + + + ''' + ''' 设置RF配对 + ''' + ''' + ''' + Private Sub BtnPairing_Click(sender As Object, e As EventArgs) Handles BtnPairing.Click + 'If CheckConn() = False Then Exit Sub + PairingBtnChange() + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = &H0 + Dim devAddress As Byte = &H0 + + Dim cmd As Byte = &H9 + Dim databuff() As Byte = PairingData() + Console.WriteLine($"配对指令:{ByteToString(databuff)}") + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送 + Console.WriteLine($"设置RF配对数据:{ByteToString(sendPacket)}") + + Timer1.Interval = 2000 * 60 + Timer1.Start() + + End Sub + + + ''' + ''' 配对按键变化 + ''' + Private Sub PairingBtnChange() + If BtnPairing.Text = $"进入配对" Then + BtnPairing.Text = $"退出配对" + BtnPairing.ForeColor = Color.Red + _pairingModel = True + BtnReadRFDevList.Enabled = False + ElseIf BtnPairing.Text = $"退出配对" Then + BtnPairing.Text = $"进入配对" + BtnPairing.ForeColor = Color.Green + _pairingModel = False + BtnReadRFDevList.Enabled = True + End If + End Sub + + + ''' + ''' 配对数据内容 + ''' + ''' + Private Function PairingData() + Dim databuff(0) As Byte + + If BtnPairing.Text = $"进入配对" Then + databuff(0) = &H2 + AppendTipText($"退出配对{vbCrLf}", Color.Green) + ElseIf BtnPairing.Text = $"退出配对" Then + AppendTipText($"进入配对......{vbCrLf}", Color.Green) + databuff(0) = &H1 + Timer1.Stop() + End If + + Return databuff + End Function + + + ''' + ''' 定时检测,若在配对状态,则两分钟继续保持 + ''' + ''' + ''' + Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + 'If CheckConn() = False Then Exit Sub + If BtnPairing.Text = $"退出配对" Then + + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + + 'Dim devType As Byte = $"&H{Hex(NupDevType.Value)}" + 'Dim devAddress As Byte = $"&H{Hex(NupDevAddress.Value)}" + Dim devType As Byte = &H0 + Dim devAddress As Byte = &H0 + Dim cmd As Byte = &H9 + Dim databuff(0) As Byte + databuff(0) = &H3 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + AppendTipText($"保持配对......{vbCrLf}", Color.Green) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) '发送 + 'Console.WriteLine($"设置保持连接数据:{sendPacket}") + + End If + End Sub + + + ''' + ''' 读取RF网络地址 + ''' + ''' + ''' + Private Sub BtnReadRFWifi_Click(sender As Object, e As EventArgs) Handles BtnReadRFWifi.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = &H0 + Dim devAddress As Byte = &H0 + Dim cmd As Byte = &H3 + + Dim sendPacket As Byte() = FillRFGatewayPackage(address485, devType, devAddress, cmd) + AppendTipText($"开始读取RF网络状态......{vbCrLf}", Color.Green) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 读取RF设备网络委托 + ''' + ''' + Delegate Sub delegate_ReadRFWifi_Change(data As Byte) + + + ''' + ''' 读取RF设备网络 + ''' + ''' + Public Sub ReadRFWifi(data As Byte) + If InvokeRequired = True Then + Dim dev As New delegate_ReadRFWifi_Change(AddressOf ReadRFWifi) + Me.Invoke(dev, New Object() {data}) + Else + TboNetworkAddress.Text = $"{data}" + End If + End Sub + + + ''' + ''' 设置RF网络地址 + ''' + ''' + ''' + Private Sub BtnSetRFWifi_Click(sender As Object, e As EventArgs) Handles BtnSetRFWifi.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = &H0 + Dim devAddress As Byte = &H0 + Dim cmd As Byte = &H7 + Dim databuff(0) As Byte + If TboNetworkAddress.Text = Nothing Then + MsgBox($"需要设置的网络地址不能为空!") + Exit Sub + End If + databuff(0) = $"&H{Hex(TboNetworkAddress.Text)}" + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + Console.WriteLine($"设置网络{ByteToString(sendPacket)}") + + End Sub + + + ''' + ''' 读取设备列表在线状态 + ''' + ''' + ''' + Private Sub BtnReadRFDevList_Click(sender As Object, e As EventArgs) Handles BtnReadRFDevList.Click + ReadRFDevList() + End Sub + + + ''' + ''' 读取RF设备列表 + ''' + Private Sub ReadRFDevList() + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + InitRFConfigInfo() + + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = &H0 + Dim devAddress As Byte = &H0 + Dim cmd As Byte = &H5 + + Dim sendPacket As Byte() = FillRFGatewayPackage(address485, devType, devAddress, cmd) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + + ''' + ''' 全部刷新设备列表委托 + ''' + Delegate Sub delegate_DevList_Change() + + + ''' + ''' 刷新设备列表信息 + ''' 全部刷新_委托 + ''' + Public Sub RefreshDeviceList() + _devCount = 1 + If InvokeRequired = True Then + Dim dev As New delegate_DevList_Change(AddressOf RefreshDeviceList) + Me.Invoke(dev, New Object() {}) + Else + For Each key As String In _devList.Keys + GrdRFcfg.AddItem("") + GrdRFcfg.Cell(_devCount, DevColName.DevName).Text = _devList(key).DevName + GrdRFcfg.Cell(_devCount, DevColName.DevType).Text = _devList(key).DevType + GrdRFcfg.Cell(_devCount, DevColName.DevAddr).Text = _devList(key).DevAddr + GrdRFcfg.Cell(_devCount, DevColName.DevState).Text = _devList(key).DevState + 'GrdRFcfg.Cell(_devCount, DevColName.ControlCount).Text = _devList(key).DevControlCount + GrdRFcfg.Cell(_devCount, DevColName.ControlCount).Text = _devList(key).DevControlCount + + _devCount += 1 + Next + End If + End Sub + + + ''' + ''' 局部刷新设备列表委托 + ''' + ''' + ''' + ''' + Delegate Sub delegate_PairingDevList_Change(devName As String, devType As String, devAddr As String) + + + ''' + ''' 刷新设备列表信息 + ''' 局部刷新_委托 + ''' + ''' + ''' + ''' + Public Sub RefreshPairingDeviceList(devName As String, devType As String, devAddr As String) + If InvokeRequired = True Then + Dim dev As New delegate_PairingDevList_Change(AddressOf RefreshPairingDeviceList) + Me.Invoke(dev, New Object() {devName, devType, devAddr}) + Else + GrdRFcfg.AddItem("") + GrdRFcfg.Cell(_devCount, DevColName.DevName).Text = devName + GrdRFcfg.Cell(_devCount, DevColName.DevType).Text = devType + GrdRFcfg.Cell(_devCount, DevColName.DevAddr).Text = devAddr + GrdRFcfg.Cell(_devCount, DevColName.ControlCount).Text = _devList.Item(devName).DevControlCount + + _devCount += 1 + End If + End Sub + + + ''' + ''' 局部刷新设备列表控制委托 + ''' + Delegate Sub delegate_ControlDevList_Change(devType As String, devAddr As String) + + + ''' + ''' 刷新设备列表控制信息 + ''' 局部刷新_委托 + ''' + Public Sub RefreshDevListControl(devType As String, devAddr As String) + Dim valveTxt As String + Dim TxtInfo() As String + Dim temp() As String + Dim tempTxt As String + + If InvokeRequired = True Then + Dim dev As New delegate_ControlDevList_Change(AddressOf RefreshDevListControl) + Me.Invoke(dev, New Object() {devType, devAddr}) + Else + Dim devName As String = DeviceListInfo.GetDevName(devType, devAddr) + Try + For row As Integer = 1 To GrdRFcfg.Rows - 1 + If GrdRFcfg.Cell(row, DevColName.DevType).Text = devType And GrdRFcfg.Cell(row, DevColName.DevAddr).Text = devAddr Then + GrdRFcfg.Cell(row, DevColName.ControlCount).Text = _devList(devName).DevControlCount.ToString + GrdRFcfg.Cell(row, DevColName.ControlInfo).Text = _devList.Item(devName).DevControlInfo + + '开关控制阀门信息 + If GrdRFcfg.Cell(row, DevColName.DevType).Text = "无线温控" Then + valveTxt = _devList.Item(devName).DevControlInfo + 'Console.WriteLine($"原始数据:{valveTxt}") + TxtInfo = valveTxt.Split(",") + 'Console.WriteLine($"切割数据:{TxtInfo(2)}") + BtnTempControlValve.Text = TxtInfo(2) '阀门开关 + + tempTxt = TxtInfo(1) + temp = tempTxt.Split(":") + LblTempControlValue.Text = temp(1) + End If + + Exit For + End If + + _devList(devName).DevControlCount += 1 + Next + Catch ex As Exception + Console.WriteLine($"上报数据:{ex.Message}") + End Try + End If + End Sub + + + ''' + ''' 清空设备列表 + ''' + ''' + ''' + Private Sub BtnClearList_Click(sender As Object, e As EventArgs) Handles BtnClearList.Click + _devList.Clear() + 'ReadRFDevList() + InitRFConfigInfo() + TabRFFunction.SelectedIndex = 0 + + End Sub + + + +#End Region + +#Region "窗体功能模块切换" + + + ''' + ''' 全局设备地址 + ''' 点击后从列表获取 + ''' + Private _DevAddress As String + + + ''' + ''' 初始化功能Page + ''' + Private Sub InitPage() + TabRFFunction.SizeMode = TabSizeMode.Fixed + TabRFFunction.ItemSize = New Size(0, 1) + End Sub + + + ''' + ''' 点击表格刷新Page控件 + ''' + ''' + ''' + Private Sub GrdRFcfg_Click(Sender As Object, e As EventArgs) Handles GrdRFcfg.Click + + If _pairingModel = False Then '配对设备不触发点击事件 + If GrdRFcfg.ActiveCell.Row > 0 Then + Select Case GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 2).Text + Case $"插卡取电" + TabRFFunction.SelectedIndex = 1 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case $"开关面板" + TabRFFunction.SelectedIndex = 2 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case $"无线语音" + TabRFFunction.SelectedIndex = 3 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case $"无线温控" + TabRFFunction.SelectedIndex = 4 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case $"微信锁" + TabRFFunction.SelectedIndex = 5 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case $"电动窗帘" + TabRFFunction.SelectedIndex = 6 + _DevAddress = GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 3).Text + Case Else + TabRFFunction.SelectedIndex = 0 + Console.WriteLine($"当前选择设备为{GrdRFcfg.Cell(GrdRFcfg.ActiveCell.Row, 2).Text}, 未收录此设备类型!") + End Select + End If + End If + End Sub + + + +#End Region + +#End Region + +#Region "RF设备" + + +#Region "回复信息" + + ''' + ''' 回复41 00数据 + ''' + ''' + Public Sub ReplyData(dataBuff As Byte()) + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + Dim data(6) As Byte + Dim addr As Byte = dataBuff(0) + Dim zero As Byte = &H0 + Dim cmd As Byte = &H41 + data(0) = addr + data(1) = zero + data(2) = zero + data(3) = zero + data(4) = &H1 + data(5) = cmd + data(6) = zero + + data(3) = GetSumCheckMod(data) + data = FillPacket(data) '组包 + SendData(data) '发送数据 + 'Console.WriteLine($"回复数据:{ByteToString(data)}") + End Sub + + +#End Region + + +#Region "插卡取电 & RF-CR-1808" + + + ''' + ''' 设置读取扇区标志位 + ''' + Private _rfInsertSector() As String = {$"读取", $"设置"} + + + ''' + ''' 初始化插卡取电信息 + ''' + Private Sub InitInsertCalorie() + CboInsertSet.Items.Clear() + CboInsertSet.Items.AddRange(_rfInsertSector) + CboInsertSet.SelectedIndex = 0 + + End Sub + + + ''' + ''' 设置读取扇区 + ''' + ''' + ''' + Private Sub BtnRFInsertCalorie_Click(sender As Object, e As EventArgs) Handles BtnRFInsertCalorie.Click + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.插卡取电 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H19 + Dim databuff() As Byte = GetSector() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + ''' + ''' 获取扇区值 + ''' + ''' + Private Function GetSector() + Dim rfclear(1) As Byte + If CboInsertSet.Text = _rfInsertSector(0) Then + rfclear(0) = &H0 + ElseIf CboInsertSet.Text = _rfInsertSector(1) Then + rfclear(0) = &H1 + rfclear(1) = $"&H{NudRFSector.Value}" + End If + + Return rfclear + End Function + + + ''' + ''' 插卡取电回复命令 + ''' + Public Sub RFInsertCalorieReplyData() + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.插卡取电 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H18 + Dim databuff(0) As Byte + databuff(0) = &H1 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + + + +#End Region + + +#Region "开关面板 & RF_K9S" + + + ''' + ''' 渐变时间 + ''' + Private _GradientTime() As String = {"立即控制", "250ms", "500ms", "1s", "2s", "3s", "4s", "5s"} + + + ''' + ''' 延时时间 + ''' + Private _DelayTime() As String = {"50ms", "100ms", "150ms", "200ms", "250ms"} + + + + ''' + ''' 初始化选择时间 + ''' + Private Sub InitTime() + '亮灭渐变时间 + ComboBox1.Items.Clear() + ComboBox1.Items.AddRange(_GradientTime) + ComboBox1.SelectedIndex = 0 + + '本地控制延时时间 + ComboBox2.Items.Clear() + ComboBox2.Items.AddRange(_DelayTime) + ComboBox2.SelectedIndex = 0 + + End Sub + + + ''' + ''' 控件点击变化 + ''' + ''' + Private Sub BtnChange(btn As Control) + If btn.Text = $"无" Then + btn.Text = $"亮" + btn.ForeColor = Color.Red + ElseIf btn.Text = $"亮" Then + btn.Text = $"灭" + btn.ForeColor = Color.Green + ElseIf btn.Text = $"灭" Then + btn.Text = $"亮" + btn.ForeColor = Color.Red + End If + End Sub + + + ''' + ''' 控件状态 + ''' + ''' + ''' + Private Function BtnState(btn As Control) As Byte + Dim one As Byte + If btn.Text = $"无" Then + one = &H0 + ElseIf btn.Text = $"亮" Then + one = &H1 + ElseIf btn.Text = $"灭" Then + one = &H2 + End If + Return one + End Function + + + '''' + '''' 设置指示灯 + '''' + '''' + '''' + 'Private Sub BtnSetIndicatorLight_Click(sender As Object, e As EventArgs) Handles BtnSetIndicatorLight.Click + ' _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + ' _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + ' Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + ' Dim devType As Byte = RFDevType.开关面板 + ' Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + ' Dim cmd As Byte = &H6 + ' Dim databuff() As Byte = GetSetLight() + + ' Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + ' sendPacket = FillPacket(sendPacket) '组包 + ' SendData(sendPacket) + + 'End Sub + + + ''' + ''' 获取设置指示灯的值 + ''' + ''' + Private Function GetSetLight() As Byte() + Dim l1 As Byte = BtnState(BtnSwitch1) + Dim l2 As Byte = BtnState(BtnSwitch2) + Dim l3 As Byte = BtnState(BtnSwitch3) + Dim l4 As Byte = BtnState(BtnSwitch4) + Dim l5 As Byte = BtnState(BtnSwitch5) + Dim l6 As Byte = BtnState(BtnSwitch6) + Dim l7 As Byte = BtnState(BtnBacklight) + Dim l8 As Byte = &H0 + + Dim data As New List(Of Byte) + Dim cmd As Byte = &H23 + Dim bit1 As Byte = GetBit(l1, l2, l3, l4) + Dim bit2 As Byte = GetBit(l5, l6, l7, l8) + + data.Add(cmd) + data.Add(bit1) + data.Add(bit2) + + Return data.ToArray + End Function + + + ''' + ''' 设置指示灯bit + ''' 四个Bit的Byte + ''' + ''' + ''' + ''' + ''' + ''' + Private Function GetBit(l1 As Byte, l2 As Byte, l3 As Byte, l4 As Byte) As Byte + Dim bit As Byte + + l4 = l4 << 6 + l3 = l3 << 4 + l2 = l2 << 2 + + bit = l4 Or l3 Or l2 Or l1 + Console.WriteLine($"设置指示灯值:{bit}") + + Return bit + End Function + + + ''' + ''' 获取标志位 + ''' 八个Bit的Byte + ''' + ''' + ''' + ''' + ''' + ''' + ''' + ''' + ''' + ''' + Private Function BitSign(b1 As Byte, b2 As Byte, b3 As Byte, b4 As Byte, b5 As Byte, b6 As Byte, b7 As Byte, b8 As Byte) As Byte + Dim bit As Byte + b8 = b8 << 7 + b7 = b7 << 6 + b6 = b6 << 5 + b5 = b5 << 4 + b4 = b4 << 3 + b3 = b3 << 2 + b2 = b2 << 1 + + bit = b8 Or b7 Or b6 Or b5 Or b4 Or b3 Or b2 Or b1 + + Console.WriteLine($"Bit值:{bit}") + Return bit + End Function + + + ''' + ''' 设置亮灭灯 + ''' + ''' + ''' + Private Sub BtnSetSwitchLights_Click(sender As Object, e As EventArgs) Handles BtnSetSwitchLights.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff() As Byte = GetLightValue() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取亮度值数据 + ''' + ''' + Private Function GetLightValue() + Dim g1 As Byte = &H1 + Dim gg As Byte = &H0 + + Dim cmd As Byte = &H24 + Dim bit As Byte = BitSign(g1, gg, gg, gg, gg, gg, gg, gg) + Dim lightvalue As Byte = $"&H{Hex(NumericUpDown1.Value)}" + Dim zero As Byte = &H0 + + Dim data As New List(Of Byte) + data.Add(cmd) + data.Add(bit) + data.Add(lightvalue) + data.Add(zero) + data.Add(zero) + data.Add(zero) + + Return data.ToArray + End Function + + + ''' + ''' 选择状态 + ''' + ''' + ''' + Private Function CheckBoxState(Cbo As CheckBox) As Byte + Dim one As Byte + If Cbo.Checked = False Then + one = &H0 + ElseIf Cbo.Checked = True Then + one = &H1 + End If + Return one + End Function + + + ''' + ''' 设置亮灭渐变时间 + ''' + ''' + ''' + Private Sub BtnSetGradientTime_Click(sender As Object, e As EventArgs) Handles BtnSetGradientTime.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff() As Byte = GetGradientTimeData() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取渐变时间数据 + ''' + ''' + Private Function GetGradientTimeData() As Byte() + Dim g3 As Byte = &H1 + Dim gg As Byte = &H0 + + Dim cmd As Byte = &H24 + Dim bit As Byte = BitSign(gg, gg, g3, gg, gg, gg, gg, gg) + Dim zero As Byte = &H0 + Dim gtime As Byte = GetGradientTime() + + Dim data As New List(Of Byte) + data.Add(cmd) + data.Add(bit) + data.Add(zero) + data.Add(zero) + data.Add(gtime) + data.Add(zero) + + Return data.ToArray + End Function + + + ''' + ''' 获取渐变时间 + ''' + ''' + Private Function GetGradientTime() As Byte + Dim gtime As Byte + + Select Case ComboBox1.SelectedIndex + Case 0 + gtime = &H0 + Case 1 + gtime = &H1 + Case 2 + gtime = &H2 + Case 3 + gtime = &H3 + Case 4 + gtime = &H4 + Case 5 + gtime = &H5 + Case 6 + gtime = &H6 + Case 7 + gtime = &H7 + End Select + + Return gtime + End Function + + + ''' + ''' 设置本地控制延时时间 + ''' + ''' + ''' + Private Sub BtnSetDelayTime_Click(sender As Object, e As EventArgs) Handles BtnSetDelayTime.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff() As Byte = GetDelayTimeData() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取本地控制延时时间 + ''' + ''' + Private Function GetDelayTimeData() As Byte() + Dim g4 As Byte = &H1 + Dim gg As Byte = &H0 + + Dim cmd As Byte = &H24 + Dim bit As Byte = BitSign(gg, gg, gg, g4, gg, gg, gg, gg) + Dim zero As Byte = &H0 + Dim dtime As Byte = GetDelayTime() + + Dim data As New List(Of Byte) + data.Add(cmd) + data.Add(bit) + data.Add(zero) + data.Add(zero) + data.Add(zero) + data.Add(dtime) + + Return data.ToArray + End Function + + + ''' + ''' 获取延时时间 + ''' + ''' + Private Function GetDelayTime() As Byte + Dim dtime As Byte + + Select Case ComboBox2.SelectedIndex + Case 0 + dtime = &H1 + Case 1 + dtime = &H2 + Case 2 + dtime = &H3 + Case 3 + dtime = &H4 + Case 4 + dtime = &H5 + End Select + + Return dtime + End Function + + + ''' + ''' 本地控制开关 + ''' + Private _switchControl As Boolean = False + + + ''' + ''' 设置本地控制开关 + ''' + ''' + ''' + Private Sub BtnSetLocalControl_Click(sender As Object, e As EventArgs) Handles BtnSetLocalControl.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff() As Byte = GetLocalControl() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取本地控制开关数据 + ''' + ''' + Private Function GetLocalControl() + Dim g5 As Byte + If _switchControl = False Then + _switchControl = True + g5 = &H0 + ElseIf _switchControl = True Then + _switchControl = False + g5 = &H1 + End If + + Dim zero As Byte = &H0 + Dim cmd As Byte = &H24 + Dim bit As Byte = BitSign(zero, zero, zero, zero, g5, zero, zero, zero) + Dim switch As Byte = GetSwitch() + + Dim data As New List(Of Byte) + data.Add(cmd) + data.Add(bit) + data.Add(zero) + data.Add(zero) + data.Add(zero) + data.Add(zero) + data.Add(switch) + + Return data.ToArray + + End Function + + + ''' + ''' 获取本地控制开关 + ''' + ''' + Private Function GetSwitch() + Dim switch As Byte + If BtnSetLocalControl.ForeColor = Color.Green Then + BtnSetLocalControl.ForeColor = Color.Red + switch = &H1 + ElseIf BtnSetLocalControl.ForeColor = Color.Red Then + BtnSetLocalControl.ForeColor = Color.Green + switch = &H0 + End If + Return switch + End Function + + + ''' + ''' 读取指示灯信息 + ''' + ''' + ''' + Private Sub BtnReadLigthInfo_Click(sender As Object, e As EventArgs) Handles BtnReadLigthInfo.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff(1) As Byte + databuff(0) = &H25 + databuff(1) = &H0 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 设置指示灯 + ''' + Private Sub SetIndicatorLight() + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.开关面板 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H41 + Dim databuff() As Byte = GetIndicatorLightData() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + ''' + ''' 获取指示灯数据 + ''' + ''' + Private Function GetIndicatorLightData() As Byte() + Dim btn1 As Byte = BtnState(BtnSwitch1) + Dim btn2 As Byte = BtnState(BtnSwitch2) + Dim btn3 As Byte = BtnState(BtnSwitch3) + Dim btn4 As Byte = BtnState(BtnSwitch4) + + Dim btn5 As Byte = BtnState(BtnSwitch5) + Dim btn6 As Byte = BtnState(BtnSwitch6) + Dim btn7 As Byte = BtnState(BtnBacklight) + Dim zero As Byte = &H0 + + Dim light1 As Byte = GetBit(btn1, btn2, btn3, btn4) + Dim light2 As Byte = GetBit(btn5, btn6, btn7, zero) + Dim light3 As Byte = GetBit(zero, zero, zero, zero) + + Dim data As New List(Of Byte) + data.Add(zero) + data.Add(light1) + data.Add(light2) + data.Add(light3) + + Return data.ToArray + End Function + + + Private Sub BtnSwitch1_Click(sender As Object, e As EventArgs) Handles BtnSwitch1.Click + BtnChange(BtnSwitch1) + BtnState(BtnSwitch1) + Console.WriteLine($"按键1:{BtnState(BtnSwitch1)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnSwitch2_Click(sender As Object, e As EventArgs) Handles BtnSwitch2.Click + BtnChange(BtnSwitch2) + BtnState(BtnSwitch2) + Console.WriteLine($"按键2:{BtnState(BtnSwitch2)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnSwitch3_Click(sender As Object, e As EventArgs) Handles BtnSwitch3.Click + BtnChange(BtnSwitch3) + BtnState(BtnSwitch3) + Console.WriteLine($"按键3:{BtnState(BtnSwitch3)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnSwitch4_Click(sender As Object, e As EventArgs) Handles BtnSwitch4.Click + BtnChange(BtnSwitch4) + BtnState(BtnSwitch4) + Console.WriteLine($"按键4:{BtnState(BtnSwitch4)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnSwitch5_Click(sender As Object, e As EventArgs) Handles BtnSwitch5.Click + BtnChange(BtnSwitch5) + BtnState(BtnSwitch5) + Console.WriteLine($"按键5:{BtnState(BtnSwitch5)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnSwitch6_Click(sender As Object, e As EventArgs) Handles BtnSwitch6.Click + BtnChange(BtnSwitch6) + BtnState(BtnSwitch6) + Console.WriteLine($"按键6:{BtnState(BtnSwitch6)}") + SetIndicatorLight() + End Sub + + + Private Sub BtnBacklight_Click(sender As Object, e As EventArgs) Handles BtnBacklight.Click + BtnChange(BtnBacklight) + BtnState(BtnBacklight) + Console.WriteLine($"背光灯:{BtnState(BtnBacklight)}") + SetIndicatorLight() + End Sub + + + Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged + If CheckBox1.Checked = True Then + Label6.Enabled = False + Label13.Enabled = False + Label14.Enabled = False + NumericUpDown1.Enabled = False + ComboBox1.Enabled = False + ComboBox2.Enabled = False + BtnReadLigthInfo.Enabled = False + BtnSetLocalControl.Enabled = False + BtnSetSwitchLights.Enabled = False + BtnSetGradientTime.Enabled = False + BtnSetDelayTime.Enabled = False + ElseIf CheckBox1.Checked = False Then + Label6.Enabled = True + Label13.Enabled = True + Label14.Enabled = True + NumericUpDown1.Enabled = True + ComboBox1.Enabled = True + ComboBox2.Enabled = True + BtnReadLigthInfo.Enabled = True + BtnSetLocalControl.Enabled = True + BtnSetSwitchLights.Enabled = True + BtnSetGradientTime.Enabled = True + BtnSetDelayTime.Enabled = True + End If + End Sub + + + +#End Region + + +#Region "无线语音 & RF_VC2006" + + + ''' + ''' 语音模块配置下发 + ''' + ''' + ''' + Private Sub BtnForwardingData_Click(sender As Object, e As EventArgs) Handles BtnForwardingData.Click + If String.IsNullOrWhiteSpace(TxtForwardingData.Text) = True Then + MsgBox($"请先输入语音要转发的数据!") + Exit Sub + End If + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.无线语音 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim cmd1 As Byte = &H27 + Dim data() As Byte = FrmRCU.CuttingSendData(TxtForwardingData.Text) + Dim databuff As New List(Of Byte) + databuff.Add(cmd1) + databuff.AddRange(data) + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff.ToArray) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + +#End Region + + +#Region "无线温控 & RF_KP_WKA8T" + + + ''' + ''' 初始化无线温控 + ''' + Private Sub InitTempControl() + LblTempControlValue.ForeColor = Color.Gold + LblDegree.ForeColor = Color.Gold + + BtnTempControlSwitch.ForeColor = Color.Green + BtnTempControlSwitch.Text = $"开" + + LblTempControlHigh.ForeColor = Color.DimGray + LblTempControlCentre.ForeColor = Color.DimGray + LblTempControlLow.ForeColor = Color.DimGray + LblTempControlAuto.ForeColor = Color.DimGray + + LblTempControlCold.ForeColor = Color.DimGray + LblTempControlHot.ForeColor = Color.DimGray + LblTempControlSupply.ForeColor = Color.DimGray + + BtnTempControlAdd.ForeColor = Color.Gray + BtnTempControlMinus.ForeColor = Color.Gray + BtnTempControlVelocity.ForeColor = Color.Gray + BtnTempControlModel.ForeColor = Color.Gray + BtnTempControlValve.ForeColor = Color.Gray + + BtnTempControlAdd.Enabled = False + BtnTempControlMinus.Enabled = False + BtnTempControlVelocity.Enabled = False + BtnTempControlModel.Enabled = False + BtnTempControlValve.Enabled = False + + End Sub + + + ''' + ''' 空调开关控制状态 + ''' + Private Sub TempControlControlState() + If BtnTempControlSwitch.Text = "开" Then + BtnTempControlSwitch.Text = "关" + BtnTempControlSwitch.ForeColor = Color.Red + BtnTempControlAdd.Enabled = True + BtnTempControlMinus.Enabled = True + BtnTempControlVelocity.Enabled = True + BtnTempControlModel.Enabled = True + + BtnTempControlAdd.ForeColor = Color.Green + BtnTempControlMinus.ForeColor = Color.Green + BtnTempControlVelocity.ForeColor = Color.Green + BtnTempControlModel.ForeColor = Color.Green + + LblTempControlHigh.ForeColor = Color.Green + LblTempControlCentre.ForeColor = Color.Red + LblTempControlLow.ForeColor = Color.Red + LblTempControlAuto.ForeColor = Color.Red + + LblTempControlCold.ForeColor = Color.Green + LblTempControlHot.ForeColor = Color.Red + LblTempControlSupply.ForeColor = Color.Red + + ElseIf BtnTempControlSwitch.Text = "关" Then + BtnTempControlSwitch.Text = "开" + BtnTempControlSwitch.ForeColor = Color.Green + BtnTempControlAdd.Enabled = False + BtnTempControlMinus.Enabled = False + BtnTempControlVelocity.Enabled = False + BtnTempControlModel.Enabled = False + + LblTempControlHigh.ForeColor = Color.DimGray + LblTempControlCentre.ForeColor = Color.DimGray + LblTempControlLow.ForeColor = Color.DimGray + LblTempControlAuto.ForeColor = Color.DimGray + + LblTempControlCold.ForeColor = Color.DimGray + LblTempControlHot.ForeColor = Color.DimGray + LblTempControlSupply.ForeColor = Color.DimGray + End If + End Sub + + + ''' + ''' 无线温控风速切换 + ''' + Private Sub TempControlVelocity() + + If LblTempControlHigh.ForeColor = Color.Green Then + LblTempControlHigh.ForeColor = Color.Red + LblTempControlCentre.ForeColor = Color.Green + LblTempControlLow.ForeColor = Color.Red + LblTempControlAuto.ForeColor = Color.Red + + ElseIf LblTempControlCentre.ForeColor = Color.Green Then + LblTempControlHigh.ForeColor = Color.Red + LblTempControlCentre.ForeColor = Color.Red + LblTempControlLow.ForeColor = Color.Green + LblTempControlAuto.ForeColor = Color.Red + + ElseIf LblTempControlLow.ForeColor = Color.Green Then + LblTempControlHigh.ForeColor = Color.Red + LblTempControlCentre.ForeColor = Color.Red + LblTempControlLow.ForeColor = Color.Red + LblTempControlAuto.ForeColor = Color.Green + + ElseIf LblTempControlAuto.ForeColor = Color.Green Then + LblTempControlHigh.ForeColor = Color.Green + LblTempControlCentre.ForeColor = Color.Red + LblTempControlLow.ForeColor = Color.Red + LblTempControlAuto.ForeColor = Color.Red + + End If + End Sub + + + ''' + ''' 无线温控模式切换 + ''' + Private Sub TempControlModel() + If LblTempControlCold.ForeColor = Color.Green Then + LblTempControlCold.ForeColor = Color.Red + LblTempControlHot.ForeColor = Color.Green + LblTempControlSupply.ForeColor = Color.Red + + ElseIf LblTempControlHot.ForeColor = Color.Green Then + LblTempControlCold.ForeColor = Color.Red + LblTempControlHot.ForeColor = Color.Red + LblTempControlSupply.ForeColor = Color.Green + + ElseIf LblTempControlSupply.ForeColor = Color.Green Then + LblTempControlCold.ForeColor = Color.Green + LblTempControlHot.ForeColor = Color.Red + LblTempControlSupply.ForeColor = Color.Red + + End If + End Sub + + + ''' + ''' 无线温控 + ''' + Private Sub TempControl() + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.无线温控 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H41 + Dim databuff() As Byte = TempControlDataBit() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取温控数据位 + ''' + ''' + Private Function TempControlDataBit() As Byte() + Dim dataL As Byte = $"&H{Hex(LblTempControlValue.Text)}" + Dim dataH As Byte = DataHighBit() + + Dim databuff(2) As Byte + databuff(0) = &H0 + databuff(1) = dataL + databuff(2) = dataH + + Return databuff + End Function + + + ''' + ''' 温控数据高位Bit + ''' + ''' + Private Function DataHighBit() + Dim valveBit As Byte = ValveData() + Dim velocityBit As Byte = VelocityData() + Dim modelBit As Byte = ModelData() + Dim switchBit As Byte = SwitchData() + + Dim dataH As Byte = GetBit(valveBit, velocityBit, modelBit, switchBit) + + Return dataH + End Function + + + ''' + ''' 获取阀门开关 + ''' + ''' + Private Function ValveData() + Dim valvesBit As Byte + If BtnTempControlValve.Text = $"关阀" Then + valvesBit = &H2 + ElseIf BtnTempControlValve.Text = $"开阀" Then + valvesBit = &H1 + End If + + Return valvesBit + End Function + + + ''' + ''' 获取风速数据 + ''' + ''' + Private Function VelocityData() + Dim velocityBit As Byte + If LblTempControlHigh.ForeColor = Color.Green Then + velocityBit = &H3 + ElseIf LblTempControlCentre.ForeColor = Color.Green Then + velocityBit = &H2 + ElseIf LblTempControlLow.ForeColor = Color.Green Then + velocityBit = &H1 + ElseIf LblTempControlAuto.ForeColor = Color.Green Then + velocityBit = &H0 + End If + + Return velocityBit + End Function + + + ''' + ''' 获取模式数据 + ''' + ''' + Private Function ModelData() + Dim modelBit As Byte + If LblTempControlCold.ForeColor = Color.Green Then + modelBit = &H1 + ElseIf LblTempControlHot.ForeColor = Color.Green Then + modelBit = &H2 + ElseIf LblTempControlSupply.ForeColor = Color.Green Then + modelBit = &H3 + End If + + Return modelBit + End Function + + + ''' + ''' 获取开关数据 + ''' + ''' + Private Function SwitchData() + Dim switchBit As Byte + If BtnTempControlSwitch.Text = $"关" Then + switchBit = &H1 + ElseIf BtnTempControlSwitch.Text = $"开" Then + switchBit = &H2 + End If + + Return switchBit + End Function + + + ''' + ''' 无线温控加温度 + ''' + ''' + ''' + Private Sub BtnTempControlAdd_Click(sender As Object, e As EventArgs) Handles BtnTempControlAdd.Click + If LblTempControlValue.Text >= "16" AndAlso LblTempControlValue.Text <= "32" Then + LblTempControlValue.Text = CStr(CInt(LblTempControlValue.Text) + 1) + End If + + TempControl() + End Sub + + + ''' + ''' 无线温控减温度 + ''' + ''' + ''' + Private Sub BtnTempControlMinus_Click(sender As Object, e As EventArgs) Handles BtnTempControlMinus.Click + If LblTempControlValue.Text >= "16" AndAlso LblTempControlValue.Text <= "32" Then + LblTempControlValue.Text = CStr(CInt(LblTempControlValue.Text) - 1) + End If + + TempControl() + End Sub + + + ''' + ''' 无线温控开关 + ''' + ''' + ''' + Private Sub BtnTempControlSwitch_Click(sender As Object, e As EventArgs) Handles BtnTempControlSwitch.Click + If BtnTempControlSwitch.Text = "开" Then + TempControlControlState() + TempControl() + ElseIf BtnTempControlSwitch.Text = "关" Then + TempControl() + TempControlControlState() + + End If + End Sub + + + ''' + ''' 无线温控风速 + ''' + ''' + ''' + Private Sub BtnTempControlVelocity_Click(sender As Object, e As EventArgs) Handles BtnTempControlVelocity.Click + TempControlVelocity() + TempControl() + End Sub + + + ''' + ''' 无线温控模式 + ''' + ''' + ''' + Private Sub BtnTempControlModel_Click(sender As Object, e As EventArgs) Handles BtnTempControlModel.Click + TempControlModel() + TempControl() + End Sub + + + ''' + ''' 无线温控阀门 + ''' + ''' + ''' + Private Sub BtnTempControlValve_Click(sender As Object, e As EventArgs) Handles BtnTempControlValve.Click + 'TempControlValve() + TempControl() + End Sub + + + ''' + ''' 设置温差 + ''' + ''' + ''' + Private Sub BtnSetTemperatureDiff_Click(sender As Object, e As EventArgs) Handles BtnSetTemperatureDiff.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.无线温控 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff(2) As Byte + databuff(0) = &H29 + databuff(1) = &H1 + databuff(2) = $"&H{Hex(NudTempDiffValue.Value)}" + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + + ''' + ''' 读取温控器设置 + ''' + ''' + ''' + Private Sub BtnReadThermostatSettings_Click(sender As Object, e As EventArgs) Handles BtnReadThermostatSettings.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.无线温控 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff(1) As Byte + databuff(0) = &H2A + databuff(1) = &H0 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + + + + + +#End Region + + +#Region "微信锁 & RF_RL1705" + + ''' + ''' 是否设置 + ''' + Private Sub IsSet() + CboIsSet.Checked = True + BtnSetWeChat.Enabled = False + + End Sub + + + ''' + ''' 是否设置唤醒时间 + ''' + ''' + ''' + Private Sub CboIsSet_CheckedChanged(sender As Object, e As EventArgs) Handles CboIsSet.CheckedChanged + If CboIsSet.Checked = True Then + BtnSetWeChat.Enabled = False + ElseIf CboIsSet.Checked = False Then + BtnSetWeChat.Enabled = True + End If + End Sub + + + ''' + ''' 设置的唤醒时间 + ''' + Private _setTime() As String = {"2s", "4s", "8s", "16s", "32s"} + + + Private Sub InitInfoWeChat() + CboSetTime.Items.Clear() + CboSetTime.Items.AddRange(_setTime) + CboSetTime.SelectedIndex = 0 + + End Sub + + + ''' + ''' 微信锁设置唤醒时间命令 + ''' + ''' + ''' + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles BtnSetWeChat.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.微信锁 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff() As Byte = GetTime() + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 获取唤醒时间 + ''' + ''' + Private Function GetTime() As Byte() + Dim databuff(1) As Byte + databuff(0) = &H30 + + Select Case CboSetTime.SelectedIndex + Case 0 + databuff(1) = &H1 + Case 1 + databuff(1) = &H2 + Case 2 + databuff(1) = &H3 + Case 3 + databuff(1) = &H4 + Case 4 + databuff(1) = &H5 + End Select + + Return databuff + End Function + + + ''' + ''' 微信锁开锁控制命令 + ''' + ''' + ''' + Private Sub BtnOpenLock_Click(sender As Object, e As EventArgs) Handles BtnOpenLock.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.微信锁 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff(1) As Byte + databuff(0) = &H31 + databuff(1) = &H1 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + + End Sub + + + ''' + ''' 微信锁状态读取命令 + ''' + ''' + ''' + Private Sub BtnReadLockState_Click(sender As Object, e As EventArgs) Handles BtnReadLockState.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.微信锁 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim databuff(1) As Byte + databuff(0) = &H32 + databuff(1) = &H1 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + +#End Region + + +#Region "电动窗帘 & RF_EC2012" + + + ''' + ''' 窗帘开启 + ''' + ''' + ''' + Private Sub BtnCurtainStart_Click(sender As Object, e As EventArgs) Handles BtnCurtainStart.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + BtnCurtainStart.ForeColor = Color.Green + BtnCurtainStop.ForeColor = Color.Black + BtnCurtainClose.ForeColor = Color.Black + + Dim data() As Byte = {&H55, &HAA, &HAA, &H55, &H30, &H22, &H2, &HA, &HA, &H0, &H0, &H0, &H1, &H1, &H0, &H1, &H1, &H1, &H0, &H0, &H0, &H0} + CurtainSendData(data) + End Sub + + + ''' + ''' 窗帘停止 + ''' + ''' + ''' + Private Sub BtnCurtainStop_Click(sender As Object, e As EventArgs) Handles BtnCurtainStop.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + BtnCurtainStart.ForeColor = Color.Black + BtnCurtainStop.ForeColor = Color.Green + BtnCurtainClose.ForeColor = Color.Black + + Dim data() As Byte = {&H55, &HAA, &HAA, &H55, &H31, &H22, &H2, &HA, &HA, &H0, &H0, &H0, &H1, &H2, &H0, &H1, &H1, &H1, &H0, &H0, &H0, &H0} + CurtainSendData(data) + + End Sub + + + ''' + ''' 窗帘关闭 + ''' + ''' + ''' + Private Sub BtnCurtainClose_Click(sender As Object, e As EventArgs) Handles BtnCurtainClose.Click + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + BtnCurtainStart.ForeColor = Color.Black + BtnCurtainStop.ForeColor = Color.Black + BtnCurtainClose.ForeColor = Color.Green + + Dim data() As Byte = {&H55, &HAA, &HAA, &H55, &H2F, &H22, &H2, &HA, &HA, &H0, &H0, &H0, &H1, &H0, &H0, &H1, &H1, &H1, &H0, &H0, &H0, &H0} + CurtainSendData(data) + + End Sub + + + + ''' + ''' 电动窗帘转发数据 + ''' + ''' + ''' + Private Sub BtnCurtainData_Click(sender As Object, e As EventArgs) Handles BtnCurtainData.Click + If String.IsNullOrWhiteSpace(TxtCurtainData.Text) = True Then + MsgBox($"请先输入电动窗帘要转发的数据!") + Exit Sub + End If + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim data() As Byte = FrmRCU.CuttingSendData(TxtCurtainData.Text) + CurtainSendData(data) + + End Sub + + + ''' + ''' 窗帘发送数据 + ''' + Private Sub CurtainSendData(data() As Byte) + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devType As Byte = RFDevType.电动窗帘 + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim cmd1 As Byte = $"&H{Hex(TextBox1.Text)}" + Dim databuff As New List(Of Byte) + databuff.Add(cmd1) + databuff.AddRange(data) + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, databuff.ToArray) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + + + +#End Region + + +#Region "设备通讯测试" + + + ''' + ''' 一键测试 + ''' + ''' + ''' + Private Sub BtnAKeyTest_Click(sender As Object, e As EventArgs) Handles BtnAKeyTest.Click + Dim devType As Byte + Dim devAddress As Byte + If GrdRFcfg.Rows > 1 Then + AppendTipText($"开始一键通讯测试信息......{vbCrLf}", Color.Green) + For i = 1 To GrdRFcfg.Rows - 1 + devType = GetDevType(GrdRFcfg.Cell(i, DevColName.DevType).Text) + devAddress = $"&H{Hex(GrdRFcfg.Cell(i, DevColName.DevAddr).Text)}" + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim cmd As Byte = &H6 + Dim data(0) As Byte + data(0) = &H6 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, data) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + PauseWait(10000) + Next + Else + MsgBox($"请先刷新设备列表!") + End If + End Sub + + + ''' + ''' 获取设备类型 + ''' + ''' + ''' + Private Function GetDevType(txt As String) As Byte + Dim devType As Byte + Select Case txt + Case $"插卡取电" + devType = &H5 + Case $"开关面板" + devType = &H7 + Case $"无线语音" + devType = &H8 + Case $"无线温控" + devType = &H9 + Case $"微信锁" + devType = &HA + Case $"电动窗帘" + devType = &HB + End Select + + Return devType + End Function + + + + ''' + ''' 设备通讯测试_插卡取电 + ''' + ''' + ''' + Private Sub BtnCommTestInsertCard_Click(sender As Object, e As EventArgs) Handles BtnCommTestInsertCard.Click + Dim devType As Byte = RFDevType.插卡取电 + DevCommTest(devType) + End Sub + + ''' + ''' 设备通讯测试_开关面板 + ''' + ''' + ''' + Private Sub BtnCommTestSwitch_Click(sender As Object, e As EventArgs) Handles BtnCommTestSwitch.Click + Dim devType As Byte = RFDevType.开关面板 + DevCommTest(devType) + End Sub + + + ''' + ''' 设备通讯测试_无线语音 + ''' + ''' + ''' + Private Sub BtnCommTestVoice_Click(sender As Object, e As EventArgs) Handles BtnCommTestVoice.Click + Dim devType As Byte = RFDevType.无线语音 + DevCommTest(devType) + End Sub + + + ''' + ''' 设备通讯测试_无线温控 + ''' + ''' + ''' + Private Sub BtnCommTestTemp_Click(sender As Object, e As EventArgs) Handles BtnCommTestTemp.Click + Dim devType As Byte = RFDevType.无线温控 + DevCommTest(devType) + End Sub + + + ''' + ''' 设备通讯测试_微信锁 + ''' + ''' + ''' + Private Sub BtnCommTestWeChat_Click(sender As Object, e As EventArgs) Handles BtnCommTestWeChat.Click + Dim devType As Byte = RFDevType.微信锁 + DevCommTest(devType) + End Sub + + + ''' + ''' 网关通讯测试_电动窗帘 + ''' + ''' + ''' + Private Sub BtnCommTestCurtain_Click(sender As Object, e As EventArgs) Handles BtnCommTestCurtain.Click + Dim devType As Byte = RFDevType.电动窗帘 + DevCommTest(devType) + End Sub + + + ''' + ''' 设备通讯测试 + ''' + ''' + Private Sub DevCommTest(devType As Byte) + _port485 = $"&H{Hex(FrmRCU.NudSerialAppPort.Value)}" + _timeouts = $"&H{Hex(FrmRCU.NudTimeOut3.Value)}" + Dim address485 As Byte = $"&H{Hex(Nup485DialAddr.Value)}" + Dim devAddress As Byte = $"&H{Hex(_DevAddress)}" + Dim cmd As Byte = &H6 + Dim data(0) As Byte + data(0) = &H6 + + Dim sendPacket As Byte() = FillRFGatewayDataPackage(address485, devType, devAddress, cmd, data) + AppendTipText($"开始询问通讯测试信息......{vbCrLf}", Color.Green) + sendPacket = FillPacket(sendPacket) '组包 + SendData(sendPacket) + End Sub + + + ''' + ''' 刷新通讯测试信息 + ''' + ''' + ''' + ''' + Delegate Sub delegate_CommTest_Refresh(devType As String, devAddr As String, TestValue As String) + + + ''' + ''' 刷新通讯测试信息_委托 + ''' + ''' + ''' + ''' + Public Sub RefreshCommTest(devType As String, devAddr As String, TestValue As String) + If InvokeRequired = True Then + Dim dev As New delegate_CommTest_Refresh(AddressOf RefreshCommTest) + Me.Invoke(dev, New Object() {devType, devAddr, TestValue}) + Else + Dim devName As String = DeviceListInfo.GetDevName(devType, devAddr) + Dim txtColor As Color = GetCommTestTextColor(TestValue) + Dim txtValue As String = $"{TestValue}%" + + Select Case devType + Case $"插卡取电" + LblCommTestInsertCard.ForeColor = txtColor + LblCommTestInsertCard.Text = $"通讯成功率 {TestValue}%" + Case $"开关面板" + LblCommTestSwitch.ForeColor = txtColor + LblCommTestSwitch.Text = $"通讯成功率 {TestValue}%" + Case $"无线语音" + LblCommTestVoice.ForeColor = txtColor + LblCommTestVoice.Text = $"通讯成功率 {TestValue}%" + Case $"无线温控" + LblCommTestTemp.ForeColor = txtColor + LblCommTestTemp.Text = $"通讯成功率 {TestValue}%" + Case $"微信锁" + LblCommTestWeChat.ForeColor = txtColor + LblCommTestWeChat.Text = $"通讯成功率 {TestValue}%" + Case $"电动窗帘" + LblCommTestCurtain.ForeColor = txtColor + LblCommTestCurtain.Text = $"通讯成功率 {TestValue}%" + Case Else + Console.WriteLine($"未知设备:{TestValue} %") + End Select + Try + For row As Integer = 1 To GrdRFcfg.Rows - 1 + If GrdRFcfg.Cell(row, DevColName.DevType).Text = devType And GrdRFcfg.Cell(row, DevColName.DevAddr).Text = devAddr Then + GrdRFcfg.Cell(row, DevColName.DevTest).ForeColor = txtColor + GrdRFcfg.Cell(row, DevColName.DevTest).Text = txtValue + End If + Next + Catch ex As Exception + MsgBox($"测试失败!原因:{ex.Message}") + End Try + End If + End Sub + + + ''' + ''' 获取通讯测试文本颜色 + ''' + ''' + ''' + Private Function GetCommTestTextColor(devName As String) As Color + Dim txtColor As Color + If devName >= $"80" Then + txtColor = Color.Green + ElseIf devName >= $"40" And devName < $"80" Then + txtColor = Color.Yellow + ElseIf devName < $"40" Then + txtColor = Color.Red + End If + Return txtColor + End Function + + + + + +#End Region + + + + +#End Region + +#Region "添加记录" + + ''' + ''' 添加记录 + ''' + ''' + ''' + Private Sub AppendTipText(recordString As String, col As Color) + FrmRCU.AppendTipText(recordString, col) + + 'If InvokeRequired Then + ' Invoke(New Action(Sub() + ' FrmRCU.AppendTipText(recordString, col) + ' End Sub)) + 'Else + ' FrmRCU.AppendTipText(recordString, col) + 'End If + End Sub + + Private Sub FrmRFFunction_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + My.Settings.CurtainsCMD = TextBox1.Text + My.Settings.CurtainsData = TxtCurtainData.Text + End Sub + + + + + + + + + + + + + + + + + + + + + +#End Region + + +End Class \ No newline at end of file diff --git a/RCU-10/RCU/IModuleForm.vb b/RCU-10/RCU/IModuleForm.vb new file mode 100644 index 0000000..87100da --- /dev/null +++ b/RCU-10/RCU/IModuleForm.vb @@ -0,0 +1,9 @@ +Public Interface IModuleForm + + ''' + ''' 显示窗体接口 + ''' + ''' + Sub ShowForm(parentControl As Control) + +End Interface diff --git a/RCU-10/RCU/LoginForm1.Designer.vb b/RCU-10/RCU/LoginForm1.Designer.vb new file mode 100644 index 0000000..a5614f5 --- /dev/null +++ b/RCU-10/RCU/LoginForm1.Designer.vb @@ -0,0 +1,129 @@ + _ + _ +Partial Class LoginForm1 + Inherits System.Windows.Forms.Form + + 'Form 重写 Dispose,以清理组件列表。 + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox + Friend WithEvents UsernameLabel As System.Windows.Forms.Label + Friend WithEvents PasswordLabel As System.Windows.Forms.Label + Friend WithEvents UsernameTextBox As System.Windows.Forms.TextBox + Friend WithEvents PasswordTextBox As System.Windows.Forms.TextBox + Friend WithEvents OK As System.Windows.Forms.Button + Friend WithEvents Cancel As System.Windows.Forms.Button + + 'Windows 窗体设计器所必需的 + Private components As System.ComponentModel.IContainer + + '注意: 以下过程是 Windows 窗体设计器所必需的 + '可以使用 Windows 窗体设计器修改它。 + '不要使用代码编辑器修改它。 + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(LoginForm1)) + Me.LogoPictureBox = New System.Windows.Forms.PictureBox + Me.UsernameLabel = New System.Windows.Forms.Label + Me.PasswordLabel = New System.Windows.Forms.Label + Me.UsernameTextBox = New System.Windows.Forms.TextBox + Me.PasswordTextBox = New System.Windows.Forms.TextBox + Me.OK = New System.Windows.Forms.Button + Me.Cancel = New System.Windows.Forms.Button + CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'LogoPictureBox + ' + Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image) + Me.LogoPictureBox.Location = New System.Drawing.Point(0, 0) + Me.LogoPictureBox.Name = "LogoPictureBox" + Me.LogoPictureBox.Size = New System.Drawing.Size(165, 193) + Me.LogoPictureBox.TabIndex = 0 + Me.LogoPictureBox.TabStop = False + ' + 'UsernameLabel + ' + Me.UsernameLabel.Location = New System.Drawing.Point(172, 24) + Me.UsernameLabel.Name = "UsernameLabel" + Me.UsernameLabel.Size = New System.Drawing.Size(220, 23) + Me.UsernameLabel.TabIndex = 0 + Me.UsernameLabel.Text = "用户名(&U)" + Me.UsernameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'PasswordLabel + ' + Me.PasswordLabel.Location = New System.Drawing.Point(172, 81) + Me.PasswordLabel.Name = "PasswordLabel" + Me.PasswordLabel.Size = New System.Drawing.Size(220, 23) + Me.PasswordLabel.TabIndex = 2 + Me.PasswordLabel.Text = "密码(&P)" + Me.PasswordLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'UsernameTextBox + ' + Me.UsernameTextBox.Location = New System.Drawing.Point(174, 44) + Me.UsernameTextBox.Name = "UsernameTextBox" + Me.UsernameTextBox.Size = New System.Drawing.Size(220, 20) + Me.UsernameTextBox.TabIndex = 1 + ' + 'PasswordTextBox + ' + Me.PasswordTextBox.Location = New System.Drawing.Point(174, 101) + Me.PasswordTextBox.Name = "PasswordTextBox" + Me.PasswordTextBox.PasswordChar = Microsoft.VisualBasic.ChrW(42) + Me.PasswordTextBox.Size = New System.Drawing.Size(220, 20) + Me.PasswordTextBox.TabIndex = 3 + ' + '确定 + ' + Me.OK.Location = New System.Drawing.Point(197, 161) + Me.OK.Name = "OK" + Me.OK.Size = New System.Drawing.Size(94, 23) + Me.OK.TabIndex = 4 + Me.OK.Text = "确定(&O)" + ' + '取消 + ' + Me.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel + Me.Cancel.Location = New System.Drawing.Point(300, 161) + Me.Cancel.Name = "Cancel" + Me.Cancel.Size = New System.Drawing.Size(94, 23) + Me.Cancel.TabIndex = 5 + Me.Cancel.Text = "取消(&C)" + ' + 'LoginForm1 + ' + Me.AcceptButton = Me.OK + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.CancelButton = Me.Cancel + Me.ClientSize = New System.Drawing.Size(401, 192) + Me.Controls.Add(Me.Cancel) + Me.Controls.Add(Me.OK) + Me.Controls.Add(Me.PasswordTextBox) + Me.Controls.Add(Me.UsernameTextBox) + Me.Controls.Add(Me.PasswordLabel) + Me.Controls.Add(Me.UsernameLabel) + Me.Controls.Add(Me.LogoPictureBox) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog + Me.MaximizeBox = False + Me.MinimizeBox = False + Me.Name = "LoginForm1" + Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide + Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent + Me.Text = "LoginForm1" + CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + +End Class diff --git a/RCU-10/RCU/LoginForm1.resx b/RCU-10/RCU/LoginForm1.resx new file mode 100644 index 0000000..fba861c --- /dev/null +++ b/RCU-10/RCU/LoginForm1.resx @@ -0,0 +1,790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Assembly + + + + + iVBORw0KGgoAAAANSUhEUgAAAXIAAADBCAYAAADSDTtmAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALEwAA + CxMBAJqcGAAAlvxJREFUeF7tXQV8FNfeDRbHNZ5ggQQJ7u5OW6BU0EKhtDjFihSo0VLcneIUd3dpgbr7 + 1/fa2egG92G/c2bnhpthdhPee21JMrx3frvZpJGZ2bNnzz3/c7P5zvdVPPDPcd/h4aHizj3gDj6+g4/x + f4/7/KQE3FUvqB53D97lf9YWuA7c1sEHCX4Xfjci5bs48I//kfUv9RHIli2bZ86cuf7v4495KB/+99VX + dz22bLnlYbP97nH3brKLw3ff4969ZA9VvebhcNzzuH+fpyH14XY47nv8/PMgntERD860x03cvwXw9oZ+ + y49xFWjgN9LOJU4f/1vrn3UErCPwuB0BErmAzxwfxWcWMA1400fxft1b8Z4IjNfxGm6Jsd5Kjmo5+AIw + BSgHlALCgGJAQSAP4At4AbmAHEB2IBu53ELqY8DjAzJXPvnkjinWrr2htG+fpFSt+qlSseIRFzikREdv + UsqUWa5ERi5WSpWaB8w1YA7P2Z/AM0AnoD3QHKgPVAWigAggECikn0cfcQ6t82Zdu9Y18HheAx4ykfvO + 81U0Mp8BvAsinwLSJplP0Il8nE7kIHOv/l5K9ojsJIa+QDRQEggFigIFJDL3tMjc/clPi8g3bbqhdOyY + fiIvXXpReoi8s4HIq+nnsbhF5I/nk9UiUeu8uLoGPHwXPFDkJHWfuSDx2cB04B2Q+SSdzE1UuWdnTyVb + 7mwk82a6miuB2xCdzPPjNjdARUcyz0nCAixVbnhXwhc6WCsuFfmWLTf/AyI3qvG5SsmSs3mu/gCeBQSR + t8B9KvI0idw6dxaRWC8mj+c18BCRa2QuWyxvGSwWocphr9BiydkwJ8lhNhADlAX41jwIKALkA/wBb5KV + TuaWxfIwkfv5+Pi5JPJt2/5XRD6D5+p3EyJvgMeqA7TJ+GLM8/eQtWIR+eP5JLbI1TovTiI3qPIUMp8J + Vf6eicUieeVew7yUHGU1v3wYUAGIBMIB4bPmxX0/wPLLXawP4NgUyJu3oEsi3779Zjo88oNKVNQGzSN3 + WisPK/ISJd7jefr1EYmcax1incN6N2Wt8VhrXI/hNfCAyI1kTr/clcViUOWez8Jiya9ZLFw8Kw+UBswW + P2W/3CIF/YLAsQouVizELZG3a5ekVKnyiZvFzgMakUdGLgORLzQl8uLF3+I5+iGdRF4YXycWrS0ifwyf + vJYSt5S4uAY8fBfqitxEmWt+OVMs75ukWCRV7j0GFksjzWJZAFQBxOKnO7/cslgeEHmZEiWi3ForrVsn + gsgvuiTyChX2g8jXuSXy8PDXeY6+MiHyhnishm6tcNGa1opF5BZ5W+o7g1wDbok8lcXCFMtkk4VP3Sv3 + GgqLJVKzWIYClQD65UxACFLIh/uWX25yYeC4VKtYsZbbxc4WLUjkF1wQ+WGFRF627Fq3RB4aOobn5xOJ + yDvgfktAEDnfTZHIgy0it9SepfgzzjXg4bsIityNKtciicJiedtk4VMncqpyzy6wWPw1i4VJiIqA8MsD + cF8sntFztSwWidBxPJrVq9fGJZEzftikCYn8vBsi3wsi/0An8gWm1kpw8FCem7MWkWecJ6hFpta5Ss81 + 4CTyNMg8JcXChc83DNlyfUCIRK5ZLLU1i+V9gAMmYlhIzpcbI4lZ3mLBcXq6bdtuLol8zZobSsOGCUrl + yh+7JfIyZVaByJfCIzcn8sDAfjw3RyQi55oGX3SFIuf5sqyVDPJ2Oj1PcOtrssYLgYfvYonIZWUuTXym + WCwcFDJmy7nwKalybVAoWBsU6g1UBjgtyEgb365bkURza2VAt27DXBL5smXXlbp1SeTnXBJ5+fJ7kFhZ + 6ZbIixbtxvOy24TIzeKHlkduEbrlkWeQa8BJ5Okg81QLnyJbLiY+Dao8V6tcJIw1ABfQYoAyQDggj35b + FsuDxc4JQ4dOdUnkc+deU2rXtoHIz7oh8l06kS+BIp9vaq0ULvwkz8umdBK5bIVZqZUM8oS2FHjWUODG + 8+wk8iUGMhcJFuPUJweFmC03LnwKVa7bK94j0cXizJaP0i0WLqKxj8WyWMwV+bw33/zAJZG/++5VpVat + fyuVKp1y2bNSrtwOEPkKrWfFFZEXKNCc52TFIxJ5StcK/jsrMmoRuqXSH8NrwOmRk8iXuiBz2WKRFz6N + E5+yKh+NhU+O73unjO8zkmhmsViDQs5CyC2LFx92SeQTJlxRatb8FUR+0g2Rb0shcvPCrLlKnjy1SORz + TIjcGtF/DJ+clrrOmur6PznvztIsqnISeTrIPMVi4cKnHEc0qnKQeY4qmip/y8RiYYpFbknM0l0sOBZn + d+z43iWRDx16SalR4wcXRH4Y5H4QzYebJSJ/eKqTk55+fuV4Pt4E2H5olWZZ5G2p60xyDXgwkaKpckHk + gszdDQrRYhGlWnLVrVGVd4Mqz6ep8qd0i8WYYhHFWlm2i4XrBkWLBivnz99wSeQvvJCsVKv2jRITc8JE + kZPID6RU2LoazyeRe3mF8FyM0YncqrHNJE/i/0TBWf9N5lL7Hpzc1FQ5CXyZDlotxkii3FsuJj7lHha2 + IxqI3HsU4oi1tDjiTKA2wBSLKNaSu1iM3eVZxovF8ahVpUp9lyTOjvLOne0g8i9A5MdMidw51bne7TBQ + yZKzlBw5cvNcDAC6AoLI2VxZT3+hFX3k4h0To6LiRTa79eTPXE9+63xmnvPpoXWPg5g1e4VEviKdFovo + LWcc0ajKxaIniNyrt5eSrZCmylmdWh0QxVqii4Xd5SJbnuUaEqmOO3bs5ZLIz5y5rXA8n5tKxMQcdUHk + HAZa7XYYSB/P/xo/r5tO5HyX1A4gkdcFuI7BF9lwgEQuzotF5JZytyyYx/wa8NB6VDC5qU13UpWTyGUy + d5Ut58KnvptQypCQK1VeV1Pl84A6OmGkZ+EzS6hyHI9xgwa95ZLId+y4qQ0DcarTnMgPKeXL74Y/7n4Y + KChoIM/BKYnIn8R9btVnRuTc6cki8sf8yWsp6syjqP/bc+nBmlpGCjV7hZYKSXylRObuLBajKhe5cg4I + UZVjwZP2ilefFFX+PAiiJhADiGy5q4XPLDHxieOw4v33t7gk8sWLr6dkyB8mcvrjh5QH0UPXGfKiRZ8j + ke8EeA6eBkjkbYCm+gssbS9xTrjLE9cv2I3D+mFuCmJZKxaxW8r8Mb0GnETOhUux6LkcJL5KJ3NaLbRc + XC18yqpcbAtnVOUgcs0rr5Oiyvk2XozvcxxcNCTmk4gjSwyg4O/NkT17DmXr1q9dEvmkSYwe/obEymkX + C50HQeRb04weFijQgkS+UiLyJ3Qib6ITOYvO2I1Dy8si8sf0CfvfKjfrv8+cKt6Dwz2avSIvepLIiXRY + LCl7fAqvnKpcjiLqRK555c7OckbfagGiITEc980mPjUVCGRaiwV/W3RkZEW3C50vvXRJqV7ddfSQC53O + TZdXuNxQgokVf//KogPnOV2Rk8hbA4318xGD29KAGNriCytz/iIammnPg0VumZPcstJ5dRL5NN1egcLW + FDgJ/AOJzN2lWIQqN+bKmWCR7BVNldfQVPkMgCkJ7hFpnPgkechVt5l6j0/8rZ3atHkuHYmVL11GDytU + 2KslVpw7A5lvKOGMHgaL6CGJvAvQEWgFNAJod3ERmtO3fIckOnEsIreUuWWnZIBrwIMlWBqRM71Ce4U2 + Cu0VEvlqnczNLBY5jii8clFzS3vFRJV7Po9cua+mykkiruKIYlcaoQQzrSrHMXDbsXLy5G2lWTPW135i + Ej10+uMsy0qrvjYi4g0le3YvHve+gNh4Oa0ucm7RJ/pw+O7IUuQZ4AmdlVSo9bc+eCflwQ5xjcjpkzO9 + wn4VpldorazRyZyLn3zM1cKnUZVPBJGTzMWip26vUJXnqKhNe3K6kGPhIo4o97BkGVWOv3/TwoUHXCry + VauuK3XqxGv1te4XOtl66HqhMyjoFR7zk0B3ichFhS2bD/nuyGzjZWu/Tou8LUWeAa4Bj+wlsmukqxG5 + 8MlppehE7rfWz6nOabcYFz6NqpzfQ3SwyIueenqFRO75lCdJZS9Ab5ZxRLMhoUyvyvF3hwcHF1eOHYtz + SeQTJzoXOitXPuOCyDnRuSXNhc7ChTvxmG/WiZxrFK6mOrmjk7xeYRVmZYAnsaVMLY8fz1uPN3O1yeW0 + Vkjk9MmpvEncUOR+6/0UjcxJ7OlR5WxGnAQ17mLRk2TOFw/83FezsirH396hRYsubv3x3r2TsdD5nYvW + Q27vti9dC51589bh8Z4PpHcYiD041lSnReKWGs8g1wCJvGb2gOyK10gv54APpzyFTw6PXCNyQLNZ0qPK + kYB5aECIi56SvZKrudZXvi4rq3L87a8PG/aeWyJv2zZJH803dqzI/rjYp9N8VyAudHp7R/B4jwfSkyHn + MJDowGGGnFFQK0OeQZ7QljrPmuqcRJ4PGJuzWU4nkYsFT90n14h8o07msio36SzXmhHZVy6iiC7sFa+X + UgaEekmq3FWCRZBJpkqw4O/etWLFSbf7dNarx4nOiy4WOg9ioXNnmrsChYdPxEKnZmf1Acyih1x0jgGY + IZejh9YwkEXeliLPINcAiZx+dIVsBbMpXiOgyknk0oKn3zqQ+CYdtFjSUuXcqBmLp1rFrZtFz5zVU6KI + 9MpJJnKuXJ72FD5tppkuxN9atWLFWsrFi7fTGAT6XdsVyGyh05kfT9sfDwh4gSR+COihEzmjh0ysWNHD + DPIktVR21lTZj3LeSeTMCjNq9mrOplDltFZI5Pq4Pv1xjcg/TKcqF1FE46KnwV7xfFpTiURzQOTKxea/ + xixzypg4vjbDx+DwNwzo3n24W1ule3f6499r/nhqInfaKsyPp2cQSJ/oXIWf6SqxwuQQ3w1xypb7qsp7 + dTICmqneCT3Kk8P6WotAM8o1QCJnux0XtsqzpZBDPBqRi8EgLniSyLfoZJ6WKhdRRC56shWRi56i3lZK + r2iLnhHaoucIgEMpYtpT9H3IxU2ZKj2Bv3XVjBnbXBL5uXO3lRYt2Hj4uckgkPDHdyM/vsZt4yH9cV/f + siLuKRY6XdXXWokVS6FbVkoGvQZI5FRdzAvTYhnLjZO1xU6ZyOmRk8gJ3E9JsLjoYNHG9rnoyf4V2V4x + EHnOhpq9shIQDXzsYIkGSkjq0DiYkqEHhPB3lYuMjFFOnEhwSeQLFnCz5Vi98fC4oWPFuZFEuXLbJX/c + fLPl8PBJ6CD35zFmBzkXOtlD7q710LS+NjO8C8ooysr6Pa13Af/JNUAiZyqB1gUtlipMsPhMhr0imhCZ + XNmgk/g23G7W44j0yt0NCHHRU570FCP7UnrFs2fKvp7sxm4IcFS8ImAsb5KjcBn6rT7+thefe26wW1vl + lVe4tdvPJv64sFUYO/wwza3dihXrTRI/APQE5IVOth6yLEusTVhlWRlUif0nT3rrv8l8LxYkci4iksxp + X5Aw38zVCapcdJOLCCLV+HaAZA6rRVPlJHtXqpyLnuxfke0Vg0+uTXqW1iY9xwGsUxUbHIidalyWaWXU + ixF/46qZM13bKtwRqF07xg6/0vboNPPHOZYfFbVO71dZpNBCMUP+/I15bJcBaS10lsbXuCrLsqKHFslb + lstjfg2QyKlwZVXeJHspqHKmV6i6ZSLfARLfqatzeuXsYKEqN4si6vt6aplyN/ZKrqZapnwt0ALguLir + sX2+Y8jQi57822Ji6ihnz152qchXrOBYvogdmuXHaavs0DeSWIaiLHf58eI8thMBLnTKGy7Lx1osMJst + dFodK4/5EzijChrr9/7fvisgkdNzFqpcLHwu8XzR05zId+vKnF45O1hcje2LRU85U27SvaLV23prRVrc + 1d1VFNG4HVyGtFfw97360ksT3doqgwZdwlj+r7BVzhny47Ktslm3VZZAic8zVeMhIcNwTLXjyqy+u4lO + s3c/mWpx2SKN/y1pWMfz8TueJPJsEpmLhc9nc9bM6bRPhCKnNw417r/HX/EjmcNq0doRacG4W/QU9ooY + DjKxV7KX1NIrtFfkjYDFomcQHjdG4jJcphx/Q948efIrq1addkvkTlvla5exQ6etwtpa9/3jhQp15DHd + BPQExESn2ExC3hVI7NNpur0brw/rifv4PXGtc2KdE/kakIlcWCxU5UHZ/BBFRHQwpW9FEPlef8V/H8ic + NgtH98Wipzt7RQwHiWpbacFT6yl3pleYdW4JNATkRU/h3cpbj2W4HYTwNz3RsmVXtyQ+f/41re3QOc0p + 2ypU4+xW2a+nVbg/p3tbxc+vPI/pu4Dsj3fEx/IgEBeWzfxxa3s3y1KxfPEMdA2QyEnghLBXRIJlfK6n + cmmFWdqYPhc7qchB4v4HACpzkLum2l1tByfsFXk4iPaKIYbInnL8fIKbAQu1aNzVnUVOjEhmyLf9+L3n + vfnmB26JvG/fZD2t4spW4RCQSKu4tlVCQ8diLN9XxA7d+ePGQSCrgzwDPXktVW6pcnENkMjZDc4nO1Vw + PoCKnAuLjXNE5lD8VuhETkUOFe5PRX7ISeZaioWLnu7sFaZXxHCQO3slSLNXhgCc9GRXuejIlicOH8qU + Z4SLGX9LjUqV6rrNjh89ektp3jwRtsqXLmwVdqvswhDQ2jTTKoULd+ax3ApY/rhFzJayzgLXgMf0eqWU + F6KKKTWL5lb8cmpkuhxgxSzV8Vbv4d5KSt8KiFtT5CRyYjfInIueadkrHA4S1bYmeXLNXqmm2StzAPHW + n5OeMYCrjLPWygc89h4ufsfxQ4a841aNv/76FaVWrT9hq1wwsVU4kk9bZZs+BOTeVvH3j+GxnAYIW+Vp + 3DfbbNlsipYv5Bnm2GaEF3Lrd7SU8199DXjcHdRYuTugnnL3xZrK953KKRsahiujyxdRmgf62wp65bic + PTj7Dc8enpcxpZkIe8VG8s59ILeS72A+p1fORU+mVxhDFBtNCL+cH9NeQde595t6DNGFT56rvRZD3AVw + WEXOlHMxLgJgpjzD2Sv4nUsXL15W2br1G7dE3qmTXetWcZZkHZOmOR/uVomMXOwyOx4aOlq2VUjkrrZ2 + 4x6dVn48C6i1v5pErO//z79Qedwb3lq5O7ipcvelusrdvjWUu70qK3e7V1DuPB9t+6ZtyYS5tQLUPpXz + q1WK+6jZ82VTUXZ11WeSjz3/5vxxuffltmkDQh+AzOmTSzsGafe5SQVutXpcYwzR4JN79UcM0UeLyzHv + nGnsFfwtQ/r0GeuWxBctuq7UrZuAbpVPDUNA8iLnDm1vzrQ2WZbSKrKtYtwRyLi1m1kq6LF/p2MRyD9P + INY5eDzOgce9cZ2VeyPbKfeGNIMyr68p87u9qzjJ/Lkom61T6Ru/PV9a/alHKXV92xD11TqF1CZl/dV8 + RXOp3p29r2GT5WSQeBxg852rwUngErgXaCqf3GTBUyrRGiPZK/TtM6y9gt89LCgoQlm37nyaOwE5R/I/ + ghqXu1VkNS6y40sxBGTerWIoyeqJn+8qdmi2kMyp3gy5kGyRyeNBJtZ5+OfOg8e9yd2Ue+O7KPdGdVDu + DW2u3B3YSLnbv45y94Vqyp0eFW3JXcte/v2Z0uqvPUurP4LMvwe+615K3doxTB1Tr4jaFKSet1BONVfb + XFe9XvGy+84Cmc/WQVIHNCJnR3ka4/o5a2k++ULJXuGenhmWdPC7D+jRY4RbEt+y5abSpAkXOb8wLHI6 + 1TgLsrjI6RzJX4HYoWtbxbnJsvauprfkj3fBfWP/eIZ9cbTI4p8jC+vYP77H3uPeGz2Ue68/q2jKfFR7 + 5d7wVsrdQU00q+VO3xq26z0qJf75dBn1j96R6m+9oMx7gsxB5N92L61+1a2U+tnzJdW1bYLVQdULqjWK + +6rZ82RTcz2Z6zIihgkaoZPYgZQ2RFFra7BWqMhzddR88r0Ad3g32itsRHQ1HPTY2QBCja9efS7Ngqya + Nf9Pbzo8IXWryJOc3EBiZZrZ8fz5m4jFamGrmG20nGnSQBaxPL7EYp2bv/fceNx77SlFw5gnnET+ahvl + 3rCWIHPnIuidF2vaYp+tcOvP3lHqny9Eqv/Xu7T6C9T5Dz1Kg8wj1S9B5p8+V1K98EwJ9eOnS6izGweo + z5TPqxYP8FQx6HPNqx9U+kyNyG0+U3xs3uO9bVo/OYl8pA59QMjrRS8FeQmSEVWkGA6qgfsZbmEOv/Og + 3r1HuyXx/ftvab3jnOSsXPmMtMgp1Dgjh7uhxjekqcYjIqYonp4BPHajAdlWYW1tplpAtkji7yUJ63g/ + /sfbQ1vg5ELnyw2ctgrVOMH7eOzOS3VtST2rXf2zd0X1z37lVKVvGfXfIPRfe0WqP/cso5N5SfXTZ0uq + 50Hk57oUV890Lq5ubhOqjqhRSK1dwlfNWTnnzVxP57rkPdY7DiRuw+YVNihwm/erIHJCEDpuszvz5Nxs + QlSt0l7hNnAZJirH37VEiWhl48ZP3RL58OGXETn8tzbJmbrp8IEad0YOxSTnQpdplSJFuvK47QCoxkVa + xWirZJpIp0Uujz+5WOfo7ztHHnGdIxV7lzLKtWfKcnETi5zlnckVeOQayQNXelWz/9mzkvrnSxVVpX95 + 1da3LNR5WfVfAMn8O6jzL2CxfApVrpE5iJxkfrJThHrsqQj1zXpF1bZlc6v5C+RUsZ3cZSjveBC4zXuE + BJ3Uc1TQam1nSPaKu2rbx3JxDr/72IED33BL4ocO3VJatUpE5PBbQ+TQqMY3plmQxUVOP79yYiQ/PWmV + DD9kZZHE30cS1rF+/I+1x9ftSijftS+p/NShlPLbE6WUP58qrcSD3JOffkDuN5+Liv+zK8j7RSjy/uVU + W79oNbYvEQUyj1J/gTrnAuiXsFg+A5lfkMj8BIicZH74yXB1VqNiapfovGpQ4Vxqjno5rnj19ErwHgYy + J4Y7ST1XY80n3wB0NNgrGWKcHL9z7SpVGih79/6aDjX+B9T4J27U+PZ0RQ4DA/vxmB2V1LhxE4lMWXtg + EczjTzDWOfp7zpHHhdbFlYvAp22KK5+3KaF81dZJ7D92KKn8CmL/95OlFVunSNsvHUvd/KVbac1WoRq3 + 9YnSyNzWJ1pX5qW1RdCvYbF81rWEehFk/lHnEpoyJ5kffTJCPdQxXD3YIVxd0ChAfa5cXjWsiKeao3aO + q17dHxC6ZydPGwjpBMBdgzhdympb2RIwboDwWBU84XedPmHCYrckvnev0xt/oMZF5FBW43tSNleOjFzi + NnKYN28dEvkCncjlTZaZVsm0RWQWSfw9JGEd58f/OHucb1VcESCpE5/oxP4FSF0o9s/blrh68akSWlLl + ux6RWPAsq/7eK0r944VokHsUEi3wzBFN/AGf/wbK/Aso809A5h93cZI5bZajT0SoB0Hm+9uHq3vbhakL + Ggeqz0bnA6FDodeFQu/tFe/V18uGXURJ5iQkQUTsXhH7eXLK87HcW5IvPq1bP6ucP38jzaRKrVr/SsMb + l9W4612AQkKGY1/O3CTyQUBPQOzNyRfCdkCmrQa2CObxJxjrHP095ygVkcukzvuyWv+oZfHk420i1DMg + 5/PPQHVjSOirbmWQK4/CsBC98kj1RyhyEvkPzz8g80+hzknmZ0nmVOYkc6jyfSDyPcDONmHqnIbF1M5R + edSiBeGhN855OXuh7HEgIPa9cLMJqvJGANMrtFeMGzM/Fj45fq/ggIBQZcGC/W5JfMOGG0rTpiKpwnF8 + oxpnbny3pMbdDwDlz9+UJL7SYKtwkbMj0Fp/RyP25hTd4/IL4WNx/Kwn/N/zhLeOc+Y8zm6JXCb2c60i + Eg62CFOPIpVyvEtJ9fTTpdSPu0aqnzxbRv3suTJY7HQueH4NNf6dDirzL3WrRfjmp54qrh6TyHw3iHxH + 61B1GzC1blG1dancqr93dhUEtB3gru9U5cyUc9HTmF5hG6K8Bdw/lifH7zGif/8Jbkmc+3H27p2MHYB+ + SzOp8mAc37UaZ11trlyFSeR80TPLjmf67fMsYsqcxGSd10c7r+km8o9bFbftbxKmHnqiuHoE3vexziXV + k0+XhkKPVM+B0M91La1+9Exx9TwUOD1yWisk8a8A3n/gmxdXT8EvP9YRnjksln1tw1RB5ltB5luAMZUK + qXWL+F4HOe0BOLLPKKJRlXM4qBDAjnLR2Jfjn7gA8POb1KnTStm//3e3RD5nzjWlfv0EbWPlh3Pjh6Qp + zgdJFXfj+AUKtCaJrzGocbnpMEtsaP1PnHPrZz4a0VjH6689Xh4gaEWG0V6RPz7SNPzGoQ4g8k4l1aOd + S0GZl1ZPdIlUTwInuvBj2CddYL/ARuFCJ1U4rRWSuMDFp4urH+Pzp0Hmx0Hmh2Gz7G8XrpH5dpA4yfzD + piHqhnrBN18pU8AeldcrCUS1FCBByao8BB8XBfLpqtwTt3/7ZsF8MSlQoIjy/vub01TjnTvbtY0jqlQ5 + r1XVxsQc1VsO5U4VTnGuSrNzPCxsnBgA4gsd1bhxAwmzRc4w/ZhxtyV2q6S8AOL+P/ZuxnqS/7VPcuv4 + Zv7j63GmRYRytmWE8pEEV8R+vFn4lYNtI6DIdSLvTAIvo4GkfgQEfbhTuHqEJA0//FSn4po3To+cKRYu + fhIXQfgf43Nn8HUnYbMYyXxLCyjzBiG3dzYKtS+oEZDUKSxPUgHPHIkgm7EAvXLu/F4cYLXtQ6qcpPR3 + ERN+zrC+fcelSeJjx15WateORcPh53qniqiqFSS+X+9UEVOc7pMqBQtqanytTuI9cSsKsjjJyXUFLnLy + hU8sEhvXFnzxOfHilyF63S1CyvyEZJ3j/+wce+xrHKYcbhqmHGsWrpxsHq6c1on9nE7sMqmfaB6RfLAV + Fiyhxo91Lq0e14n8ZJey2v3DnUqoB0HkB5EZP/REuJYdZ4aciRWqdA4KfQwSvwCcB5GTzM/y8yDzIx0i + 1ANCmbfSiPzuLhD5joah9m0NQ5LGly+cWKuwbwLIZ7FOVGLhjqqcClN45WI/z7+cnPAzWzVs2D5NS4XF + WM64IfvG2XBoVOMHsXEEt3Fjw6HoVHE9xRkWNtZMjcu94/LmHK6mYq1FTquL3No9KJNcAx6b6gcrH9YP + UUCWyu5GocqBJk5iPw5SJ7FTsQtSP9U8PHF/CyhuEPlRicRPdonSVDktlwNPhasHQOIHdciEzjz5aSx2 + ngWBf4RbErkg81Mgc/rmB+Cb74Fvvr1RiLqncdglqvLtIPLtDUISV9cNSugekS8+wCdnPEh0IFAKCAaK + APkAqkzmyknmtFk0Mv8r1Dl/dlhYKWX+/L1pqvFevbjA+bs+/HPKtBirXDnGDbmNm2g4nOdyHL9AgRZU + 4x8Y1DgXho2RQ7kgi1aUOE7yAvFf/oJnqaz/TGVZx806bum9BjzW1wtWiI2AIHWoYQUEqhjV+qnmEXF7 + moaBsEHkneiPl4UnHqWjrKbUBZEfQF5cgKQuCJ2DQScALnjSWjkHcieozAWZHySZNw1VDzQJvby3SZgd + yjxpZ8OQRLzYJGxtEJLweoXC8bUL+zKiOB3gsJC88CksA0Hm3Fj6f0pW+ovEW6++OiNNEp8y5Yq2aQT3 + 4nTu/nNcJ3KnpeKsqRVxw7QbDkNCRiCpUohEPlwncjEAJCKHVOMcojKLHBp3WNJe7NJ7sVhfZxGLdQ08 + nteAx+o6QcqausHKWmAdQFLHQqNLUoc6vrOvY0nYKJGwU0DknaPUU12iNTI/CrvlAGwUKnKZyB8idHz+ + KNQ3FztJ3lz4JKkTgswPNccLRtOwq4eahtn3NQlL2tMoNHGHTuZ4oYlfUTso7pnwvLHYji4WZMS6Vmaj + hV9OMudCHj3g/7k6x/fs37Xry8rFi7fdEvmOHTeVNm2SsMD5A0j8Y5cLnOXKbU0ZxXfXN85OlXz5GpDE + l6ShxjlAVR1g7p7vWuRpWH98LN618EXOWuTMJG+vLZJ9PEn27zgvHitrBymrQOaEGanLSh1qmGR/c1ub + EureJyPVQ53KwiuPhjLXiRwq/SDskv3wxvdLitxI6pzu5FDQYdwehTdOQqdPLkhdI/NW4erJFuHXTjQL + t8PqSUoh80ZU5aHxm+uHxMESih0ZXSi2Yn5vToKyvpWEJcichEUfWCbz/1qd4/u1rV+/jbJjx/dpqnFa + KpzgdG7hRkvFbIFzp1RTy+GfBS4tlcDAlzDF6Usif9mFGhcDQGyMrAzI+53KL3LWIqdF3pY/nomuAY/l + tYIUAgpXcUXqQqWT1FfUDry+ulmEurl9aXVnxzLqgSej1MNPlYPVEg3LBR/D+973RJhG5DJSkTlI/IAO + 2ihMrciETlI/0SZchT9/Hf68/WTzCPuRZuFJB5uEJe5pHJqABdB4vKjEbW4QEksyn1UtwNY6KLcNZjhJ + jpYCSSsfwIidUZ2nkPmjqlF8fZXSpSsoCxceSJPEx4+/otSpIzLjtFTkBU5hqbBP5UNpgdP18E/JkrOU + 3Lmr8O+bmU41zg53MzVuRQ4z0RP471B71s94/JV+CpELQjeS+ge69UL7hdbL8tqBV1c2DlfXtS2lbmxX + Rt3aoay6+4loqPBokHoZdc+TxfFxmLoXW8Ht6+DEQ4ROEgeBy5AJnYuex51EfgM5djvJ/FSLiCQkaxIP + Ng1L2Ns4LH5nw9A4Qeab6ofYiN4l8ivFfLTt4ugXc2GvAMCBof9anVPtMy8+efKKNEl85crrekrFaak8 + 3DXuTKmwa7xs2dXpWuAsUuRZ/l27AG7jJnLjTKoYvXFLjVtEbantLHYNmBK5TOpGlb6sVtClpQ3D1LVt + S2Mz5jLqpnZloc6j1S3to9TtHSJB7MWBUHVH+1B1d3v0qehknorQZSJH5JCxQ0HqnPbUFDqI/ETz8FsX + QOQk849aRSSB2BORpkmA1RKPhdg4KPO4bU5VrhE50zejyhVSyufDTkMeHoMBRhON6lxOtaTLatGV/duD + B7+dJomfPn1b4eCPcwyfFbX/vaUSHj5R8fEpwb9psk7i3DjCrBxLeOOWGs9iT2RLNT/+qvmvPEcec6oF + aNZKWqD1Qh99Sa3A5EX1QtTVbSJB5mWhyqNA5tHqhyByKvQ1GBha0zZY3dgmRN3aFoTezknoe42EDsJm + C6JG4jLwGNX5IUx6HmsWduvjlk4iP9+6eNLHrSISMbyUgFhkvCBzKPPYrQ01EtfInMmbaVWKKo2K+ZH4 + 3gK4s1BhgFlzqnNG7+SF0DStFnz9qJ49X02TxNml0r//JQz+/KkN/jjH8F2lVNJnqXCBU48brjJR4ywV + Exsri6SK5Y1bJG4p8ix2DXgU8c6p1Cjko3QNz6u8Vq6wAsXtltQX1wxMml8nRF3VOlJd06YsVHm0ugHY + CDKnQv8ADYnLWgWpK1oGqWtbBaubQOjbTAidJK4BJE4YyfwAsuRIrdymrYLmRTsGk5JA6InnW0ckCDJH + ZUDc/sZhsSRzJFlSVDnJHF6+8mRoHiVXdm1XeU44Up0zfseiLTOrxTRzjq8d8OSTfZRjx2LTJPIJE64o + 9erRF+cenK4Hfx6kVNLOjAcGDlBy5swr3mGIbdzExhHyFGc9/K7MjbtKqljeeBZ7cv+VCtD63o/XOwA8 + 7z36AW8D64CzJXN7Ki0D/ZVBZQoq86o/rNaX1AxMmFMrWF3ZGuq7TZSGdQAJnQp9Zevi6mIQ+dIWgerS + 5kHqShD6utbB6oc6oe+EOtcUOsAqW0HkRjLfD2sF0cM78MaTz7YAmcNaoSInSOb4OJ659qNNw2M1Mm8U + asPip2avkMgFepXIpyCiSCJkN3exR7FaaGO0bNlV2bXrpzRJfP78a0qzZpze/EHrUnG9B+d2pFTW6764 + +5RKiRLvKv7+MfzdmZcnifcEugGMW1KNtwfYqcJCMebpOcUpJl7l+gJrHN8icUulZ+JrgEROgiMh8C16 + R4CDJtxt5mCoXy6leYC/MhikvrBGoKbUl9YMip9dAwTdqqy6qlWU+kFrJ5kTa6HQV7QuoS4EeS9qHqgu + aUYydxL6By2D1fWtQ7Apc4i6HXbLLr2PnGTOBkQjoe9vC5XeJOwuEivJqA2wQ4UnQZ1rZE4iPw8ih1KP + A5nHamTeJMxGMucwk5HMB5UpoITjb8HfRF+ZBMeFUGG1iFSLcYDoWY7fb9r0eZokzhH89u2ZF2chFjdS + duWL79J7xsXgj+uUCi2VQoU68nfeBIgFTnrjxm3c5E4VdtBwP065UMzKjWfiJ7CljB8vZfxPnQ8SOYmg + ua7smENmZawgd47BzyGpl4JSfyIkD+2XuNnVgzQSFyCZr9YJfXmrEur8FkHqfJD4wqaB6iLcCkJfBkJf + A7tlIwh9axv458BukPhewEjmMpGDrO1nQOIEyJyqXCNyWC1xIPNYjcybhbNm14YpUMVI5oxNjsUiKJoU + SYwvAZwEpdUiUi1G37xr3bqtlTVrPkqTxE+duq107WpPyYu79sUZNWSXirPZ0Dn443oMPyhokLFrvKf+ + QsRR/E76iy/7xhsCNYEYgOsB4QCHo8QUp6XGLSK31HgmvwZI5PRWmXYgIXDBjB3WJHeSBMe9BbFTqS/z + y5k9tmohX3VQjQh1UYsyDxH6spYl1Xkg8rlNA9T5IPIFOpkvltS5ZrdAoW9uBf8cZM5dgtivQjJPRehN + wu5RkZPIocqTCCjzRG5yATKPR6IlDmQeew5kjs/ZSObsimG9AAaGUilzkvnkikWUygW8SebDAKFajb75 + c3XqtFQ++OBMmiTOxc0XXkjWFjerVftCH8E35sVF1JDTm2t0S4XNhq4Hf5yWSmX+njMAV3FDvug2ARg3 + rAJEAaLh0NipIorErCnOTP6E/qcUofVz/9l3BiRykgAXyVgPS5+VxEBybwDQeyVZyMTePUeuHFdrNKtx + q2rxomrPymHqe41LpxD60lYl1blQ3nNA5HOaBKjzABL6Q+q8GdR5C6jzllDn6CDnLkHsJE+lzkHkbFwk + kQsyZwSRRE6PHAugGpHjNvYjbHxBMmeLo0zmwisnkRPvVi6q1CrsQ5JkJS4nQWXfvDeUuG3VqtM2knRa + GDToEoZ+4tOxuCn74svckjgtlYIF2/H32yCRuGypcIFT7MUpxw0j8Tj7xvn38J0Gh6FEw2FKgZj1hPtn + n3DW8beO/19xDZDIqeTorTJ7HAMwvkZyZ1cH37KT2Jn6ILFTsbfKkSOH/c01b9r7Tex3ucmTTW6UDS2s + Pl0xRH2rQSl1actSIPJgdbZO5CTzuTqZy+pcs1uawmsHoa8DoWvqHGS+S1bnjUM1Iudkp0zkTK3AYtGI + nCROIJ5ow2M2tjWSzGGzKMiZa8pcJnP2yMysWkypX0QbdZ+gkx+tiIENGrSLXb36nA0dKhrcEfmoUZe1 + hEr16t+6GPo5hKGffSjE4gg+d/xJny8eGNgPKZV84l1DWgucnGI1ixsymSM3QVqdKpYSt+yVTHwNkMi5 + Kz3fknORjKqOqQeSO2NsFQEmIbg5AYmdir1etmzZkt7f8n7Su5veTXp7/dv2oe8NvdTquVbXS4UUVjuU + K6aOrFMERB6ozm4coEGQeSp1js8vbgL/HLfLmkCdg/w36eqcVgvV+T4QOTaz0IhcI3NYK1Tkgsi52CnI + nEROcIMMmcxR8vWQxUIyn4NETsOiWtZ8EjC+RYun4zZu/DT2woVbsYLIXZE5Y4YNG5LEv5cSKuYbRURH + b9JIPD2+OAd/fH3L8nd6BzCzVJ7A47S6xBZuPC98EZZH8Y27/1hqPBM/gf8KdWd9z4z3roFEzhQHF//o + GdNqCNfJncRe2kDsMSR1EHni3L1zE2ftnJU4fft0jdSnbpyaNHL2yOS6z9W9XjTAS21eJrc6ulbhVGQu + Wy0LQOKLAI3MgaUg8w+aBasbZKulUeg9qOtkFmcJIod9korISeZc8BREzq3pSObcIAOeuVbFK5M57RUS + Oftj3q9SzBbh73mlXbseV1GCFXfhwk3gllsyZy1tkyaJWqOh+4QKq2nF4qYzL+5u/01ns2FDkvgyicRl + S0V0jXNhmu+OaIXxfKS1wGmpcYvILTWeya8BEjkX+zjGzgUyJjnosZLcuWGDIHZuqyYUe/kcOXMkLD66 + OGHhoYUJ8w/MT5yzZ46T1LdNTxq8enBSsTHFknM1ynU9oGgutV1UHnVy3aKaKhfQlDnIe0FjeOfAIkCQ + eYrVAkIHAd873DQ8GWRuJ5lTkZPIkV7RrBWdxDUi5+bQBImcuxqRzPH1GpnvbRyqbZwhYokk89nVisW1 + Ccp9re/zA9Xd279WT55MvOokctdk/tZbV01I3GxykwmVLVKPivvFTZJ44cKdQeLa8NKLgGypMKVizIzT + UknvAuf/tIvdUmsZT61Z5yzznzMSOcfWCfqq+QAulJHYOdYuEzsVOxfTory8veJXnVsVv+L0ioSlx5dq + pL7g0ILEefvmJY7cMjIxeGZwkvco7yTP5zyTc9bIeaNUkJf6XIV86izdZtGsFtyfDwInFjZykvlindCX + wzun1fJh/eB78LqTMcFpJ5ljND+JuxSRyGGvuCRyQebc2YhkjuZEjcxFLPHNmCKJ4UWKqiMGjFfPH1fU + j44p6vHDf6inTiVdcUXmb755xda0KZX4j5ISf5jEnWVYTKiI3X7cD/2QxAMD+4uoIat4BYnLG0aYWSrG + CU55gdMT38eyVDK5CrMIOvMTdHrPMYmcyQYujBEcHmHawYzYhWKP9s/nH7fhsw1xay+ujV99frVG6stP + LU9YcmxJwvg94xOCFwQneo/zTvQa4pXkNcgrKVenXJdzxuS8WT3CVx1YraBTmYPI5zbSyRxEbiRzzTev + E3RvV8PQZJA5OsnD7SjM0oj8dItwjcgRO6Qaf0iRk8hlMueWddy+DhW4CvrL7ZXLlFPfGjdHI3GBc27I + fPLky7YmTRJssFNsziKs01KHypGUnX5Eo2FU1Do9ZsiEiuu9N0nioaFj4YtHUolPBcwGf0RKxZWlYjbB + acUNLRK37JQsdA2QyPmkJ6ji2AzITg5B7hyUkYmdC2nlCwcUjt3y7Za4D7/+MG7Tl5viNny6IW7NxTXx + H3z8QfzkI5Pjg5YHJXhP8U7wHumd6D0ChD7UK9FrMAi9Za4rBQvlVNuUzaO+CbuFRK6ROYicWCArc6hz + 9L7chR2SzH07SebsJMfip0bkZ1qEa0SuI5W1IhM5LRaQPpIsYcqA0vkvtarfQl0888NUJC6T+TFNmdsv + C2U+fvyl2MaN42Nr1PgeJH7BhqlN24MiLEHiIitujBm6n9xkXjxPnpok8UUGEhfNhmLwR4zhi5SKWWac + L8KiT8VS41noSZxe1WZ9XeZV8CRyLoYRfPIT7oidZFE1rFRY7K6fd8Xu/HFn7Pbvt6eQ+sbPN8a9dfqt + +IDVAfHe73jHQ5UneI+RCH2YV6LnC7BbauW8Hh3krfaNKaAR+byGD5P5IpD60lqBd9GDnoz4oF0n8yQU + aSWi3lYjconMtRy58MgFkQtVvqFucDxKwa716tJH3bn+nHpBUuKyKv8Yj5899qd6FGR++nTypZEj7XEN + GsTG1ajxXSz6U2LRnwISPwYcsVWsaEbiG1KUeFpbtkmthnJevCeOr9ylwtoEMfjDCKhZSsWyVCzSttR3 + Fr8GSOTaLvM6uDBGuCP2ulFVo2z7/rXPtvf/9tp2/7pbI/UdP+yI3fbdtth3LrwTV2xjsTifaT5x3q+D + zCfqhD4WhD4KGA6FPtgrMWeLnJdz58uhti6VW32zTtGHybwhFkBrBt5ZXTcoGfuJ2knmyIVruwQdbRam + VdmSyFGoRVWuETkhkzjvv1e5qL1CiVLquKFvagR+8YSiXgBkAjeS+Zmjf6r9+v6k1qnzr+Rq1b6Jq1z5 + fFylSidiY2KOAiTxw8BBQt8ggkqcJO7Miqc1fi8WN7Nl0/pfXgHc+eIcxhKDP4yDMiIaDhj3KOU7KstS + yeJPaEt1Z17V7e7cPvRKbkLssmInUbSq2aym7RD+d+DPA7b9/95v2/v7Xtue3/bE7vplV+zUz6bGFtpa + KNZnpk+cz5vAFOB1nweEDoXuNdwrwbOPZ2KuLrnsOSrluF4x2FsdWLlgajJvoBH5bXSgJ6+pG2TXyTwJ + nnniAewSBKsknmROIgdSiJyJFRI4pjtjX44scLlto9bqkhkb1U9A3iRxAVdkfnzfn+pLPX5WG9T6Tq1S + +ZQKPzwJ27TFVax4NA4kHgsSB0jiB2wVKuyxlSv3gMTTkxUniRcr1hNDP/lJ4mJxU+z4I9fTcnqTvnhD + gINZotmQCSLGRbkYnQ+wLBWLvC1FnsWvgTQvABO1/kyLri2UI3FHlMOxh23830HloO3AHwc0lf72V2/b + 8u/IH+sz1yfWZyrwjoHQJ3jHe40Ckff3TPDs7Zno2c0zMWeDnFeKFsypdkZUcZ7ul8+vjyQLiHwliBzb + zdlJ5thqLglJlkQUYyWg4jaeZM4qWxI5pzp1e4WTm0klihZVB/UeoR7c+jlI3KbDQOYGi2Xz6n+rPbr8 + pDat/ZXaoPoptXql/Wr58jvUihUPJYDA4ypUOAhCPwgiPxDrJPFtNlTS2uSBn7Sy4kFBLyteXsEk8SmA + cXFTLsQSvrjoUonG18vNhmLwR2wwbfniWfzJbKnxrKnGed7TJHL54tBJ/eWnX35aOZZ4TDmWcEw5Gn/U + SeogdKr0Sd9Msvnv8rf5zPex+bwPIp8GvCsR+mRYLq+BzAd4xXu+CDLvBYDMc7XLlZwjKsfNhsX91Um1 + i6rz62lEfgs7EyVDldtJ5mvrBiVhkCdxc4PghN2NwrBLUHgcFj/jkC3XiBy58/iXShe40rJuM3X22ysl + AhdEztvUqlz45Qun/652afuj2qTW5yDxE2rdKvvVOpV3qVUqbFPLldt5rUKFA/EAyHwfsCcWJB7rJPEV + wDJbegZ+QkKGY8u2UiTxaQYSF4ub8o4/7LgRvjijhhzOEl0qxmZDy1KxSPyRnssW6Wcu0n/kkw8ymTBg + ygDleNJxDUZCH/3NaJv/bn+b7yJfm+9MX5vPDBD6dJ3QqdDfBpFP9I6DTx7n9ZJXvNcLIPSeIPPuwHOe + iTmq5bhWAQuhgysUVBfWDLxJIse+oXaS+eo6QUnr6gUlYjIzAZnweGzCHEcyRx9L7OsVCyeXDQlVh/Yd + aVDhMok7idxI5lNG/6a2b/qD2qjmBbV+taNqvSr71DqVdqq1K21Ta8VsVWPKb6Yyv4J4YXz58rvjoqO3 + xoHEY0HiAEl8ka106Xk22iauEBo6RvHzK0cSZy2wrMTlxc2O+BxH8OmLs7iMtQjswBG+uIgaMvPPRJHY + fzRde49aT97M9eS1zqd1PsU18J8Q+bzxi8crJ+wnNKQidKj0V75+RfHf6a/4LgCRz9YhEzrUufck71iv + YSDygUA/kHkfoDfsFhK602q5HJw3l9qrRP4bJHLATjKHKk+CxZK4vl5QwoZ6IfFbG4TEvVu5WHLHkDzX + O7furC6ZuUknaiN5P0zm9MpPH1DUIX1/UVvWB4nX+EitX/UwSHyvRuJ1QOK1QeJEjYqb1YrlNkKZb72E + sfv4qKi1cSDwuMjIpbEg8Vgnic/R8TCZs0NFr6VdKJF4T9wniT8LdAE49NNWJ3EubooRfHbfsA+Hvrio + p7V8cUuBP/Jz1yL+zEv8j3wxgEy2zNo1K4XIBaELUu/+RXfFb4ef4rvYV/GdBwgy5y0JfbqPDRnzWK+R + XrFQ5bGwWKjM47xe1NU5rZYengnZg7Mn586V/VqXsDypiBwplkRYLAnvVSlq7xya91r9qnXVKWNmqB8f + /be2kOlU3GkRuU1ds/Bfao9OP6vN63ylNqp+Wm1Q9aBat/JuEPiOVCReO2aLWqviJrVK+XVqVNkVatmy + q5KQTImPjFwCIl8YBwUeCxInTIk8ImIysuI1jB0qJHExufm0TuLy4ibLydhqKPLiojvdzBe3ulQsUn/k + 57FF6pmL1B/5AgC5nF3/yXpTIieZd/i0g+K3RSfy+TqZC0KfpZP5GyDzMd42qPJYqPJYr5cBknl/wKnO + 40HkCfhZzFgfbx2U2z63eoB9Ve2gpOnViiY/G5H3WsVSUeqwl15T93z4iRYlZApFJFLSIvM3YKU81eJH + tVmtT0Hix0HiB9T6VXaByLebknjNCuvU6uVXqhXKLFRLlpylli69OAETm/EgbxC5RuISkZPQnao8IuIN + kHgtkvgqgxInicsJFW61x4082P8uelTE4ib7buTdjMSOP8IXt7pULCJ/5OexReRZmMhBKIFFgopoC5yy + Epfv1z9fX/HbJBE5yVwQ+lxfBbFEGyKJGpF7vwoMBaEPApG/klqdZy+YPR4/byYwEdhTs5BPcvvg3Nci + Q8PV/j2GqBtXHE2VBeeiZVpkvmvDH+qAHrBS6v6gNqn5kdoIfnjDqnvVeljUrAcSrws7pU4l2ilbgM1Q + 4hvVmhXWgsRXqFWjF6hVouaoUaVnksyvliw5O54oVWq2KZmTxPPmrU0S/wDoA8hZcUHibDSUN1AWCRVR + TWu2uGn54hZxW8RtXQOproFHuiBAOrVi6sS4JHESerkz5RS/9SDyRSDwBTokMveZ5aP4TPZRvMeCxEcC + w3Qyp81CQqc6hzLP5pstDj+PGz+8DWwPCAi7+XzXAerKRftUTmAKyMM8D5P5A4vl3Ym/qV3a/KQ2r/2F + 2rjGKRD4QbVBld1q/co7ge1qPZB4XZB4nUpbAJL4BpD4GpD4MhD4PI3EK5edqVaMnKaWLvG2WqLE9Euu + yDwiYpINStyG33s10FdS47ISl0mcG3aIhIq8uCmGfsTipjWCbz2BH+k5aynvzKW8XZ3PR7ooQDbPtHm+ + jUsi35+wXwk9Ear4rgGBL5SIXBA6LBYocgUTnwoiiAomPRV0sdgw7ZmK0JFgicXP+h3YGx4eeblHjxGX + ly8/fvnYsbgb7ELhGL0ZkWsWiz69Kfzy7WucKrxVvR/UprU+UhtXpwrfp5P4jhQSrwcSrwsSr1vpQ6hx + kvhqtXq5pSDwuSkkXqnMNDUmcqpartQ7aonib0OZz0h6oMqdyjw8fEIsPHGS+BqgH/CCTuRyt7joUOGe + qCJmyO32jAkVa+jHIu5Heo5axJ01iNt4nh/pIgHRjOv/en+XRL78j+VKgaMFFN9VLogcyhxxRCeRjwNG + A6+mIvNY70HeyZ7tPG/4+vrfbtCg7aV16y5eYu+JwPHj8ddlMjcbtRcWy6RXf3V64bU/V5vUOGmqwkng + ToDEYzaptaHEa1VYBRJfolYFiVeNmq1WKTtDFSROIifKlgSZl3jvGmyWBEHmoaGj45BO4YsQlfgAich7 + 4j6z4s8AMomLnX4YM+T4PTeJMCZUxN6boppWW9wkrCdt1nzSWufdOu//LZGvwF6dLol80s+TFP8DiB6u + MCFy3V5BaiU1kY8EkQ9HB8tg78s+L/uoeQbnUfO1LqBWqdLg1qhRM5IFgZ85cylZ4MSJhGuCzM2IfP60 + 39XuT8FGqfMtvPBzuhe+D+p7F5BahZPA68FKqRuzUa1TcR1IfIVao9xCtRqslCplZ2kkXrnMe2olncAF + kVfEx5GaxfL+ZZJ5SMjQeD+/aNpBVOKDgJcBbhLBzLhIqIiBHxZhkcRFVjwG9xkz5Pg9N/Tg4qYxoWIt + blrq/JGEl0X4WYfw031hgFhyZM+RXUH/uEsif+HrFxS/nfDHl5nYKvqCp897OpGPQZnWMO9LiCDe8B+S + W83/akG1yJgANWBciFoYGzc3a9bpxpgxszUil0n87NnLdoI7+pDMz8FmEWS+Yfm/tJ6UlvW/VxtjuKeh + nkgxeuH0w4UKrwcrhSReu+JqkPhytXr0PGAuiJxKfDoI/F2NxAUEkWsWS+l31JKwWLBhst3HpyQXZ0ni + I4EhAMuwBJFTjTNm2BEQe26SxOWsuBmJWwkVi7zT/Ry1iDvrEPd/rMhBOtEly5d0u9DZ7GIzZ/RwqTmR + wx9PwELnJXSt3PAb7q/mHZFfLTSmqBowIUQNnBiqBk4AxoeqhasHqJ0797s2duzcFBUuCJy3585dSSIE + me/c9Ic6tP8varsmP6iNa30CAj+F4Z6DGO7ZjTTKTi2RIhY0HxA4VfgmtU7MepD4KrVm+SVqDY3E54DE + Z6pVy05Tq5SZCjX+gMSNqpxkHhrwjOrlFXgdx4d2yniARVjDJCLvifsc+hF7boo2Q5nEufm1yIqzlpYb + e5DERULF6lGxCN0idOsacHkNpPviAKl0av5087QTKxv06CEXOOf5xmEgyA5f/CqU+C3/qVDekwqqhV4H + eb8e7CRvI0DmhSKLqS++OO7KuHHzHyJyQeIffXQtcd++K4kDB/5xtXmT79VGWkcKCfzBdCZz4RpSFLjT + C9dUeCVYKTFrNSulZrn5IPG5anWo8OpRM9RqGom/q8FI5DKZFy/WUc3vU0AN8M55FceHmffXgTHAcGAg + wMQKbRWqcXaLMyveEODAj2gztEjceoKm+3loqe6sq7ofqcbWZbxF71hxlR/fFb9LKXa4WLzvchD3LJ8r + KMu66T/NX803M79acE4RteiCIDVofpgaOBXk/QYwyYTEQeoBw0PUAsWKqiNHzrg0YcIijciFGhckvnv3 + lcQhQxISW7a0JdSs+X8J2PTharVKh1B0tRfEvQvxQTHYw1y4M1bIRIq2oFmJKnwDVPgHaq3ySzUV7iTx + WSDw6WpV+OFVQeCEKzKvWOp1NaxIEzWfp5f6RGjuK00D/C755sh+CeTMMqzXgBG6ImdihbYK1TgtFcYM + mRU3m9qUi7AsJW6Ru0Xu1jWQ7msg/V/o4bFpxvYZmiJH62EcKmwT0UeejOraK9hc4sbECxPVPFvzqvkW + gbjnFgZxB6qBS0LV4KXhavASJ4LmgsjfBoFPAV43J/JivYPVChVq3B4/fmHyxImLU4icJL5hQ3LSgAHx + ic2aKYk1a/6WUK3alwmVK3+cgJ17EtBKeK1KBeNkJnPhzmw4Y4XagiZUeG1NhS94SIULAjcj8sq6Tx4V + MUwNLlBNrVbQ5+azEXku9yyR71LPkvmSK+TzTgZB7wPG6YqcHjmJnEmVjgC7xemLM2YoBn7E1KYgcbkI + y7JTrCdyup+fllLP2kodnKLtKkMCoTfLxAQjcCQberm0BBijm14srNj19Z+uv4ndgG7v/GmnuvuXPeq+ + /9uvHvzXYfXwn8fU/p+/rAbvjlCDPwBpLwNI4AIk8UVhatAsncgnm5M4bZaiHYJUxA5vjh+/CES+RFPj + c+cm2nv0iE1q1EhJrFHjp8SqVT8HgX8EAj8Vj63X4rHtGnAwoVy5HderVOBUprPsSkxo1tYWM+GFI1ZY + Mw0V7o7MI0N6qcXyllYbFPW70QsErgEk3hvoHJ4nuZhPTpL5Ap3ImVrhNCePIXtUmBfn+H0MYLbLj5HE + rZihReQWkVvXQLquAY+cOXOhI9sP4+QFsXNNiFKiRBR2ha+l1KvXRmnbtpvSrdswpU2b55JbPd1WPaKc + UI/HnlJPJpx9CK0/bq8GbwORrzSQuK7IgxaCyKeDyN9ybauQyAvXC1A7dux9fcSIhckdOy5KfuIJxV67 + 9r/t2HItqWrVi4mVK58FgZ9IcBL4YeAQesIPcdMH3O5PLBf9oVqtwmaNxFl25ZzQXA0CX4ZY4XwtkSJ7 + 4UbiNvuYFkvJgI5qYd8iausg/2sg7kvECyBwog/Qt2T+5AZF/EjkJ3Qi5wsgh4CYG2fcsAHAPTfZoSJ2 + +WGbobGSlkrcInHrCZyuJ7ClxLO2Ek+psf3kkztKWujVa9TVEe+NNiVwQeqVTlVTgzeByFc8rMY1W4X+ + +Hvu/XESed7SxdSYmOFXoqNnJ5coMSsZ6tsO9Y3t1k4CRxOhvrlbj0TgGomnAH3h9gqonK1WYb1as+Ja + tQZ6UqpFL0IShZFCJlIe9sLdkXnFkqPU8ML11PyeOdVuEfmu9C2V/1KfUvku9S0F8i6VHwTuJPH+pZ0o + ncfTDiJeBnCqkzW1TwJc5BTeONW46FARGyfLo/cWiVskbpG4dQ080jXgkRaJ8/O1ajW/teTQCpdEvvj/ + lqthR0uowetB4stNiHyx5I+bLHQWeS1EzT8yRM3dJ1jN5VtYRX/3pYiIKcmogE2G8raDuJOgvEHiBwn4 + 4VTfDwgcn+M+mth+bV9c+fJ7sPHDh5fKR61Qq0SL6UzncE9VDPc4Y4XOxcy0EBXaSw3KV0ZtEeh/Y2iZ + gpeGlC1w6ZVIEDYIXMZLIHDsD5o8sEwB+xMheezeObIlgayHAFzoZM84h39oq3B6sxRAC4vj98aYoUXi + 1hP4kZ7AliK3FLm21VtaRL5ixcnEOk0bqCfiz7gk8oFfDVWD90KNr3bhj9NWkfzxAEQMC491kncepFRy + DwtW/YcGqT7ti6m5c1e9hd10ksPCiHHJsEvsQBK2WUsEQOIaQOROFf5gD829seXL78IWbFu5BVtc6dKL + rkRHcqhHTGdO06KEhEzk1co+TOiVS09SSxZrpRbxLaA+E5732siogpdejS54aURUweQhZQqAtEncTvJ+ + hQQODC5bwD4sqmDSyOhCSVUL+SSCpJcDYqGT/jhz49yyjXFDsdMPiVzec9MavbeI3CJy6xp45GsgTSIf + Nuy9Sy+M7O/WVmn2USs1eLvuj8sLnSKtsiBMLQZbpeDEEDXfKJ28hzrJ239ooI4A1btmYTV//iY3Q0JG + JIeGjtTIvHz5vSDyfTqR79dJ3Ll/pnMTZBL4bm0PzejojbHY+AHbry0HlqLEatb16NLTUqYzmTwRRC7I + nEQuk3l0WD81pEAltVEx35sg6iujogtdIsZEF0zGbfJI3A6NAnGTvIGhZQuSwO0jogsmjSpXKOm1ckUS + XyiRLyG/Zw72qTO5woVO9ozX1Imc/rhM5LRV2KOibddmKSxLYVnXgHUNPOo1kCaRt2jx9I33N81ySeSH + 4o6p0ScqpvLHg0DgxaDCCyNuWABKPO+7oWru8SDuUcBwQd4BIPDU8CxeUC1cuMtVJ5GPApGP1Yl8L4h8 + PxQ5iXw/FzU1C8WpwDUCt4HAsQnycrERMrZfW4jNHmYncoS+fGnndOYDIn9YlVeJnKSWCmirFvUronYK + y3N9NMibGAPyHlvOidfKA7gdDVCdQ6XbCRL42PKFE8eVL5L4eoUiCZMrFkloVMyPI/v0ytk3zvw4FTlj + h0KRi8ghFTmTQ1zktIqwLDX2yGrsUZ/01tdnvhcKt0S+bt2FhKp1a6r7fz1sSuQn4s+qU76fqgbsi1AL + Lw9TC84LU/OTuGeGqnlmANNhm0wLVnO/CfIeA+U9EsQ9TCbvYiBzJ/xeKKrm8i+A3pKXLj0g8tdgrZDE + iX0g8j0JUN/x2NU+zmmhbKAClwh8CTZBXqhvhOzcuadkyenJLLfiOL1G5ib2SnRYHzW0QEW1cVG/Wy9F + 5r+ikXi5QpdI3uOI8oWTJ1YonPw6MAmbPPN2fPlC9jHlocCB8RU0Ak+cBAJ/q1KR+HcqFY2HQo9DHJEl + Wlz0JJFTkbOmtiRAj1wkVjiKL4jc2u3HInKLyK1r4JGvAY8tW24q27bdVLZvd4L3t269qWzadEPp3v39 + S88P6oPY4Vlkxc+qh/44ox789xn1wO9nkCE/o+797Yza8nhXNe/aMDXPfFgmM4DpwU68H6Qh97uBau5J + IHEUYvmPeEDcgsDFrU+bIvDHK90KDh6aHBLyqq7ISeR7ksqX30kkQn0nREVtwubH67D58UrdQuEu9otl + Apc2QiaZz44rUWLaVdbOpibyqSoTKSWKNoUXnl99JiLvdRD2pdeAcVTeAG8ngMRJ3JNB4FNiCie/XamI + /a2YIva3Y4okTYopnDQ5pkjilJiiCW8A74DE361cNH5alWJxM6oWi2sZlJuVtksBebGzND4OB4oBbDiU + 8+PW/pvWk/iRn8SWws58CvtRz6lHx45JCtG+fZLSrl2S0rp1otKiRaLSpEmiUqTIEzdfXzZT3fPr6Qf4 + 5RSGgYiTGkruqazmXQ7ing3ingHink6AvN93wv8dEPh4EPgoYLhrIveuSn+86Y2QkGEgcmGtvAZrZXtS + dPSWxKiojQlly65O4MbHD3awXwwLZYFQ4Cl7ZT7YCFmo8tnx3AiiPNoKnd0pb6ulAjurgXlLqM0D/G4O + Llvw8ngQOFS1RtoTdQVOFU4CfyOmSDKUdjJI2j4NmFGlWNLMqsUS369SNPGdSsUS3qlcNAGPg8CLxk8H + gc+qVix2TrWA2PHli8QG+ubiJhMcDBI7AIkcOXf/kcfyRd+4pcotMrfI3LoGHuka8Kha9VNFoEqVT5Qq + VS4CF5TIyKWJ5WvUUbd+ewiEfcIUr3/6vpp3G6yTRSDtmQAJXIAk/h5I/E1gLAh8JDDMNZF7hhRUixbt + ejU4eAiInKqcZD4iOSpqbRK870T8PhqJly69BDvYL0QqZQHU9lxJfTs3PHZC7Giv3aZYLNyirXRIb4zY + V1KrFvS+hUTKVXjdl8bARiF5w9tOnqLhgQJ/EyQ+FeT9PgDyTpoNzK8RkLgAmF89MAHKOwGPx4O8QeAB + cXOrF4udVyMgFl9jW1Aj0NY2KDeJnNOeHAjiBhJMrjCCKNoO8+G+PyDvxWl55dYT+ZGeyI+q4Kyvz1wq + 3gMDNpjkfBjFivW+0m3YAJckTnJvdbyLmmcdFPg8EPiM1CSuqfF3QeKTgTEg8Fddk7hv1yJqzpz51aCg + V5KDgl6WMNAO2yQJSEScUNu5vnTpeUijpGx4rBO5TOLmZB4SMjw2b966V/08fTmdeR2xwUuDyxTQIoX0 + widBfZO0YY8kT61UlOQNBV4k+b0qRe3TqxSzk8DnVQ9IWlwrMHFFrcCElbWCiPglNQPj51cPiANxx4G4 + Y0HwsQtrBtoWgsQXAVD1tqLeObkJMzdcFkNB3ESC9oqcXhHd41bHikXiFolb18AjXQOmRB4dvT02X8EQ + dfrWxW6JvMSeGDXPChD5bBdErtkqwGhzW8VvCBY5Ae/6hdQ8earfCgzsmxwQ0CeZt4GB/YGX7SDuJKjs + RCjrlC3VhMp+oLzNiNypzJF8sRUo0MKWK1ch+tXb/HNlv9whJPelQciDDy1bIPlVEDmTKFzEJInDLkme + UVUDFbh9Fgh8Lgh8Yc2AxGUg8ZV1ghLW1g1OWF83OH593aD4NXWC4pbXDoxdWksgyLakVqANBE8oS2sG + KS0D/UnkM4D6AHtshCoXpVlClYsJT8srt57Ij/REthR25lLYj3o+TYk8LGx8cuMnOrgl8VcvTFbzbjWx + VYQ3TjVusFUEcTtvi+ooouYqmQ/+eLNrAQG9QOTEC8CLJHM7tlFLdO6L+WBvzPQQOYaJlIIFWyuengG0 + NtYBrJflFmzLy+TxTCaRDweJj0IuHAkUbSETPnfynGrF7PNrFLMvrBFAJC0CQMyJK2sHJawGia+vGxK/ + qX5I/LYGIXEaGobEgtRjV9UOsq3QAcK3gdyVZbWCNLxWrrCSJ1d2knlHgBOerLGlKuf+nJYqt0jbIm3r + GvivrgFTIi9QoPX1kTOnuCXy+ofbqHnWuLFVpoLIJwWofrBV/GCrPCBuEniRFPh2K6zm9MurFiny9KVi + xbolFyvWPblo0Z64fQFE3k8i8tnxD3as13xvU388NHSsgt+fBE7iFATOCGB/gEVWbCU8grF7bbhnLEh8 + ItQ40ihQ4cXssEbsy2sFJq2sHZj0QZ2gxA/qBiWurksCD07YVC8kfkuDkPidDUPj9jQOi9vXODR2d6PQ + WBC6bV3dYBvUuW0VANJXQOrKcoBEvhxAYyJ/nzd1VU6vnFFEeuWWKreexP/Vk/hR1Zv19ZlPvT9E5FTA + FWrWUTd9vs8lka/+fpsatKuMmmeZC1tlGkj8LZD3OJD2KGD4A+J2knjhFHg3KqD6+5e/VaTIMyDwZwGS + OVV5X3tg4ICkB4p8drzTGzf3x+GBK0i9KLlyFSZhcu9M7tTDjY8F2A3eB+CuPVND/XNhtD5/8gR4429U + LGx/r1JRO5ImSUtrBiatqxecuLF+cOLmBsEJxIdQ4JtB4DtA4LsahYLAw2IPNgmLPeSEDR/btoLM19cL + UtbUDVY+qBOsgNCdZK4T+aAyBfl77QXkzSUsVW6RuEXi1jXwX18DDxF50aLPX+3z2hATEj+Ox5zodmaA + mvdD2CoLmVYJQMxQxzR0pQD+U4uq/lNA4KNB2q8Cwx4Qt0zivO9ZOp+aN2+D60WLksifA7pLRP6yCZE7 + UyhCkUO1o4K3jpIjR24S5UrgVYBxP4GeuM/t1lgpK8DHNjct5mdHSsX+bqUiSfTCaaWsqhOYCOJO3N04 + NIHY0ygsHuQdD+UdtxcqnAR+uGl47NFm4bbjzSNsx3F7pGmYDV+rQLEr6+sF62Qe9BCZV8zvzd+Rvx+9 + ckuVW0/g//oJbKnrzKeu/5NzCiI/hNQKcVApU2ZJfESZCuqiI+tSSFuQt/P2mLrrZ4zk76uu5lkF8p4L + 4p4BvF/UiWlO+L9dRPWfCAIfDQIf7prEfZ4rCFslD8byn7zsJPLngR4g8t5Q5P3sSLGQyB/yx9GKGFuk + SFebn185+t/HAMb76H8L8iZhk7xZI8u0CDc/7iqBmz0MQZrEPhRFVzOqFNUihfC1EzfWC07Y1Sgk4WCT + 8PhjzcLjQdRxR5qFxR1uSgIPiz0CEid5nwCJn2oBNOf9cAUEr8BiUaDkU8jcqMq7F88n7B5LlVskbpG4 + dQ38z64Bj+joTQqBgRsMAD17+ZmBfUDWR11i9MUpyI4HqnkWg8BngbinG0h8Kkj8TZD4WBD4SMCNGveq + nx+2SkXYKl0lW6UnkyuwVfqDyAfqRO60VRBNjMufv3GsvoC5G2T8PkDLhAROlU0CF+TN5kESdheAmztw + 30xugEyw/4RY0izAL5EkjtQJ0ihBCVsbhMbvbxwWD3KO+6hVcSAi9mzLiNiTLSJi8ZiTwIHTIPEzLSOU + My3CFdxXjoHM90CVQ82nUuX0y4W98l7lYkqQby6SOX9focpdJVisXLn1RP+fPdH/E5Vn/TcZR+17YNgG + Snw5dgaaGhcUUVqdtXOpCxI/gsePqHUONlNzrwGJzwOBz9BJHGrcn0p8Gkj8HWCSrsZfBZEPda3Ic0Vg + j898ja9hEMjEVhmQFBw8ODEkZGRCoUId4n19y6K3JBsjhGuBCQAXMAWJk8DZ/U31LQi8M+5zUwdB3Nyl + pyXAvTMJbmX3XGGvHAnwyRNW1w7W0ii7GobGwzaJA3nHfdamROwXbUvE4tZ2vlWEDY+RvG1nQOLnQOLn + WhbXEaFAnSuHmoYpWAxVoOoVLH4qSLlo9oogct5ikVVEEanKmWCpBIhcuTztKZdpWa2IFqlbpG5dAy6v + AQ8M2ihEkSJdLnfq30Mja1eY8eUiteiOCDX3EpD2LBD2dOB9gAROvKur8XEg71Fp2CpPFlTha2tplQf+ + uNNWKVSokz1fvvpJPj4lE7Nn92UdLDc1ngsMAVgNK0i8p0TgtE6E+uZmDlTcbYFWOmmzE7whQCXMcXkO + 55BI32sXnBskHqylUfY3CYuD6o690Lp47FftSsR+176k7Zv2JWwgdBses0Ghg7wjlI9A4h+3Kq5AteM+ + lTlUebNwBX66gu/l0l4ZHlVIQek4ydy4GTPLtDjtyTKtfIDoYLEGhKwnsEXi1jXg9hrw4Eh7ePikuKDw + UuqMbYvcEnnzox3V3OtA4vNB2DNMiJy2yuT0qXGvqvlRklXthrBVChRomYxNJZK9vMLs2bJ5cbu0kwDV + 9xRgFDBUJ/EXccskClW48L6pvmmddNQJvA1uqb6putkFzt3rSdxsIOS+mcxxUwnH8OuK+eSIm4miK6ZR + jjYLi4Xqjv0cxP09SPzXJ0oDpXhf+aJtceViayeBE+f1W94nuZ+EvYIXAs1e2SAtesr2ClV5dD4vEvkI + /Xerpf8u3PQ6HGCZltgCTqhya0DIeiJbZG5dA64VOYm8UKGOl59+uZdbEl/y7Vo1eGdpNfdyEPkcnchl + Nf4eHnsLGJ/2IqfvC4XUnIVzwx+vdMXPr0wypi6xaXE2blx8BtgCzALeAmihjAaGAQMBKnGSOBcyhQIX + 9gk3cKB9wv0x2TbYEKDyJlFympLEzew2S6tImtw7k2Ab4VvPhueLPdIsHF54uGajfNm2pO3HDqVs/3qy + tO3fT5VWQOjKt+1KKiB45TzInCQuoClzXZVjQVTBkFAqe8VI5F3C8oqEDV9o5DItdpWLbeC4KbM1tm89 + eS0Ct66BNK8Bj7Cw1+Ijykarc/cud0vk7VFXm2cDooULQdYzXajxKSDxMbBU6I0bFjl9BxdUfQfnU30G + 5VFzNfJWs2XLeQtE9TXAXec3A0yekMC5gEkSnwSMBahcSeJCidMLJ4mTwIV9ItQ3fWeWU5EchfomgXND + B/rQHMDhDj3hAAdxaGXwtmGYn6cNo/eaD/5Jm+K2b9qVsP3coZRCElc6RSr/frK08lPHUsrX7Uoon4DI + YbOkInKhyo9DlSOq+JC9IvvkaFlU/HJqk558F9FQ/125n6fYmLko7rPiNjdgje1bT+Q0n8jWwmTGWZj8 + K86VB6Ygr/QcOcAtiS//doMaigGg3Cugxue6UeMTnGrcdwRJOz9IOy+QW/Ue6Kt6veKteg3yuuU12OtG + 9ojsV0FQBwF2dS8C5gOzgenAO8BkYBxAEmeskEq8J8CFTNooXMCk/y2rb9on9LyZz64CkBiF+qb/HA6Q + tIMA2hckS26AzFt+PPWVMgWgxovbPm9TXPmufQnlZxD3n09FKvGdI5U4AOocj5dUsPiZisiFxUJVzkXP + AwZ7xRhDJKlXKeBDIuffyHcPfOHh7xwFuB3b/ysuAut7Zm0SsM5/xj//HhVr11JXnNqYthrfCDW+yKDG + 3yuMqlqQ9jv5VN/JeVXvUf6q93CQ9mCNtG+DtG96DfG67j3U+4r3MO9LQLJnR09aKN8Ci4GFgEziU/Ex + PXH2onBwhkqck5j0w0niVLC0UEjgXLyk+pa9b2GfkBCpbmlVhANU3kyEkLQLAVS7RD79lr3gLSsV8FZg + rShfwj6hJw5vXPkTajyxSxklCbDhPsmdn6dX7spegUWjbJfsFYz6K0Z75dkIzV7hGgD/FlFxaza2by16 + WorcUuTWNeB+sXPI1DEg8cMp2PnTIdWJg8ABdcFXy9XAHeGq/zKQ9ew8qu+03Krvu/6qz1Rf1eddn7vA + be+3vW96T/S+4T3a+5r3SJD2cCdpmyFH+Rwk8kOAIHFhp1CJk8SpUkniVOK0U+iHMw/eEaAHTgUrCNyo + voV9QlUbBtBvptpmEoRkTeLmzvW0LNgBTpAo+TE/txTbtME+Kan80KGk8huInLYKifzS02WUBKjy36HK + 6ZV/CtXuyl7hgBAz5SK9YhZDRPe5sFf4DsNVFNFa9LSewBaJW9dAmteAx9Zvt97b/sN2DTt+3HGX2PnT + zju7ft51m2h6tOktvw1+N30W+tzwme1zzWemz1WfGT5XfGf6XgKSfd73SfZ52yfZezyIewzwqjmBa2r8 + GU97Nt9sTKRwU+I5wEyAnrggcaMSJ4lzmIdeOBcGGwJU4Fy8ZPJEeN+y+qZ9wkZBYZ2QDAWBk7i5gEjf + mQM3nvot0yH83HNtgnJr9smPOpH/CY+cavwyiJxkTmLn5xBHdGmvcEBI2CtiZN+YJ6e9EuMc2ecLF/82 + WkNM1NAO4jsJWkC0fvjCk2rR03ornPHfClvn0DqH/8trwOPAnweSXeH9799PLrK/SLLfar9k30W+yb5z + gFkACFwj8ekg8XeBKSDy10Dgo4ER3nYoclPkrJaTJH4EEH74e7gvFjYFiTMnznIrDveQxIUKJ9HVAGJ0 + smPyxOh9G+0TJj+otqm6SdaCvMVmx7wV4OeDWDfLgZ6fsNBJRS6I/GrXssq1Z8pq6pyPi0VPo73CRU9m + ymmvoEhL+15YREWRVuoSLRK5nl5ZhZ/LxdqGABdoxaKnaEWkBWTtIGSpsjRV2f+SGKzvlbFeaDwOKgft + rlDnZB2732Y/u+8yX7vvfGAOMBuY5QSI3A41bocat3uPBUa6JPEkrx5eSdnyZUsCKXGBcxpAP5y1rhMB + NhUyYkgSZ7yQ+XAO9ZDESXBcxORiIMfZZfVN60SQN9WrrL5J4FSygsAFYXPAhrls7o1J8D4fozrn14/D + zkGaFy6sFSpykvjNZ8tqypzkTtVutFfEoicz5bRXxHCQmPI0+uRj0VOuDwdx4ZaWEd9t8O90N+lpZcot + UrdI3boGUl0DLol85Jcj7Xn35rVDjdt9F4K45xpIfAZI/F1gik+S9zjvJKjxJKjxJKhxU+SsnTMRBEVv + nDYKCZzJFObEOewzBHgJIIlzUbMjwMlHTmFShVOlcgFTKHASuLBO6H1TtQrvm+pb2CckZ6G+ZQIHf3po + +2LyFiA58utouTSsWtBH+QY++P8hO04rRRD57WejNDKnV06id2evML0ihoPc2Sslc3vSXuHfL/5e2ka0 + jPi3usyUW4opYykm63xZ5+uvvAY8DtkOJZkh+lh0kt8mvyTfpb5JvvOAOcBsYJYT8MaToMaToMaToMaT + oMZJ5Ilm8OrtlZitUDYS+TyA+XCqcGbERwKDAcYLmUxhPpx+OEmNkTySmlDh4bgvooMieULrhAQuvG8z + +0RW3ykELg6qTuRU5rIqX4cSLW1hk0kVOxT5dSjyu89FaaAqZxSR9opZekXYKxwO2ixNeZr55C0CtO4V + rhewSoBTqBxgigGMmXLZXuHva23QbKkyS5lb14B2DXgcjj2caETXT7om+u/1T4QaT4QaTwSRJ4LIE0Hk + GrDgmegzDZjikwgiT8QiZyIWOZ0k/qp3ghE56+RkX8pencDphVOFi2lNJlNI4kxvkMRFrlos/FGZ0i+m + hUL7JB9AAndH3qbq29Urok7msiof2KdkfuUPWCixOpHfIJE/H63c7V5eU+V8nBFF2iuyTy7bK+xewWYU + bn3y/qULkMh3AawVkDPltFdEppzvOviCZY3sW09ci7yta+Cha8DjSNyRBBnzf5ufEHg4MAFqPAHeeILv + AmAeMBeYA8z2TYA3ngA1ngAST8AiZwJsFSN5x4PMNXj19IqHGo8HCTGdQgJntHAIwG3XuKjJZEoXicTp + EzORItIbtBcYH6T/TQI3W7gU9olb9Z0GkcuqvFo59KF8jwVPDgIlQ4GTvO8+X0652zNGI3Sq9LTsFXav + 7NVjiK588ndRbevvnPKkpWTZK9aT1CJq6xp45GvA42h86v/VPls73m+HX7zvKt9438XAfGAeMNcJn1k+ + 8T7v+cR7TwZRjwfGOAn7IYz0joPdEpezZs44EBT7UzilSRXOfDhJnBW0z+skziEf0TtCEqcfzlF64RGL + cXVXC5eCwB+yTtLrS+Fn8b+lkueLAn/OWiZN6IczdqgROdT43V6VNTKn1ZIee0WOITJPblzwZHqlXD4t + hsgFX2GvML0SA1j2ivWkfuQndXqveevrMo9v73Es4VicQN8v+8blPpA73m8tiHwZiHuBRuRxIHANyJHH + QY3H+bzlE+c9AUQ9DhjtJGwzeD7vGYekCjvE6YuTwJlK6a+TODeAkJU4PXHaKYLE6YdTiQsbhQuRXLw0 + pk7+Y/KWL2SdyKnKSeSMKQ55JbKAttB5BdHDO/THqcb7VFfuvlBNU+W0V5heYfeKmb2C3hYthpiWT94W + 2XX8PA5ICXvFVXqFSRzLXrHI3SJ36xpInVoRJL7096Vx4cfD4xA3jPNdAeJeCJDE50lEPgMkPhUk/jqI + ezww1jsWBO4SOarkIImv1gmcKly0FwolLhY2mU4hiRvTGvnwGK0UuThKW+gj/teKAt9TtlfqVi/koxE5 + M+QpRN63hnK3X22QeiXNcqG94q57hSVask9utuA5wOmTcw1BPh4iveJuOOh/fgz+18fU+n6ZR/VZ5/Lx + PZcexxKPxRJ1ztWJ9d/tH+u3xi/Wd4lvLIg8FkQeCyLXADUei6RKrM+bPrEYx4+FGo+FGjcn8VHeNs9O + nrZs3tlsIKfhAKOF7ExhvJAkzpF7Fl+JnhFGDF1teZaKxP/Ki0l/gZAXPfdw15+UxAptFZL4gHrKXRA6 + 7RYmW9KKIYpxffrkZoNBrAXwyp6NZM53KGI4iMeE3SulATEcJF7YxDsTa+cgS5lZ6ty6Bjw8jicdt3X/ + srvN/5C/DaP4Nt/lvjZMcdpgq9hA5DaQuM1njo8NSRWbzzs+NpC4DWrcBjVu8wZhm+JVb1uOsjlI4nN1 + Fc5FzV4A7RRGDEniJCwRt2PZFSc1wwF2o8ieOK2Ov2UIRidyWZW/+U7log8WOl+oqtx9qa5yd2AjJ5l3 + K6/FE5k5N8YQRXqFU570yeXelRXSPp6i3raEM0/OFz3aKywEo71iPC6ie0W8uFkxROtJbBG5dQ1gOueX + d2yBxwJtsFRsvitB3ItTkzi8cRsWOG1Y4LR5TwJxk8hfc0PiIPdcLXORxBmpowrnoiZJnEqcJP6kRFb0 + xTnJKPvizIg/1C9Ckv0r1bghVy5UeZcuYXmctgoXOumPv9xAuTekuXJ3cFN45VW19AoLtlz55JzyZJ5c + bMrsasGzQVE/EjlrfOWFX3FsjNW2lk9uPXktAreugZRrwKPcmXKK304/xXeNr4LhHwVqXIEaV6DGNUCN + K1jgVLDAqcAbV6DGFSRVFChxU3i96KVkD9bidG/oJN4Tt1TijNeJAizG7NxVtzIj/o9sqCCpcr4TKF3c + 31OJB1lrC50v1tTU+L3hrYDWmjqn7fKL7pObLXiyo5x5cvauiO3fzHzyZ8K1Wtv1AH1yudqWlpO7Kc+/ + 5QXu73gRtX7G4+vBWufm8T43Hv77/RW/9SDy5TqJL5RIfC4IfCYwVSLxsa5JnOSes1ZOEtIHkhJnTpzd + KRz4oaXCiJ2obWXUUB58+UfVuKTKZXtly8HmxZW7vasod/vXgRpvptwb1V65N6ajU5UjvcIYojufnHny + ndg1iAVaa+CTmxE5N2XGsTgGdNSPEW0nUaJl5pMzWcMEj+WTW8rMUudZ/BrwwOCPAktFgaWiYIHzgRqf + BzU+CyT+Hkh8Msh7IvCaexL37OypZPPXFu04dk87hRObbDHk4iYtFZZDicpWMX5fCo/Ji3n/mBp3Ya9M + ebdakLa4qdkqVOOvPaXcG99FufdqW43gGUPkuL7cTy7v50mfXAwGsQnRjMjfr1JM8cqhHTvaT3IMUbzY + heNxrh9YPnkWf9Ja6vjxVsf/xPnxwOCP01KRSVxYKu+DyN9Mp6Uy2EvJEZlD+Lwk8Z6AsFTE+L1xgVO0 + /LE//LFQ41KRlsiUd32+VCFnWoW2CshbI/HJzyv3xnXW7BXGEJknd7XgyTy5WPAUyRV5D09xP9Qvl3gR + tHxyi6wtlW1dA+m+Bjxc+uIzQOLvPIKl0lCzVDYBjBga1TgraakyxfSmnBnnNmxsMswHPDa927QsdOui + UsVCfs60CqyUe6M6KPdef1a592YvJ5nDamEPC/Pk6V3wNIsgksyroXURP5PNkEaf3JivNy4GWz659aRP + 95P+n1CM1s/8a99FeGiLm0ZfnJbKuyDxSbBSJqTDUukKSyW/ZguwR0WocZFSEQucXMBrCIjxcxE3ZBmW + KIVKtRMOHv/HCIo/G2B6xTtHtmzKN8/XUO4Na+m0Vd7oodx7t59y7+0+ml/ODhZ2l7sq0BILnpzwZKUt + kytmEUR9wnMJfqZYSxA+uZUnt4jaImrrGnB5DXi49MWngMCZUhmXRkqFlkoZzVKZIalxscDJAZeOADeI + ENloEanjxKIoxKIaF5sM/225cXcqQSJy/j6rtnao5FzknPiMcm9qX+XezEHKvekDlXsTumoxRG42wQVP + Y3KFH5PIueDJ5IroJjfrXOlVIj+P41ZAvIPhMeOmGsyTu+pdsRY8rSe4RfJZ/BrwSIkacnFzNpT4I/ji + WkqlvmapbJBI3LjAKfxejuFXB6guBSnJi3ciG60R0z+pxk3SKxPfblD2gRqf/opyb/5IJ97qrdku8SjX + +spkH08xGMSNJphcERFEMyIf4UyunADkhWGRtZd3DbIWPLP4E9eyKv5aqyKjHV+Ph/Lib6ffF/d8CpZK + bs1SYathWgucVJZmcUOWYtFSYZzusVDjhvQKX1i69Y6JcKrxd2CnzB6mqEvGK+rSCU5VPrS5ttnEt5jw + dJdc4ai+uwgiR/Xxs74EhB0lEj5ymZi8MGwNBlmEbqlx6xoAg4qEiry4mQ5fXBv8idAGf7h1m1jglC0V + YQ/IG0Vw0U6OG4pRfDH889iocSm9Qp+8Xv3wIk5vfNpLyr0FYxR15RuK+sHbUOWjtEw5e1c44emKyJlc + 2dfYOarvKoK4pGagws2f9eOZ1mCQvOD5t1QYZDSVYv2+lmrNKteAhza5yaEfsbgp8uKj3WfG0WxIwlnm + wlJ5Co/TUhETnCyAigHSWuB8rAiJ9o5u84SG5PVTbsFGuTdriKbE1XXvKerGGYq6fJKWYuGCJ5MrriKI + 9MkP6p0rroicyZUwZwSR73DMFjz5IsiUTxEgH8B1BVGg9Y8tDGeVJ4v1d1ovDI/rNeBRaFaBO4WmFbhT + cEr+OwUnAxPy3y74GjDGFLfw+K18rfPc8vPzvdWhXZOvnuzY7Avg86eebPFpl86tLnbt0ub888+1P9ez + +xOn+r7Q+fiAfs8eGfRK9wOvDn9hz9jR/Xe8Pv6VrW9MHrLp3bdfXT/9vdGrZ814bdWcmeOXz5s9Yen8 + ORMXL5j7+sKF8ybNB+YBc4DZwExgBvA+MA14F5gKvA28BbwBTAEmAa8DE4BxwGvAGGA0MBJ4FRgODAOG + AIOBgcArwADgJaAf8CLQB3gBv1fv2TPG9c6Tx//nb8d1T741f1Ty7VVvJd/+cHby7a3zk2+vnWa/NbWf + /Vaf6vafnypjv9CulP2jtjralEr6SMfZ1iWTDrUonrSxUVjSugZhSavqhSQur/MwYgr5JQYFFl0WU7Hs + qKpVyg2pVTPmpXp1q/Zq3rTOMzjeT3Tt0rpF755PNcIxrT1yRJ/qkycOinn3nVfLzZr+WhR+30igNFAS + KAEUByKAcCAMCAVCgCAgEAgAigFFgSJAYaAQUBAoAOQH8gF5gTw6cuPWH/ADfAEfwFuHF249gVw6cuI2 + h47suM1GPK5PBuv3sog6o14DHhHzIxzhM8Md4dOAd4G3gDdcI7RvqCOwTKDj7bffdixfvtyxYsUKx6pV + qxxr1651bNy40bF161bH7t27HYcOHXKcOnXKceHCBceXX37p+PHHHx2///67IzY21pGUlOS4cuWK48aN + G47bt2877t6961BV1XH//n0cx8frH38n/n4dO3Z0nJ74kkNdP82h7ljsUA+uc6hHNznUfasc95ZNdNwd + 1d6hvFDH8VW3mo7PnnsYnzxbw3H66eqOXU9UcWzrUNnxYftKjg1tH0bH8sUdgwcPvr958+Z7u3btunvw + 4MG7OI53cBzvfPPNN3d++eWX23/++eetxMTEm5cvX75x8+bN6ziG1+7du3cFvytxGbikIxm3diAJSNSR + gNt4IA6IBWyAAvwJ/Bv4F/A78H/Ab8CvwC/Az8BPwI/AD8D3wLfANzhjXwFfAl8AnwOf6riI2wvAeeAj + 4BxwBjgNnAJOAieAY8BR4DBwCDgIHAD2A3uBPcBuYBewA9gObNWxGbcfApuADcA6YK2O1bhdpWM5boml + wBJgEbAQWADMB+YCc4BZwExgOvA+MA14F5gKvAO8BbyhYzJuJwGvAxOAccBrwBgdo3D7qo7huB0KDAEG + AwOBV4ABOvrjth/wItAH6A30AnoCPYBuwPPAszq64rYL0BnoBDwFPAF00NEOt22BNkBroCXQAmgONAWa + AI2BRkADoD5QD6gL1AFqATWB6jqq4bYKUBmoBMQAFXSUw200EAWUBcoAkUBpoBRQEigBFAfCgTAdobgN + BoJ0BOK2mI4iuCUKA4WAgkABID+QD8irIw9ucwP+gJ8OX9z66PDGLeGpIxduc+rIgVtWXBAUGBlWZHgU + fEtX4hNxOw4wV+KaQi/wYr5bucv43apdq/JvUOFU418+9UTzLzo/1fLTpzu3vvhs17bnuz3X4RwU4+l+ + fZ8+8cqA548MHdTzwKgRffeOHztgx6SJg7a+NWXYh+9NHbl+xrQxa6F0qcZXQvUugxJfArW2CHisFDne + JfTG79g7NDTwyJr+nZNvr56afHv7wuTbB9cm3z6yKfn2vlX220sm2G8NaW7/s0uU/dP2pU0V+Tko86Mt + SyRtahSetL5hWNIHLhR5u9B8iQUL5ttRsUKZ0ZUrRQ2vXq3Cy3VrV3mhSaNaz7Vt3fDJzp1atur+fMfG + L/V7pt6IYS/UmDjulUpvvzm8vKXILTUJIrIWPrPoMfBIUeJvu1fiYePDHMGNgx0vvviiY9myZZoaX7ly + pWP16tWO9evXOz788EPHjh07HPv27XMcPXrUcebMGccnn3zigIp0/Pzzz45///vfjri4OEdycrLj6tWr + DihJx507dx5rNY4nhvYuAWrXMWHCBMf8l7s71F3LHOqxDx33P9rvuH/xiEM9u8ehbpnnuDelu8Per57j + 2+61TBX5p1DpH3Wt7tgNRb69o2tF3r96pKNLly7qpk2b7m3fvv0ejufdY8eO3fn444/vfPXVV7d/+umn + WziWt3Asb+BY3rh+/fo1KPKreNdwBe9qZEVONS4UOVU5FblRjVORU40TfxgUOdU4QTVOGNX4dy4U+Wc4 + bFTknwBU5FTjHwOu1PhxfI5q/AhgVOT78JisxnfiY6rxbQAVuVGNy4qcavwDYCWwAqAaXwaYqfF5eFxW + 4zPwMRU51fh7gFDjb+P+mwAVuVGNj8djVONCkY/G/ZEAFTnV+DCAinwwMAigIn8ZoCIXarwv7lONvwAI + Rd4D96nGieeAZwCq8acBociFGu+IxzoAVOOErMapyIUapyIXarwh7jcAqMiNarwGHqMipxqvCsiKvCI+ + piKnGheKXFbjVORGNR6Bx6jIqcSJEEBW4wH4mIq8KCCrcXeKnGpcVuRmatwLX2NU5FTjQpFnaDWOvwMj + lVTi4zUlLmDqj+dtmPt2VNkSsU8+0fwb4Gso8a+gxL+AL/7ZM0+3uQhf/Dx88Y/69O58GmrxBDzcIyOG + 9j4wZlS/PRPGvbzzjUlDtr7z5vAPp00dtXHm+2PXzpk5bvXcWRNWQfGugBpfCiX+WCpy/F698I6hF/zq + D0Y80Sz59o4lybcPb0y+c25f8p0LR5LvnN1jv715jv3W+Kft9mei7V90cK3IT0CRb27sVOSrXSjyvpGF + EnPn9jtdoXzk2EoxZYdXq1p+YK2alfo2blizW6uW9Tvj2Ld9/tn2TV/s83S9YUN61Rw7ql9lKvL33x0d + jeNZBr+v5ZFnUVXGJ7SFrHkMPMLfca/E6ZeHdgl1BIQEOObMmePWF4ef6zhx4oQD6tHx+eefO77//nvH + b7/95lAUxZGQkOCAp+uAgtR8capxKl0q3sf9H/17vusY1LmdQz2+BUr8sOP+1+cc93/4VLtVj2x03Js5 + 2HHjpfqO790o8vPP1HDsf8qpyDfTI2/3sEc+rl6Uo3Hjxvex3nBv27Ztd/fu3Xv3yJEjd86ePXsHx/TW + Dz/8cAtrDTew1nDDbrdfv4Z/t27duorjSUVOf1x45EKR0x8XHrk7f1xW5EZ/XFbjqfxxfO+vcf6+xK3s + jws1LvxxKvKzgOyP0xunGj8GCEVu5o/TGzf649vw2BZAKPKNuL8eEP64UOP0x6nIhRqnP74YoD8uvHGh + xmfjMXrjMwDhj1ON0x+nN041LvzxKbhPRS68ceGPj8Vj9MepxoU/PgL3ZX/cTI1TkdMbpyI3qvHueIze + ONU4/XFZjQtv/Ek8LtR4e9wX/ji98VaA8Meb4b5Q42b+OL3x2gD9capxochlNU5vvCJANV4eSI8/Tm9c + qPEw3BeKXPjj9MZlNU5FLrxxV2pceONCjdMjpxo3KnKqcYLeuPDHZTUu/PEM/SLoISlxU0We78k8t/2L + +d1u1rTOz1Dhmhrv9GSLr7p0avUFEiqfPfdMu0/g2Z6HL34OvvgZ+OIn4IsfRaLiwGtjXto7acLAnW9N + GboNKZXNUI0b4eWuh+e8BurxA6jxlVDjy6EiH2tFjt+zV5tWDd5rX7da8u2jHybfOX8o+c6XZ5346qwd + Xrn91nsv2W92K2//umOkqUfO9MrpViWTtjeJSFHkK+o+nFoZU75Yoq+P95fly5Uei+TKq1UqlxtUs0ZM + vwb1qvVo0bxuFyRX2uEdUPMXenVqMPDlbrVGvdq3ClJAFXB8LUVuKdIMTUYgWuv3/w+PgYfbhEq/UEdQ + +SDHuHHjUvnia9asMfXFT58+7bh48aLj66+/dsDLdfzrX//SUipQjhkmpYKL6aF/fNfw0UcfOdo1rue4 + /8lRx/3vLzrVuAAUupZcGdjY8VMPc4+cSZaLSK4c7FTVscONIn+/cXlHpUqV7q9bt+7eli1b7jK5ggTQ + HRzbO1hzuP3dd9/dxLucG3iXcwPpn2tYb6AivyIpciZWZH/cnRp3l1gxS6swqZLijVON64r8C12Rf4aD + Z6bGmVgxqnE5rSL88f8mrUJFbkyryP64u7QK1bhIq8zAfaZVhBqnP041LvxxWY1PxONU48Ifl9W47I+b + pVXoj78EyGpc+OMirUI1LtIqwh+nN06ItArVONMqVOSyGqc/bqbGmVZhUiWttArVOL1xOa1CNS7SKlTj + hEirMLHCtAqTKiKtIpIqVOOyIqc3LqtxoyI3+uMircLESl4d7tIqTKlQhacnrZIpNmZxqcjz98x7O3ek + 320kVP4NJf498C2U+DdQ4l9BiX+BhMrn3Z/v8EmvHk+eR178HPLipwcP7H4CvvgR+OIH4YvvhS++C/7t + NqRUtiClshG+ONX4OnjOq6HEV0GJrwAyhCKH9z+6YmTJ5DufHH2gxnVFDq/cfnvRa/Zbvavav3vCtSJn + lnxnU/eK/J0qAYleXp6/QJG/FlOxzEgkV4bUqF7xJSRXejVrUvuZdm0adcA5aIHj3vDll56rjXx+VaSB + KlKR491OWcsjt1QdCMxStlnsGJgq8rChYY6gWkGOV155JZUS/+CDDxxQig4kKhzwb7W8OH3xkydPar74 + F198keKLI+us+eKXLl1ywMZ1QDWm+OKPa2YcTwDTf1TkzMBXjamQWokLRQ6FjilPx91hrRy/9nSvyA93 + diryLciSm3nki1tWdJQqVUpT5EgC3d25c+fdAwcO3MExvo0s+S2kgG4iS34divw6suTXse5wFQkgKvLL + WHOQ/XEmVWQ1Tn9cZMdFWoXZcZEfZ4bcmB83y45TkX+jg4pcy4/jVuTHjWkVkR9ndpwQ2XHZH5fTKsyO + G9MqIjsu8uP0x0V23JU/blTjVOT0xmV/XGTHjf64yI7L/rhZWmUivp9Q4/THhTeenrSKUONydpz+uJwd + F4rcmFaRs+NGf1zOjgtFzrQK/XE5Oy7SKmbZcTmtIpIqIj9eEd/HlT/uKjtuVONGRW5Mq1CRC2/cVX7c + mFZhhpz+uMiNC2+caRXZH2eGPNOkVcSL9kOKvMCAfLfzxPjfRkrDhmnNH4DvocS/gwr8BlOFXz/Tte0X + SKh81qPbE59ApZ5HQuUcvNpTSFAch197dPxrAw5AIe6DL74LE4fb4YtvgVL8EEp8A3zxdfCb10KNfwDl + mGEUOX7XnsjBDyhWuGBqNS4UOX3yte/Zb/Wrbf/hiTIuPXIq8j3NnIp8Tf3QRDOPfF7NoMRcuXL+WS66 + 1DhkyUdViokaiuTKgDq1K/dGcuXZ1i0bdERaqCUSQo3wLqgOjns1vPuJefuNYZzutBR5FlNilvq23n3w + GkilyMNGIyveKNjRu3fvFCUuT25u2LBBm9yESnRAJTqQb3YgTZEqL+7OF88oKRUzWc7se4mICHNFDmXO + fDmnO3/rVds0R06PnNOdR9JQ5KvbxDhCQkLuY1L2Ht753MU7nzvIkt9GGuj2+fPnb2H9QVPkf/zxx3W8 + 47mGdzxXMSF7BUkgKnLZHzd6466mOV3lx+mRu5zmxOe+0sHEyufAZzhusj/OpIpQ40ysCDVORW5Mq1CR + C3+calye5mR2nIp8G8DsuEircJKTapzZceGPy2mVFXicYHb8P0mryNlxplWoyOmPi0nOibgv0irMjsuK + nNlxV2kVMc0pT3LK+XFOchKyGjemVajImR0X/ngH3E9PWsU4zSmrcWNaxSw7LvvjxrSKrMaZH5f9cWbH + wwCRHTeb5mRSxZgfN6rxfPgaOa1CVS6mOcUkJ29lNS4rcpFWybyKvMDA/HfyVs99B75sPBT4T1B9PwLf + Q4l/ByX+LZT411DiX/bo1vEzJCYu9uvb9TwSKueQUDmNhMrx10b3P4IelYNvTh66d+pbI3YjL74DvvhW + +OJU45vgi6+HGl8HNb4GCjfDKfLp08b09vP1ca3Ity2w33qlgf3HJ/87Rb60dkhizpw546nI4ZOPRnJl + GBU51ipeaNSwxnPIkj+Bd0nadGf/F7vWtRS5pchAXJYnnsWPgabIw8ZAiTcJdnTr1s2xdOnSVFlxJlSo + xNH9kWpyUyRUMG2o9aj83//9n8Nmszng26bkxTOyL44nR6p/fDcRGBjoWpEfWu+4O/bJ/1qRr0f/SkBA + wH0c97s47nfwDugOsuS3MS17C8mZm+ituYFJ2euY7ryG6c6rmO68ijWIy1DklzDdKU9yPmp23FW/iuhW + oTcu/HF641TkWn5cV+Sf4oBxklPOjp/DxyI/fgr3mVQR+XGRHXenxnfh682mOc3U+Bp8rdk0p1lahdnx + 9HSriOy4UOMiOy7y47I/zsSKyI7L05xD8LjIjlONy2kV+uOyGqc/3kOHmOSkGhfTnPIkp6zGhSKnP87s + uLtuFXmSUyhyocbddatUxPd91Oy43K3iSo27muakGheKnEo8rw5jflx441Tisj8uT3LSI8+0apwv5B4F + XnEqcfixCVDiv0CFa2ocE5s/QIl/h3TKN1DiX8MT/wJK/DNkxS8iLfHxkEE9zqLr4xQSKsfh0R5BQuUg + Eir7kFDZDfW6A37ttrmzxm+BL74JSnwjlPg6KPG1QIZU5HhX0RNpEteKHJ0rtwY2Sbci52SnmUe+DI2I + UOQJUOTjocjHUJFXrVL+5dq1KvVp2KDG8y1b1HsSWf7WOCeNOd2Jd0TVx419qRI9cqxHsAHRmuzM4uqM + T2wLWesYeNAT7969e4oSZ4cK2wyFEhcdKlCFjsOHD2uNhvBqH0qoxMfHZ7geldSa2/1HnEQNDQlxrchP + bIMi75RuRa5NdhraD6nG17WpROV/Hx02dzFNSkV+e8+ePZoiP3fu3E0kg24goy8U+TWjIkciSE6ryP0q + oulQzo4bpzk50Sny46LxkIpc5MfltIpQ5Jo/Drjzx5khF2mVY7hPUJGLtMoB3HeVVpH9cU5yElTkwhvn + NCfVOGHsVhFqnNOcCwFOc8pq3CytInerCG9cdKsIRT4R34dqfBwgpjmpxkVahf64u24VJlZEWkWe5pS9 + cTHNKXeryGkVkR3vgO9Ff1xOq4hJTpFWMXar1MfXE+xWoRqX/XF2q3CS0900J7PjBLtViP8krUIl7kqN + y9OcVOMCeXGfipxTnIRQ42KaU+THhRoX/rhIqmQ6bxzHQHvR9qhSOToBCvxXtOr9AvwMJf4jcuI/QIl/ + j06Pb5CO+ApK/Auov8+gxC8iK/4xsuJnocRPTXjt5WNTXh98BI2GB997Z+Q+KMI96FHZCV98O5T4Fijx + zVDiVOMboBQztCLHu42++fPkca3ID61PlyLfradWXHWtLKoVzNRKLBT5hAeKvNwr7Ftp2KB6t5bN6z31 + RIdmbTBR28RMkeNdEDvJrT5yS5VaqjwLXQMeoslQpFOMU5tQg1q3uMiKf/bZZ45vv/3WgeSE1mhoNrkp + elQyWl4cr2wu/7FDPSoy0rUiP7UjTY/8oclOSZFTjRMrWlW8Hx4efh+Z/TuSIr+FvpWbSAjdQN/KDaxJ + XEc6SHjkV5CooUeeDI/cblDkTKq46x436x+Xu8d/wvdjt4pxmpNqXHjjVOOf6opc+ONyWkVMdMrdKmKS + 879Nq4huFaHGRbfKCpzI5YCcVqEinw+46lZhdtw4zWnWrTIRXyenVYzdKuxVEWpc9sdF06FxmlN0q1CN + 9wDcdasYpzk74OtFWoWTnO6mOdmtImfH6Y/L3SrCHzemVZhUqQgY/XGjGuc0Z0nAmFYRiRWz7DgVuZxW + cZcdpxKXpzmNitzMH6cSl9U4FbloOsyw3eNChcu3Hkil/Ab8gj7xn9Hh8ROU3g/wX7/D5OA3UOJfwRP/ + Akr8UyjxC1DiH48e+eIZZMVPYmea48iKH0FW/CCU+D4o8T1Q4rugCHdAiW8DtkCJfwh1uBHI8Ioc6ZAh + JUKDXSvywxu01Iq7HPkZabLTVR/5jOqBUOS5fk+PIu/Tu5PmkePdUYpHbinyrOWNmj2prcey3jXgIStx + plOEJy4rcfaMCCXObnGRFadKFY2GIqHyOO/241pvp/0ZdJw4Gtaq6V6Rj2zndrLzAtoPDzxV1WUf+fq2 + MffnNC1/Pzo6+iFFjvWJW+h4pyK/jgZEKvKreDfE1IpQ5HZdkaeVVhHd4/TH3e4GBDX+IxU54DatQjUO + MLFyHnCVH3eXHac/LmfHmVYR05xydpzTnMbsuEirmKnxJfh6TnKa+eNpdasY1bjIj1ONy90qclrFXXY8 + Pd0qVOTGbhW2HTKtQrhqOxRpFblbhf44vXGRHacaJ+iNu5vmlL3xSvhaoyIX3SqyNy7UOBW5aDo0th3K + ilx442bd43J23FW3iqzGRX5c+OPGpkMzfzzT2U4eSKb8ioz4z/DDf0J3yg9Q4t9hYvMb5MS/ghL/fPDA + Hp8inXIBqu8jKPEzmNo8CSV+DN0eR95/d9RBKPH92OlnD5TgbvjiO6HEt0OJb4UK3wxkGkWOdysT61et + 5FqRH1irTXa66lrhDkFsP9zWxP0OQZNjAhK9vb2+f6DIywzHlO1A9K30rV+vWrfmzep26ti+aVucs6aW + Is96ystS29Y5N7VWuNemnBNnOkV44q6UuFlWPLMqcaHV2SnT/ckOrhU5dg26O7SF42cX7YfcIehjKPI9 + Tzr7yDcZUitOjzzm/psNou/XqFFDFR45GhBvo9PmllDkeGd0HT3v19D9QkV+GYr8MjzyS/DIqciToJ6p + yNmrInerMKki0ipyUkUocuPenD9Lavx7E0Uu++NU48QFgIrczB+XpznlpkNOc4q0ilDkIjvuaprTVVpF + KHLhjQt/XKhx+uNm3SpsOpT98XfwsWg6ZFpFnuaU1bhZ97iZPy6y4wPwveRpzj74+FH8cXdqnN64MTsu + d4+z6dCVGq+Fz8ndKlTkoldFKHLZH2fLofDHRdshJznN/HFmx435cTYdUom7UuNm3SrusuNCkVOJG7Pj + skeeKXrHXb2Qe8AP/wXTmj9Cif/Q94Uu32Fa8GtMbH4J7/VzKPFPoMTPQ4l/BCV+BumUk5jaPAYlfgRT + m4egxPdDie+FEt8NJb4LSnwHVPg2INMp8gb1q8/r9WQ714p85xL7rV6V7d+4aD+kIucOQR9iz851DcKS + VrnYIWhwdJFEPz+fC0aPXChyplaoyJlasRS5pc4shW5dA7wGPNidIvbaRDJCy4mzydDMExdKXG4zpBIX + HSpQZELAZrrbefPmOSYPedm1It+zwnH3lYaOH9zsEHQOe3buwp6d29B8KCtykVihIh9WK/J+69athSK/ + jfNzC+sVcmqFHvk1eORXdEV+CYo8WVfkiVDPxuy4yI/TG2fTYVrdKg+pcXzPb/HffY1bre1Qn+RMSavQ + H9cVOf1xMc3JbhVCbjsUalzeCUh0q+zG16alxoU/bpZWWYH/nmC3Cr1xZseN/vgcPGbMjgtFbtZ0SDUu + suNU40Z/XLQduutWoTduNs0p1LiY5mRaxdU0p6zGmR/vAIi0itEfl7Pj9Mfl7nF64yKtwsQK1TjTKsbu + cSpxoiKQnmlOocaZWHHnjYvecTk/Xhj/DdMqcnac3riY5nSXVnE1zUklbpzmzJRpFfydzhw5dvb5CXnk + 7wf0f/ZbtBh+PXRwzy9eHd7nM+wF+QkmNj9GOuUclPgZKPGTUOLHocSPQIkfghI/ACW+D0p8L5Q41fhO + KPFMq8ixX+nWaSMHu20/vPZ8OfuXHV3v2XkUinwTFPlaKPKVJrsDLcdU57MlCiTmzZv7SHpSKyJHbqVW + LFUmntDWbda8FjzYYshd79mdgr5rbWKTCQ05Jy7SKVlRieOJof0bMGCAY8u86a4V+fppjqv96zu+daHI + 2Xx46unqjp1POLvIN2K/TlmJU40Tz8eUvI9J23vwyG8jR+5KkV+lIkfXCj3ySzgvVORJeHdERW7cl1NT + 5HhcAf4ERFqF/rhxb06t7VD3x+mNE9/qoCI3y48LNX4e/y0VuehWMarxY/gcc+PGaU5644RQ5CKtsg2P + selQ7h6nPy6rcXaryGkV0XToKq0i7wQ0Hf+t7I/TGyfkpkOqcTmtwklO0XQo0iqc5hRpFXmacyAed9et + 0hufpxoX+XGhxuXucdGtYvTHZTXuKjvOxIrIjhv9cblbRfjjxrRKRfz3shpn26Hwx+mNG6c5mVYR3SrM + jgt/3KzpMD1pFVmRi+5xeZLT1TQnlbjRG6c/nrk9ciRTvkdG/JvhQ3t/NWpE3y+wz+anaDG8OGXS4PPo + 7ziHnPhp5MRPIZ1yHDnxo1Dih9BkeBBK/ABUONX4HijxXUCmVuRFixS8cGTlfJeK/Nac4fb4rtH2T9ub + K3J2kR9sUTxpYyN0kUORm/WsUJE3CMidWLhwgQ+Nijy9XStWjjxrKjIQVaaL1Fl/U/rPqQf7xLnPJlsM + xa736LpOmdg0y4lnBU8cF1Gqf7Vq1XL8dmyPS0V+b+5wR3zfuo6vuz28QxATK5zqPNa5WsruQA/UuDOt + ItA4Muz+6NGj76JrJUWRI0l0E++abqBr5TreMV3DZOdVTNVSkV+CIk+GIrdDkSdiolZT5ECqaU5JjVOR + u53mNKRVhBr/hv444Mof19Q4wMQKFbnRHz+Gx1x1q7hLqxi7VYQiF9lxdqsY0yrCHzemVZhYMfPH5W6V + tNIqQpHLalz441TjnOQ0m+aU0yrGbpUe+G+oxoUiN+tWEU2HHfF1HYB2AL1x2R9vgY/NulUa4HFjdtzY + rSL25ayCr2VixSw7LneruEurhOG/J6jIqcaFIhf+uLu0Cr1xd/646B6nGjeb5GRqRahxkR8XSlx45Jny + Bc8DyZRv4LF+iWTK569PGPgpdmS/gF6Rj9Gdcm76e6NPQ4mfhBI/AaV3FEr8CJT4IahwqvH9UOF7gUyv + yLEv5pDiIUHJNz4/5VqRj3/a/n+dytovti/10A5BTKxwqjOlZ6V+aBLVtxmK5/FODAkJmK+3H2p95KL9 + UO4jt9oP069W8OTOlE9e6++yzqu4BjywB6S24z37xLEPpEO0GF65csVx/fr1lL025Zx4Zk6n4MA89I/v + Wp5s1dylGr+PHYLuTezq+Ffv2o4vnq/50A5BVOSc6jzY6cFUp5kiX9Om4v1SwYH3Z8+efQedN7eR77+F + HPlNKPIb2I3pBnL919FHfhXn6wreNV3GuUrGDkHJOE+aIhceORU5EAfEAqn8cV2Ra93juJ8qP27Mjuve + eIoax8dfAGw71LpV9KQK8+OaGgeYWBHdKqJ/nBOdVOOESKswOy5Pc7pLq4hpTu4CJHYCEoqcanwFwOy4 + yI+LtAqbDo3ZcU5zzgBkf1xOqxj98dfxtRMBplVkNe4qrTIYX0cIf5zZcWPTIfPj9MfpjZu1HXKS82lA + +ONP4b7cPS78cZEdF9OcZmqciZUGgDzJadY9LvxxkVahIneXVuEkp6tulTB8jpAnOYPwsbHpsAgeE4kV + s+x4Xnxe7lYR/rg8ySmmOY35cdE9LqvxTP1i7oFkypdIpnyGZMonSKZcwM4+H0OJn0Of+Bl0cJ+EEj8B + JX4cSvwoVPhh4CBU+AEgyyjyBvWqLejbpePDalzs2fnJUfutl+ppXeQftzNX5MyQb2nsnOpc5UKRv1Ml + INHL0/PXqLIlJ3GHoArlI0dBkZvu2ckdgqw9Oy1FBrLL1ARl/X3pO78eojeFGXHueM+9KbEHpAMKT9v1 + PrNPbOJCSfPflClTHHNfH+umZ2Wn4+7gJtpU5+cmipyJlbPIkO+WMuRmiZVJ9aPu165dW0X/zW0o8lvY + s/PW9u3bNUV+/Pjx68j3X8NaxlX03WiKHHt2UpHb6ZGj64aKXPPHdZiqcXzuX8DvgFDkKW2HJmkVqnHi + K/rjVOOAyI/LaRWqcUL441Tj8jSnK398D76OaZWdOrbjdhvApAr9cbOdgNbicXknICpxOa0iusepxh9l + JyDZH3eVVqE3bvTHOc05FKA3PhgYBDCtQjUuT3OKnYDktIrIjhu7x+W0iit/nJOcxm4VTnOKbhWhxo3+ + uDE7TjUuT3MKf7w8HifojQt/XE6ryJOcol9FpFWoxoUipzcupjlF0yGVuKzGqciFN25Mq4heFVmRm/nj + TKuI7Dj98UyfVMHfmPIi7gE//HP44Z8gmXIBfvjHyIifgxI/AyV+Gir8JHAcKvwYFPgR4DCQ5RR5cFCx + U1vnvOdSkd/eONMuMuRGRU5/nImVw1DkTKxoGfJ65h5579KFEvPk9j8dHVXydXSRv4Zdm0ZVrhQ1pHq1 + Ci/VrV2lV5NGtZ5p27phR/THt8QkbkMkjmrDv6+KqduK6L6JxruostYOQelTMPKTwLpvHbOMfg142O32 + lAbDmzdvpqhwJlOgvhxZzQ/HCU31j8chODjI8dOhna4TKyunOC71q2eaIReJlRNIrIgM+YaUDPmDtApT + K92QIce+qfdWrlx5Gx04VOQ3MXV7E1n/GydOnLiOnP81rGlcQcb/8p9//nmJihypIjs88iS8g0qAIhfe + OP1xozf+B/1xXZFralyHpshd+ONadlxX45o/DtAfpxonUtIq9McB+uNCjZ/A/WMA1biY6DyA+3K3ipwd + N3ar0BsXipzeuMiPy2p8BR4XitxVWkVMcwp/nNlxwphWoT/+BiCr8Yn4eDxAf5zdKsIbZ3ZcTqsIRU41 + Tn+ck5zuulXkaU6hxp/FfyP8cfaOE8Ifl9MqTKyI7LiZPy6mOV1lx4Uir47vI9IqcrdKRTxu9MfZrWLM + jrNfhZOcshoPw8dMq8j+uDGtQlVuNs1JJW6WHXe3E5DcryJnx+mRZ4m0Cv5O52Qn9tf8FEr8ApIp5zGp + +RH88LNQ4WeAU1DiJ6DwjgNZVpGjz2Rc1XJR5mpc98hvTelm/6NLVOoMeVt45VDjovVwD3YG2gB/fDX9 + 8brmirxGEf/EYkULrYcin0hFHlOxzEjs4DQYPSv90XzYs1nTOl3bt2vcHo2VLajIMYlba9SrfasgaVSB + ihznr4ylyC11KZ7c1m3WuRY8XPnhWV2J40mg/WM/+8Aez6WZWPl37zqOr7qZJ1bYevhwYiW1Gqcir1I8 + +D78+DvYM/X2unXrbuFn39y5c+cNNC9eRwfOtU8//fQqdme68uuvv15GwigZ6xqaIsc7qUQqcrx7cJtW + kfzxFDWOx34BhCKXpznltEqKPy4pcpFWYWKFavysrsjlbhVZjTOxIhR5Wk2HVONppVVW4mvM0irMj8v+ + uHGak02HhLFb5U08JrpVOM05ERBqnNOc9MapyKnGxTSnPMkp1LhxmvNFfL1Zdlz2x6nGmR93l1bpgM+L + /LjRHxdNh8IfpxpvAAh/nL0qTKuwV0V0q1CRG6c5RVqFipyTnOnNjtMbDwNkNc78uPDHmViRdwIyplUK + 4PNCjefFfTmtQkXO3LiY5BT9KlTjQpG7y45nicVgD/jhF6HkzkOBfwycgwo/A5yGsjsFZHlFjgTJNtOO + Fapx4vxB+62+NbWdgc7LiRUocuGPH4c/vllOrJgo8verBSb6euZMjIyMeIdTnUisjEViZQS7yGvVjHkR + 7Yvd0XzYWW8+bNb3hc710RVfE504lS1FnnWUF8grSxCT9Xc+2nn2EO2Flh+OS8fkX+fOnR2nNqxwnVg5 + sNpx5+UGjp9MEiv0x0XHClsPt6bqWEmtyF9HYqVOnTrq8uXLb7NnBYr8JjPk6CK/gS7y68iyX0Mj5VVM + 315B5v8ymg+Tsb5hR94/CYmVBCSM4qHI5ew4PXKtW0XyxplYEf74r5Ia1/bmBES3ilDjRn/8M3yNthuQ + lB3X0ipU4wAnOumNMzt+DBCKXM6Ps+1QpFWYHxfdKltxn2BaRfjjnOQU/ricHacaXwEwrUKYNR2KSU56 + 4zMBY3Z8Kh5z1a0yEZ9jdpyK3Kxbhf64Ma1i1q0i1LjIjov8uDGtIvxxV2kVkR3nJKexW4X5cfaqmKVV + 6uJxqnFZkYumQ1dpFaHG0+pWEf441biZIpfVOKc5mRuXs+OF8DGVuKu0CvtVjP64nFYRatzYrSL88Uzd + rYJjk+oF3QMq/CLVOFT4R1Dg54AzgKXI503qgw6aUWWKh1+KP3PQpUd+a+4IewI6Vr7oUDp1hlxX5Jzo + 3N9c6lhhYsVEkeuth8fgj0/hVGeFCpFjKsWUHY7Eyiu1a1Xu27hRzefbtG741FNPNG/T7bkOTdh8iH1E + a44fO6AykkflkTqyPHJLrVpqPYteAx70wi0/HK9vJv+Q4Xb0f/5p9/741BcdsX3quEysnIc/frhzVa1j + ZTN2BRI7Acn9Krz/RPni9/v163dXZMg3btx4C13kN5Ahv46pzmuY6ryGqc4rmOq8jOz/JfSssGYlCRly + KvJ4vLOiGheKnE2HKW2HkjfO/Dj9capxgt64aDuUFbnWPa4nVkRahWr8UypyINU0p67GqcjFNOcxHE7Z + Hz+Ij+mPm3WPi+w41bgxP26WVpGnOUV+nL3jhLtpTiZV6I0zrSL8cSZVRFqF/rjcdCinVVx1qzCtMhgQ + 2XGRH5e7VajG2T1ubDo0S6sYpzlFWkUocjHN2RLfz9itYkyr0B8XipxJFYJqXChy0asiEisV8Tk5rRKF + jwkmVkTToatpTnrjwh/nFCchp1WEIpfTKlTjsiLPi4+FNy6rcbP8uJjk5K1Q5MZpTr6osV8lS7y4eUB9 + XwA+BixFPm/SSzgO/YAXgT7wx3e8P3roJc0Ld4FbL9e3//xUmdQdK1TjAPPj9MfFPp3aRCfVuIkiL53P + hx0rS6DGJyGxMo4Z8iqVyw2FIh9Qt06V3k0a13q2XZtGT3Tu1LIVEiuNsYtTHfTk1MBUbgwVOTLkUfid + I63UStZ44mYVgrL+zvRdz3y1sv65OAJt27Z1XNi6zv0+na80cvzas9ZDHSsiP34aHeTyrkBGJc6P5zQt + fz80MOD+woULbyNDfgtTnTeRIb+BDPkNZMivY6rzGjPkX3/9NTPkl5ghR2LFjqnOJGTImVgRipy++EPd + KniMSjxlmlPyxkVa5UfdH/8Ot2w81JoOdVCRCzV+EfcJkR9PSatQjQMnAZEfF9lxM3+c3rjsj2/Dx2bT + nCI7btatItS4sVuF05wiO05v3MwfpzfOSU5ZjTM//jowEaA/LrpV5Py4u+y4UOPGbhWqcaHIe+A+/XFZ + jRvTKuweN+tWMTYdCkUuesc5ySlPc1KNC0Uu0ipMqrhKq1TE5+S0CtU4s+Oi6VBW43J+PAxfY8yOG7tV + mFj5T7pV0jPNadY9nqmbDnEsH3qX8f/ZXcAmG/Xg8wAAAABJRU5ErkJggg== + + + + Assembly + + + Assembly + + + Assembly + + + Assembly + + + Assembly + + + Assembly + + \ No newline at end of file diff --git a/RCU-10/RCU/LoginForm1.vb b/RCU-10/RCU/LoginForm1.vb new file mode 100644 index 0000000..94dea21 --- /dev/null +++ b/RCU-10/RCU/LoginForm1.vb @@ -0,0 +1,19 @@ +Public Class LoginForm1 + + ' TODO: 룬ʹṩûִԶ֤ + ' ( https://go.microsoft.com/fwlink/?LinkId=35339) + ' Զɸӵǰ̵߳壬ʾ: + ' My.User.CurrentPrincipal = CustomPrincipal + ' CustomPrincipal ִ֤ IPrincipal ʵ֡ + ' My.User CustomPrincipal зװıʶϢ + ' ûʾ + + Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click + Me.Close() + End Sub + + Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click + Me.Close() + End Sub + +End Class diff --git a/RCU-10/RCU/My Project/Application.Designer.vb b/RCU-10/RCU/My Project/Application.Designer.vb new file mode 100644 index 0000000..241217f --- /dev/null +++ b/RCU-10/RCU/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + '注意:此文件是自动生成的;请勿直接进行修改。若要更改, + ' 或者如果您在此文件中遇到生成错误,请转至项目设计器 + ' (转至“项目属性”或在解决方案资源管理器中双击“我的项目”节点), + ' 然后在“应用程序”选项卡中进行更改。 + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterAllFormsClose + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.RCU.FrmRCU + End Sub + End Class +End Namespace diff --git a/RCU-10/RCU/My Project/Application.myapp b/RCU-10/RCU/My Project/Application.myapp new file mode 100644 index 0000000..590ce9a --- /dev/null +++ b/RCU-10/RCU/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + true + FrmRCU + false + 1 + true + 0 + true + \ No newline at end of file diff --git a/RCU-10/RCU/My Project/AssemblyInfo.vb b/RCU-10/RCU/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..9d99fe9 --- /dev/null +++ b/RCU-10/RCU/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' 有关程序集的一般信息由以下 +' 控制。更改这些特性值可修改 +' 与程序集关联的信息。 + +'查看程序集特性的值 + + + + + + + + + + +'如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID + + +' 程序集的版本信息由下列四个值组成: +' +' 主版本 +' 次版本 +' 生成号 +' 修订号 +' +'可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +'通过使用 "*",如下所示: +' + + + diff --git a/RCU-10/RCU/My Project/Resources.Designer.vb b/RCU-10/RCU/My Project/Resources.Designer.vb new file mode 100644 index 0000000..ce48ed5 --- /dev/null +++ b/RCU-10/RCU/My Project/Resources.Designer.vb @@ -0,0 +1,72 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RCU.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性 + ''' 重写当前线程的 CurrentUICulture 属性。 + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' 查找类似 的本地化字符串。 + ''' + Friend ReadOnly Property String1() As String + Get + Return ResourceManager.GetString("String1", resourceCulture) + End Get + End Property + End Module +End Namespace diff --git a/RCU-10/RCU/My Project/Resources.resx b/RCU-10/RCU/My Project/Resources.resx new file mode 100644 index 0000000..df275e3 --- /dev/null +++ b/RCU-10/RCU/My Project/Resources.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/My Project/Settings.Designer.vb b/RCU-10/RCU/My Project/Settings.Designer.vb new file mode 100644 index 0000000..8e24653 --- /dev/null +++ b/RCU-10/RCU/My Project/Settings.Designer.vb @@ -0,0 +1,229 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings 自动保存功能" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + + _ + Public Property CBoLongIP() As String + Get + Return CType(Me("CBoLongIP"),String) + End Get + Set + Me("CBoLongIP") = value + End Set + End Property + + _ + Public Property NumRemotePort() As Integer + Get + Return CType(Me("NumRemotePort"),Integer) + End Get + Set + Me("NumRemotePort") = value + End Set + End Property + + _ + Public Property NumLocalPort() As Integer + Get + Return CType(Me("NumLocalPort"),Integer) + End Get + Set + Me("NumLocalPort") = value + End Set + End Property + + _ + Public Property CBoBaud() As String + Get + Return CType(Me("CBoBaud"),String) + End Get + Set + Me("CBoBaud") = value + End Set + End Property + + _ + Public Property CBoMode() As String + Get + Return CType(Me("CBoMode"),String) + End Get + Set + Me("CBoMode") = value + End Set + End Property + + _ + Public Property CboRFDevType() As String + Get + Return CType(Me("CboRFDevType"),String) + End Get + Set + Me("CboRFDevType") = value + End Set + End Property + + _ + Public Property CboCMD15Buad() As String + Get + Return CType(Me("CboCMD15Buad"),String) + End Get + Set + Me("CboCMD15Buad") = value + End Set + End Property + + _ + Public Property rfcmd14Way() As String + Get + Return CType(Me("rfcmd14Way"),String) + End Get + Set + Me("rfcmd14Way") = value + End Set + End Property + + _ + Public Property CboRFCMD21ControlMode() As String + Get + Return CType(Me("CboRFCMD21ControlMode"),String) + End Get + Set + Me("CboRFCMD21ControlMode") = value + End Set + End Property + + _ + Public Property CboSerialBaud() As String + Get + Return CType(Me("CboSerialBaud"),String) + End Get + Set + Me("CboSerialBaud") = value + End Set + End Property + + _ + Public Property CboSerialPort() As String + Get + Return CType(Me("CboSerialPort"),String) + End Get + Set + Me("CboSerialPort") = value + End Set + End Property + + _ + Public Property CurtainsCMD() As String + Get + Return CType(Me("CurtainsCMD"),String) + End Get + Set + Me("CurtainsCMD") = value + End Set + End Property + + _ + Public Property CurtainsData() As String + Get + Return CType(Me("CurtainsData"),String) + End Get + Set + Me("CurtainsData") = value + End Set + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.RCU.My.MySettings + Get + Return Global.RCU.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/RCU-10/RCU/My Project/Settings.settings b/RCU-10/RCU/My Project/Settings.settings new file mode 100644 index 0000000..87457fc --- /dev/null +++ b/RCU-10/RCU/My Project/Settings.settings @@ -0,0 +1,45 @@ + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + \ No newline at end of file diff --git a/RCU-10/RCU/My Project/app.manifest b/RCU-10/RCU/My Project/app.manifest new file mode 100644 index 0000000..f8619fc --- /dev/null +++ b/RCU-10/RCU/My Project/app.manifest @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/MySql.Data.dll b/RCU-10/RCU/MySql.Data.dll new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/MySql.Data.dll differ diff --git a/RCU-10/RCU/RCU.vbproj b/RCU-10/RCU/RCU.vbproj new file mode 100644 index 0000000..21822ac --- /dev/null +++ b/RCU-10/RCU/RCU.vbproj @@ -0,0 +1,281 @@ + + + + + Debug + AnyCPU + {DCDFB337-7F07-44F0-A269-2D23D487D50E} + WinExe + RCU.My.MyApplication + RCU + RCU + 512 + WindowsForms + v4.8 + true + true + true + publish\ + true + Web + true + Background + 7 + Days + false + true + true + http://auth.blv-oa.com/Apps/RCU/ + RCU透传工具 + BY + 2.6.0.1 + true + RCU.html + 0 + 2.7.1.%2a + false + true + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + RCU.xml + 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 + + + IsAdmin = True + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + RCU.xml + 41999,42016,42017,42018,42019,42020,42021,42022,42032,42036 + + + + + On + + + Binary + + + Off + + + On + + + My Project\app.manifest + + + favicon.ico + + + B560FC4505CF3B0A721E2873D03DF142AAD2E6C4 + + + RCU_TemporaryKey.pfx + + + true + + + LocalIntranet + + + false + + + + + False + .\MySql.Data.dll + + + + + False + .\System.Data.SQLite.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frm485Update.vb + + + Form + + + FrmC43Function.vb + + + Form + + + FrmInfraredFunction.vb + + + Form + + + FrmPassword.vb + + + Form + + + Form + + + FrmRCU.vb + Form + + + FrmRFFunction.vb + + + Form + + + + + True + Application.myapp + True + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + + + Frm485Update.vb + + + FrmC43Function.vb + + + FrmInfraredFunction.vb + + + FrmPassword.vb + + + FrmRCU.vb + Designer + + + FrmRFFunction.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + False + Microsoft .NET Framework 4.8 %28x86 和 x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/RCU.vbproj.user b/RCU-10/RCU/RCU.vbproj.user new file mode 100644 index 0000000..4ba1be3 --- /dev/null +++ b/RCU-10/RCU/RCU.vbproj.user @@ -0,0 +1,16 @@ + + + + publish\ + http://auth.blv-oa.com/Apps/RCU/|http://blv-oa.com/Apps/RCU/|http://47.119.147.104:90/Apps/RCU/|http://47.119.147.104:90/Apps//|http://bl-oa.com/Apps/RCU/ + + + + + zh-CN + false + + + false + + \ No newline at end of file diff --git a/RCU-10/RCU/RCUModule.vb b/RCU-10/RCU/RCUModule.vb new file mode 100644 index 0000000..91dc35c --- /dev/null +++ b/RCU-10/RCU/RCUModule.vb @@ -0,0 +1,669 @@ +Imports System.Data.Common +Imports System.IO +Imports System.Security.Cryptography +Imports System.Text + +Module RCUModule + +#Region "数据库操作" + + ''' 远程数据库类型 + Public RemoteDbType As DbExecutor.DbTypeEnum = DbExecutor.DbTypeEnum.Mysql + + ''' 远程数据库名 + Public RemoteDbName As String = "blv_rcu_config" + + Public FPrefix As Char = "`" + 'Public FSuffix As Char = "'" + + ''' + ''' 连接数据库字符串 + ''' + ''' + Public Function ConnSQLString() As String + 'MSSQL连接方式 + Dim remoteConn As New DbConnectionStringBuilder From { + {"Data Source", "47.119.147.104"}, + {"Initial Catalog", "AuthorityDB"}, + {"Integrated Security", "false"}, + {"User ID", "sa"}, + {"Password", "9S844fK3"} + } + + Dim DbConnString As String = "Server=blv-cloud-db.mysql.rds.aliyuncs.com;Port=3307;Database=blv_rcu_config;Uid=blv_rcu;Pwd=fnadiaJDIJ7546;charset=utf8;" + Return DbConnString + Return remoteConn.ToString() + End Function + + +#End Region + +#Region "功能全局变量" + + + ''' + ''' 是否处于网络接收状态 + ''' + Public _isReceiving As Boolean + + + ''' + ''' 是否通过UDP发送数据 + ''' + Public _isSendByUdp As Boolean + + + ''' + ''' 是否读取 + ''' + Public _isRead As Boolean + + + ''' + ''' 是否准备完成 + ''' + Public _isPrepare As Boolean + + + ''' + ''' 红外回复处理 + ''' + Public _InfraredReceProcessing As Boolean + + + ''' + ''' 红外烧录是否回复 + ''' + Public _isInfraredreply As Boolean + + + ''' + ''' 记录重发次数 + ''' + Public _resend As Integer = 0 + + + ''' + ''' 配对设备列表设备总数 + ''' + Public _pairingDevCount As Integer = 0 + + + ''' + ''' RF配对模式 + ''' + Public _pairingModel As Boolean + + + ''' + ''' 设备列表键值对 + ''' + Public _devList As New Dictionary(Of String, DeviceListInfo) + + + ''' + ''' 升级设备列表_键值对 + ''' + Public _upgradeDevList As New Dictionary(Of String, UpdateDeviceInfo) + + + ''' + ''' 点击计数 + ''' + Public _clickCount As Integer = 0 + + + +#End Region + +#Region "数据组透传包" + + + + ''' + ''' 透传数据包头 + ''' + Public _fixedHead As Byte() = {&HAA, &H55} + + + ''' + ''' 透传数据固定ID + ''' + Public _fixeSystemId As Byte() = {&H54, &H33, &H53, &H41} + + + ''' + ''' 透传数据房间信息 + ''' + Public _fixeRoomInfo As Byte() = {&HFF, &HFF, &HFF, &HFF} + + + ''' + ''' 包头数据长度 + ''' + Public _dataHeadLength As UShort = 15 + + + ''' + ''' 数据CRC校验长度 + ''' + Public _dataCRCLength As UShort = 2 + + + ''' + ''' 透传命令 + ''' + Public _serialCmd As Byte = &H3 + + + ''' + ''' 透传端口 + ''' + Public _port485 As Byte + + + ''' + ''' 透传超时 + ''' + Public _timeouts As Byte + + + ''' + ''' 发送次数标志位 + ''' + Public _sendTick As Short = 2 '标志位 + + + + ''' + ''' 填充发送数据包 + ''' + ''' + ''' + Public Function FillSendDataPacket(data As Byte()) As Byte() + Dim byteHead As Byte() + Dim crc16 As Byte() + Dim sendPacket As Byte() + + byteHead = SendDataHead(data) '获取DataHaed + crc16 = CheckSendData(byteHead, data) '获取Data检验值 + sendPacket = FillSendPacket(byteHead, data, crc16) '组合发送数据 + + Return sendPacket + End Function + + + ''' + ''' 填充发送包头数据 + ''' + ''' + ''' + Public Function SendDataHead(data As Byte()) As Byte() + Dim byteHead As Byte() + Dim packetLength As Short = _dataHeadLength + _dataCRCLength + data.Length + Dim cmdType As Byte = &H70 + Dim frameNum As Short = 1 + byteHead = FillSendPacketHead(packetLength, cmdType, frameNum) + Return byteHead + End Function + + + ''' + ''' 填充发送信息包头 + ''' + ''' + ''' + ''' + ''' + Public Function FillSendPacketHead(length As Short, cmdType As Byte, frameNum As Short) As Byte() + Dim dataHead As New List(Of Byte) + dataHead.AddRange(_fixedHead) + dataHead.AddRange(BitConverter.GetBytes(length)) + dataHead.AddRange(_fixeSystemId) + dataHead.Add(cmdType) + dataHead.AddRange(BitConverter.GetBytes(frameNum)) + dataHead.AddRange(_fixeRoomInfo) + Return dataHead.ToArray + End Function + + + ''' + ''' 填充发送校验数据 + ''' + ''' + ''' + ''' + Public Function CheckSendData(byteHead As Byte(), data As Byte()) As Byte() + Dim crc16 As Byte() + Dim dataList As New List(Of Byte) + dataList.AddRange(byteHead) + dataList.AddRange(data) + crc16 = GetCRC16CheckSum(dataList.ToArray, dataList.Count) + Return crc16 + End Function + + + ''' + ''' 填充发送数据包 + ''' + ''' 数据包头 + ''' 数据内容 + ''' CRC16校验 + ''' + Public Function FillSendPacket(head() As Byte, data() As Byte, crc16() As Byte) As Byte() + Dim dataList As New List(Of Byte) + dataList.AddRange(head) + dataList.AddRange(data) + dataList.AddRange(crc16) + Return dataList.ToArray + End Function + + + + ''' + ''' 填充透传函数 + ''' 填充透传函数的抽象实现 + ''' + ''' + ''' + Public Function FillPacket(dataBuff() As Byte) As Byte() + If _isReceiving = True Then + dataBuff = FillPacketRealize(dataBuff) '透传数据 + End If + + Return dataBuff + End Function + + + ''' + ''' 填充透传函数的具体实现 + ''' + ''' + ''' + Public Function FillPacketRealize(dataBuff() As Byte) As Byte() + Dim data() As Byte = PassthroughData(dataBuff) + + Dim byteHead As Byte() + Dim crc16 As Byte() + Dim sendPacket As Byte() + + byteHead = SendDataHead(data) '获取DataHaed + crc16 = CheckSendData(byteHead, data) '获取Data检验值 + sendPacket = FillSendPacket(byteHead, data, crc16) '组合发送数据 + + Return sendPacket + End Function + + + ''' + ''' 透传数据CMD + ''' + ''' 串口数据 + ''' + Public Function PassthroughData(dataBuff() As Byte) + Dim dataLen As Integer = dataBuff.Length + 3 + Dim data(dataLen - 1) As Byte + data(0) = _serialCmd + data(1) = _port485 + data(2) = _timeouts + Array.Copy(dataBuff, 0, data, 3, dataBuff.Length) + + Return data.ToArray + End Function + + + +#End Region + +#Region "校验" + + ''' + ''' CRC16校验 + ''' + ''' + ''' + ''' + Public Function GetCRC16CheckSum(dataBuff() As Byte, length As Integer) As Byte() + Dim crc16 As UInteger + Dim crcBytes() As Byte + + crc16 = &HFFFF + For i = 0 To length - 1 + crc16 = crc16 And &HFFFF + crc16 = crc16 Xor dataBuff(i) + For bit = 0 To 7 + crc16 = IIf((crc16 And 1) = 0, crc16 >> 1, (crc16 >> 1) Xor &HA001) + Next + Next + crc16 = crc16 And &HFFFF + crcBytes = BitConverter.GetBytes(UShort.Parse(crc16)) + Return crcBytes + End Function + + + ''' + ''' MD5值校验 + ''' + ''' 需要校验的字符串 + ''' 加密模式 + ''' + Public Function MD5(ByVal strSource As String, ByVal Code As Short) As String + Dim dataToHash As Byte() = (New ASCIIEncoding).GetBytes(strSource) + Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash) + Dim ATR As String = "" + Dim i As Integer + Select Case Code + Case 16 '选择16位字符的加密结果 + For i = 4 To 11 + ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower + + Next + Case 32 '选择32位字符的加密结果 + For i = 0 To 15 + ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower + Next + Case Else 'Code错误时,返回全部字符串,即32位字符 + For i = 0 To 15 + ATR &= Hex(hashvalue(i)).PadLeft(2, "0").ToLower + Next + End Select + Return ATR + End Function + + + ''' + ''' MD5校验 + ''' + ''' 需要校验的字符串 + ''' + Public Function MD51(ByVal strSource As String) As Byte() + Dim dataToHash As Byte() = (New UTF8Encoding).GetBytes(UCase(strSource)) + Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash) + + Return hashvalue + End Function + + + ''' + ''' 获取文件的MD5值 + ''' + ''' 文件路径 + ''' + Public Function GetFileMd5(filepath As String) As String + Dim md5Hasher As New MD5CryptoServiceProvider() + Dim data As Byte() = md5Hasher.ComputeHash(IO.File.ReadAllBytes(filepath)) + Dim fileMd5 As New StringBuilder() + Dim i As Integer + For i = 0 To data.Length - 1 + fileMd5.Append(data(i).ToString("X2")) + Next + + Return fileMd5.ToString() + End Function + + + ''' + ''' 和校验 + ''' 求Byte数组的和校验 + ''' + ''' Byte数组 + ''' + Public Function GetSumCheck(dataPacket As Byte()) As Byte + Dim sum As Integer + For idx = 0 To dataPacket.Length - 1 + sum += dataPacket(idx) + sum = sum And &HFF + Next + Return sum + End Function + + + ''' + ''' 和校验 + ''' 求Byte数组的和校验 + ''' + ''' Byte数组 + ''' + Public Function GetSumChecks(dataPacket As Byte(), ByRef len As Integer) As Byte + Dim sum As Integer + For idx = 0 To len - 1 + sum += dataPacket(idx) + sum = sum And &HFF + Next + + sum = (Not sum) And &HFF + Return sum + End Function + + + ''' + ''' 和校验取余数 + ''' 求Byte数组的和校验取余数 + ''' + ''' Byte数组 + ''' + Public Function GetSumCheckMod(dataPacket As Byte()) As Byte + Dim sum As Integer + For idx = 0 To dataPacket.Length - 1 + sum += dataPacket(idx) + sum = sum And &HFF + Next + Dim sumMod As Byte = &HFF - sum + Return sumMod + End Function + + + +#End Region + +#Region "功能模块" + + + ''' + ''' 红外下载文件夹 + ''' + Public _downFile As String = $"{Application.StartupPath}\DownFile" + + + + + ''' + ''' 检查网络连接 + ''' + Public Function CheckNetWorkConn() As Boolean + If FrmRCU._connectStatus = FrmRCU.EnConnectStatus.DisConnect Then + FrmRCU.AppendTipText("数据发送失败! 原因:未打开网络!!!" & vbCrLf, Color.Red) + Return False + End If + Return True + End Function + + + ''' + ''' 检测串口连接 + ''' + Public Function CheckSerialPortConn() As Boolean + If FrmRCU.SerialPort.IsOpen = False Then + FrmRCU.AppendTipText("数据发送失败! 原因:未打开串口!!!" & vbCrLf, Color.Red) + Return False + End If + Return True + End Function + + + ''' + ''' Byte数组转字符串 + ''' + ''' + ''' + Public Function ByteToString(databuff() As Byte) + Dim strData As String = String.Empty + For i = 0 To databuff.Length - 1 + strData &= $" {Hex(databuff(i)).PadLeft(2, "0"c)}" + Next + Return strData + End Function + + + ''' + ''' Int转2个字节Byte + ''' 高字节在前,低字节在后 + ''' + ''' + ''' + Public Function IntToByteHB(ByVal i As Integer) As Byte() + Dim btemp() As Byte = {0, 0} + Dim b() As Byte = BitConverter.GetBytes(i) + btemp(0) = b(0) + btemp(1) = b(1) + Return btemp + End Function + + + ''' + ''' Int转2个字节Byte + ''' 低字节在前,高字节在后 + ''' + ''' + ''' + Public Function IntToByteLB(ByVal i As Integer) As Byte() + Dim btemp() As Byte = {0, 0} + Dim b() As Byte = BitConverter.GetBytes(i) + btemp(0) = b(1) + btemp(1) = b(0) + Return btemp + End Function + + + ''' + ''' 分块函数 + ''' 计算Byte数组的块数 + ''' + ''' + ''' + Public Function GetBlocks(databuff As Byte()) As Integer + Dim blockCount As Integer = databuff.Length \ 128 + If databuff.Length Mod 128 > 0 Then + blockCount += 1 + End If + Return blockCount + End Function + + + ''' + ''' 延时N秒 + ''' + ''' 时间值 + Public Sub PauseWait(ByVal HowLong As Long) + Dim tick As Long + tick = My.Computer.Clock.TickCount + Do + My.Application.DoEvents() + Loop Until tick + HowLong < My.Computer.Clock.TickCount + End Sub + + + ''' + ''' 读取Hex文件到Byte数组 + ''' + ''' + ''' + Public Function ReadFileToBytes(filePath) As Byte() + Dim result As New List(Of Byte) + + Dim tmpString As String = File.ReadAllText(filePath) + Console.WriteLine($"Befor tmpString:{tmpString}") + + tmpString = tmpString.Replace("0x", "").Replace(vbCrLf, "").Replace(" ", "").Replace(vbTab, "") + Console.WriteLine($"After tmpString:{tmpString}") + + Dim tmpStringArray() As String = tmpString.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries) + + Dim tmp As String = "" + For index = 0 To tmpStringArray.Length - 1 + result.Add($"&H{tmpStringArray(index)}") + tmp &= tmpStringArray(index) & "" + Next + Console.WriteLine($"Befor tmp:{ByteToString(result.ToArray)}") + 'Console.WriteLine($"After tmp:{tmp}") + + Return result.ToArray + End Function + + + ''' + ''' 删除文件夹 + ''' + Public Sub DeleteFiles() + If Directory.Exists(_downFile) = False Then Exit Sub + Try + Directory.Delete(_downFile, True) + Catch ex As Exception + MsgBox($"Delete File Error:{ex.Message}") + End Try + End Sub + + + ''' + ''' 字符串转换Byte数组 + ''' 字符串为连续且不包含任意字符的字符串 + ''' + ''' + ''' + Public Function GetStringToDataByte(str As String) As Byte() + Dim dataList As New List(Of Byte) + + For index As Integer = 0 To str.Length - 1 Step 2 + dataList.Add($"&H{str.Substring(index, 2)}") + Next + Console.WriteLine($"字符串转换Byte数组: {ByteToString(dataList.ToArray)}") + + Return dataList.ToArray + End Function + + + + + +#End Region + + +#Region "未完善" + + + ''' + ''' 发送数据处理(所发所见—16进制) + ''' + ''' + Private Function CMDParameterSendData() + Dim sourceData As String = String.Empty '显示框控件文本 + Dim newData() As String '新的字符串数据—字符串数组 + Dim newArraylen As Integer '新数组长度 + + newData = sourceData.Split(" ") '空格为分割的标志 + Console.WriteLine("分几块数据:" & newData.Length) + newArraylen = newData.Length + Dim hexData(newArraylen - 1) As Byte + Dim tmpCnt As Integer = 0 + Try + For i = 0 To newData.Length - 1 + If newData(i) <> "" Then + hexData(tmpCnt) = $"&H{newData(i)}" + Console.WriteLine($"要发送的数据" & hexData(tmpCnt)) + tmpCnt += 1 + End If + Next + Catch ex As Exception + MsgBox("数据输入格式有误") + End Try + Return hexData + End Function + + +#End Region + + + + + +End Module diff --git a/RCU-10/RCU/RCUVersion.txt b/RCU-10/RCU/RCUVersion.txt new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/RCUVersion.txt @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/RCU_TemporaryKey.pfx b/RCU-10/RCU/RCU_TemporaryKey.pfx new file mode 100644 index 0000000..1652d0c Binary files /dev/null and b/RCU-10/RCU/RCU_TemporaryKey.pfx differ diff --git a/RCU-10/RCU/Resource1.Designer.vb b/RCU-10/RCU/Resource1.Designer.vb new file mode 100644 index 0000000..070c3b8 --- /dev/null +++ b/RCU-10/RCU/Resource1.Designer.vb @@ -0,0 +1,77 @@ +'------------------------------------------------------------------------------ +' +' 此代码由工具生成。 +' 运行时版本:4.0.30319.42000 +' +' 对此文件的更改可能会导致不正确的行为,并且如果 +' 重新生成代码,这些更改将会丢失。 +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '此类是由 StronglyTypedResourceBuilder + '类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 + '若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen + '(以 /str 作为命令选项),或重新生成 VS 项目。 + ''' + ''' 一个强类型的资源类,用于查找本地化的字符串等。 + ''' + _ + Friend Class Resource1 + + Private Shared resourceMan As Global.System.Resources.ResourceManager + + Private Shared resourceCulture As Global.System.Globalization.CultureInfo + + _ + Friend Sub New() + MyBase.New + End Sub + + ''' + ''' 返回此类使用的缓存的 ResourceManager 实例。 + ''' + _ + Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RCU.Resource1", GetType(Resource1).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' 重写当前线程的 CurrentUICulture 属性 + ''' 重写当前线程的 CurrentUICulture 属性。 + ''' + _ + Friend Shared Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + + ''' + ''' 查找类似于 (图标) 的 System.Drawing.Icon 类型的本地化资源。 + ''' + Friend Shared ReadOnly Property SerialApp() As System.Drawing.Icon + Get + Dim obj As Object = ResourceManager.GetObject("SerialApp", resourceCulture) + Return CType(obj,System.Drawing.Icon) + End Get + End Property + End Class +End Namespace diff --git a/RCU-10/RCU/Resources/favicon.ico b/RCU-10/RCU/Resources/favicon.ico new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/Resources/favicon.ico differ diff --git a/RCU-10/RCU/System.Data.SQLite.dll b/RCU-10/RCU/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/System.Data.SQLite.dll differ diff --git a/RCU-10/RCU/UTS_Core.dll b/RCU-10/RCU/UTS_Core.dll new file mode 100644 index 0000000..dfc5986 Binary files /dev/null and b/RCU-10/RCU/UTS_Core.dll differ diff --git a/RCU-10/RCU/UpdateDeviceInfo.vb b/RCU-10/RCU/UpdateDeviceInfo.vb new file mode 100644 index 0000000..07bffd9 --- /dev/null +++ b/RCU-10/RCU/UpdateDeviceInfo.vb @@ -0,0 +1,63 @@ +Public Class UpdateDeviceInfo + + ''' + ''' 设备地址 + ''' + Public Property DevAddress As String + + ''' + ''' 设备分区 + ''' + Public Property DevPartition As String + + ''' + ''' 设备名称 + ''' + ''' + Public Property DevName As String + + ''' + ''' 更新结果 + ''' + ''' + Public Property DevResult As String + + + ''' + ''' 初始化 + ''' + Sub New() + DevAddress = $"" + DevPartition = $"" + DevName = $"" + DevResult = $"" + End Sub + + + ''' + ''' 初始化 + ''' + ''' + ''' + ''' + Sub New(devAddr As String, devPartition As String, devName As String) + Me.DevAddress = devAddr + Me.DevPartition = devPartition + Me.DevName = devName + Me.DevResult = $"未升级" + End Sub + + + + ''' + ''' 升级结果 + ''' + Public Sub UpgradeResult() + DevResult = $"未升级" + End Sub + + + + + +End Class diff --git a/RCU-10/RCU/bin/Debug/BLV_C1_APP.hex b/RCU-10/RCU/bin/Debug/BLV_C1_APP.hex new file mode 100644 index 0000000..5755977 --- /dev/null +++ b/RCU-10/RCU/bin/Debug/BLV_C1_APP.hex @@ -0,0 +1,6079 @@ +:020000040000FA +:1080000000800020A5800000812C0100C1800000BC +:108010000000000000000000000000000000000060 +:10802000000000000000000000000000B18000001F +:108030000000000000000000B38000007D4D010042 +:1080400039550100B7800000B7800000B7800000FC +:10805000B7800000B7800000B780000095FF0000E7 +:10806000B7800000B780000055590100FD5B01009A +:10807000B7800000B7800000B7800000B780000024 +:10808000B7800000B55E010079610100B780000093 +:108090000348854600F098FA0048004789B8010077 +:1080A000008000200448804704480047FEE7FEE7C0 +:1080B000FEE7FEE7FEE7FEE7C14D0100918000000C +:1080C0007046694611F0ACF9FFF7FEFF30B50B467C +:1080D000014600202022012409E00D46D5409D42A2 +:1080E00005D31D469540491B254695404019154628 +:1080F000521E002DF1DC30BD70B50024254600284D +:1081000001DA01244042002901DA01254942FFF742 +:10811000DDFFAC4200D04042002C00D0494270BD8F +:1081200003460B439B0703D009E008C9121F08C090 +:10813000042AFAD203E00B780370401C491C521E3B +:10814000F9D27047D2B201E00270401C491EFBD246 +:1081500070470022F6E710B513460A460446194652 +:10816000FFF7F0FF204610BD10B5044605E00B7880 +:108170000370401C002B00D0491C521EF7D2204631 +:1081800010BDCAB2401E4178401C8A4202D000296C +:10819000F9D100207047421C0178401C0029FBD116 +:1081A000801A704703460A780270401C491C002A56 +:1081B000F9D1184670470321001D401E03781202B2 +:1081C0001A43491EF9D5104670470346032208702A +:1081D000000A491C521EFAD518467047F0B51FB464 +:1081E0000646002082B005464024019100901BE025 +:1081F000019922460F46304600F008FA049A059B82 +:10820000801A994110D310461946224600F0EEF923 +:10821000361A8F410197224601200021009F00F06D +:10822000E5F938184D4100902046641E0028DFDC37 +:10823000019B00982946324607B0F0BDF0B50746CD +:108240000846584087B0C00F049048000E465900B9 +:1082500040084908BC1A884105D2384631461E46B6 +:1082600017460B4602465800400810434CD0300DCC +:10827000039040055900400D490D0590401A0290A9 +:10828000402872DA18030121000B09050843019008 +:1082900004980092002805D001995242002088419C +:1082A00000920190029840210A1A0199009800F06A +:1082B0009DF905460C466B4607CB00F0B8F9C0198E +:1082C0007141039A0E0D0023D71756401A467A4083 +:1082D000164344D0049A002A2DD0029A012A039A08 +:1082E00015DC1205C01A914101263605001C7141AA +:1082F000D20F059ED2070093019202962A4623468A +:1083000000F0B5F907B0F0BD38463146FAE716057A +:10831000224A0F46B218C01AB74101210905001CB4 +:108320004F4100187F41114618187941E20F104360 +:108330006D19644113E0E2076D0815436408C20734 +:108340001443039A01261205C01A91413605001CF8 +:108350007141CE07400830434908C01851412A46B0 +:10836000234600F077F9CDE7FFE7049801224000AB +:10837000C117121A00238B4104983146C417381ACA +:10838000A141EEE730B40124E407634030BC55E777 +:1083900030B40124E407614030BC4FE70000E0FF47 +:1083A000F0B51FB488B00B9909980024484009998A +:1083B000C00F490049080991C0070B990090490076 +:1083C00049080B9109990898A64608431CD00B99B7 +:1083D0000A98084318D0099801244000420D48002B +:1083E000410D099824050003000B204309900B98C8 +:1083F0000003000B20430B9050181C49401800222A +:1084000001901446104605E0002001460DB0F0BD75 +:10841000032801DA034600E003239C46C11A0AAE92 +:108420000AE05F0008ADED5B4F00F75B7D4300277E +:10843000AA187C41491C5B1E6145F2DD410004AB7A +:108440005A522104120C0A43240C401C0828DFDB7A +:10845000019802900099704601910090059B049A42 +:108460000799069800F003F9D0E700000DFCFFFF24 +:10847000F0B50C465C4085B0E40FE40703944C0073 +:108480000026640859009446490802460296224391 +:1084900021D062460A431ED06200570D4A000E03E7 +:1084A0002303550D012402462C492405781B1B0B80 +:1084B000360B401823432643614600901C46501A51 +:1084C000B44103D30098401C009002E09218009839 +:1084D0005B41002803DA0020014605B0F0BD002012 +:1084E000012109050746864611E064461D46141B16 +:1084F000B54106D36546521BB341744607430C434E +:10850000A646CD0740084908284392185B41054616 +:108510000D43EAD11046184313D060461946504027 +:108520007140084306D06046101AB34106D20122BA +:10853000002306E000220123DB0702E00122D243F0 +:108540005310009874460105381C6141029C039D3C +:108550000019694100F07EF8BFE70000FD0300004C +:108560004A0009030123090B1B0519430A4B10B5E7 +:10857000520D9A4202DA0020014610BD064B3433F8 +:108580009A4203DC9A1A00F041F810BD034BD2184E +:1085900000F02CF810BD0000FF030000CDFBFFFF32 +:1085A00010B5002904DB0124E40740428C41214638 +:1085B000002B04DB1C460123DB075242A3419942F6 +:1085C00000D1904210BD0000064C0125064E05E08A +:1085D000E36807CC2B430C3C98471034B442F7D3E4 +:1085E000FFF75AFDE0FA010000FB010010B5202A58 +:1085F00004DB0146203A9140002010BD9140202329 +:108600009C1A0346E3401943904010BD10B5202A40 +:1086100004DB0846203AD040002110BD0B46D34071 +:10862000D0402024A21A91400843194610BD10B52D +:10863000202A06DBCB170846203A1041C1170B430E +:1086400006E00B461341D0402024A21A9140084373 +:10865000194610BD10B5002B08DA0024401C6141FA +:1086600092185B411A4301D14008400010BDF0B59B +:108670001FB482B005460C0003D0084610F0CCF9B8 +:1086800002E010F0C9F92030024600902146284649 +:10869000FFF7ACFF049B059A04460F4618431143AD +:1086A000084314D0184610431BD0009840210A1AE2 +:1086B00018460599FFF7AAFF05460E46009A059948 +:1086C0000498FFF793FF084305D0012004E02046FB +:1086D000394607B0F0BD0020C11705430E432C43B7 +:1086E000374300990E986305401A7905E40A002281 +:1086F0000C43FD0A0A3002D500200146E9E70105D6 +:10870000101969410C9C0D9D00196941FFF7A2FFEA +:10871000DFE770B58C180578401C6B075B0F01D143 +:108720000378401C2A1106D10278401C03E0067829 +:108730000E70401C491C5B1EF9D12B0705D4002389 +:10874000521E0DD40B70491CFAE70378401CCB1A5B +:10875000921C03E01D780D70491C5B1C521EF9D55C +:10876000A142D8D3002070BDF8B5D54C0820201800 +:108770000378D24E1946437872781B0219438378E6 +:10878000C0781B041943000601430C2023181F78EE +:10879000CC4D38465F783F0238439F78DB783F0402 +:1087A00038431B061843002A04D00027062A7DD030 +:1087B0007770F8BD814246D00BF033FE0246C2A16D +:1087C000002007F0DFF90C20201801780A464178D4 +:1087D00009020A438178C07809040A43000602436B +:1087E000102028180378194643781B021943837810 +:1087F000C0781B0419430006014302200FF06CFCF3 +:108800000C2021180A7810464A78120210438A7800 +:10881000C97812041043090608430121890240184F +:108820002073010A6173010CA173010EE173AC495D +:10883000884208D9252080032073010A6173010C46 +:10884000A173000EE0732278E0781146627800068A +:1088500012021143A27823791204114301431846EE +:108860006379E2791B021843A37912061B041843AB +:10887000104381425FD00BF0D4FD227907461046A9 +:108880006279E17912021043A279090612041043B9 +:108890000843801C0BF074FD2873010A6973010CF6 +:1088A000A973000EFF21E873E13100E099E08F42E7 +:1088B00000D90F468B483A4600682872010A69724F +:1088C000010CA972000EE8727FA1002007F05AF98E +:1088D0002279E07911466279000612021143A279E9 +:1088E0001204114301433A460220C91C09F0DCFB83 +:1088F000062070702279E179104662790906120229 +:108900001043A27912041043084301218902401840 +:108910002071010A6171010CA171010EE1717249AE +:10892000884208D9952000032071010A6171010C69 +:10893000A171000EE0712A78E97810466A7809067C +:1089400012021043AA78674C1204104308432168AE +:108950002A790B1A10466A79E97912021043AA792A +:108960000906120410430843834200D821E75FA19F +:10897000002007F007F920682870010A6970010CCF +:10898000A970000EE87001203070102029180A78B4 +:108990004B2410464A78E401120210438A78C978C1 +:1089A0001204104309060843A042DFD05BA1002057 +:1089B00007F0E8F82C74210A6974210CA974210EBF +:1089C000E97414216A1813782046194653781B025B +:1089D00019439378D2781B04194312061143884730 +:1089E000F8BD814247D00BF01CFD024650A100208B +:1089F00007F0C8F80C20201801780A4641780902CF +:108A00000A438178C07809040A4300060243102013 +:108A100028180378194643781B0219438378C078D5 +:108A20001B0419430006014302200FF055FB0C20E4 +:108A3000777021180A7810464A78120210438A7813 +:108A4000C97812041043090608430121890240181D +:108A50002073010A6173010CA173010EE1732049B7 +:108A6000884208D9252080032073010A6173010C14 +:108A7000A173000EE073082029180A7810464A787E +:108A8000120210438A78C978120410430906084379 +:108A9000144909680B1A0C2029180A7810464A78DC +:108AA000120210438A78C978120410430906084359 +:108AB000834295D90FF0BEFA7770F8BD9229002055 +:108AC000C50E002094290020554152543220646183 +:108AD00074615F6C656E203A2564200D0A00000009 +:108AE000FF4F090014000020FF5F09004163743448 +:108AF00038355F496E666F20506F72745F4E6F72CB +:108B00006D616C5F4D6F6465206D6F64655F6F753F +:108B10007474696D65200D0A0000000041637434AF +:108B200038355F496E666F2E62617564200D0A00EC +:108B3000554152543220646174615F6C656E203A15 +:108B40002564202C52585F4275666665723A0000B3 +:108B5000F7B582B005460498153080B20090082021 +:108B60000BF04AFC044604200BF046FC0646FF3896 +:108B70009F2101380902884205D3FF2601360421CE +:108B800030460BF029FDB44202D33C48844200D960 +:108B90003446002601277F02A11900200BF0F2FCC9 +:108BA000761CB6B2BE42F7D3287821460BF0EAFC19 +:108BB0006878611C0BF0E6FCA878A11C0BF0E2FCC5 +:108BC000EA78A97910462A790906120210436A79CF +:108BD000EE1C120410430843E11C0BF0FDFCE11DE8 +:108BE00000200BF0CFFC2146083100980BF009FD66 +:108BF0002146A87A0A310BF0C5FC707A317A00025E +:108C0000084321460B310BF0FCFC6E1C0C20311884 +:108C10000A7810464A78120210438A78C9781204FA +:108C200010430906084321460D310BF0D5FC1020F6 +:108C300031180A7810464A78120210438A78C978A7 +:108C40001204104309060843214611310BF0C4FCFD +:108C500022461532049903980BF00EFB204600992A +:108C600006F0D2FFE871E11D0BF08CFCE01DFF3037 +:108C7000FA3008210BF0B0FC05B0F0BDFF9F0000FA +:108C8000F7B582B006460498153080B200900020F7 +:108C90000BF0B2FB0446FF389F21013809028842DD +:108CA00001D3FF240134002501277F026119002030 +:108CB0000BF068FC6D1CADB2BD42F7D33078214695 +:108CC0000BF060FC7078611C0BF05CFCB078A11CB0 +:108CD0000BF058FCF278B17910463279090612028D +:108CE00010437279F51C120410430843E11C0BF089 +:108CF00073FCE11D00200BF045FC21460831009873 +:108D00000BF07FFC2146B07A0A310BF03BFC687A0D +:108D1000297A0002084321460B310BF072FC0C202B +:108D2000761C31180A7810464A78120210438A7865 +:108D3000C978120410430906084321460D310BF08F +:108D40004BFC102031180A7810464A781202104362 +:108D50008A78C97812041043090608432146113164 +:108D60000BF03AFC22461532049903980BF084FA72 +:108D70002046009906F048FFE11D0BF003FCE01DC2 +:108D8000FF30FA3000210BF027FC05B0F0BD0000E9 +:108D9000F7B582B005460498153080B200900420E3 +:108DA0000BF02AFB044600200BF026FB0646FF389A +:108DB0009F2101380902884205D3FF260136002190 +:108DC00030460BF009FCB44202D33C48844200D93F +:108DD0003446002601277F02A11900200BF0D2FBA8 +:108DE000761CB6B2BE42F7D3287821460BF0CAFBF8 +:108DF0006878611C0BF0C6FBA878A11C0BF0C2FBC5 +:108E0000EA78A97910462A790906120210436A798C +:108E1000EE1C120410430843E11C0BF0DDFBE11DC6 +:108E200000200BF0AFFB2146083100980BF0E9FB66 +:108E30002146A87A0A310BF0A5FB707A317A00023C +:108E4000084321460B310BF0DCFB6E1C0C20311863 +:108E50000A7810464A78120210438A78C9781204B8 +:108E600010430906084321460D310BF0B5FB1020D5 +:108E700031180A7810464A78120210438A78C97865 +:108E80001204104309060843214611310BF0A4FBDC +:108E900022461532049903980BF0EEF9204600990A +:108EA00006F0B2FEE871E11D0BF06CFBE01DFF3037 +:108EB000FA3004210BF090FB05B0F0BDFF9F0000DD +:108EC00010B5ACB0002100910446019102910391CC +:108ED00004910591982106A8FFF73BF96A46547062 +:108EE00006211170022090704B20C001D070030A3F +:108EF0001371030C5371000E907103209072642063 +:108F0000D072002010730F485073030A9373030C40 +:108F1000D373000E10740C485074030A9374030C3E +:108F2000D374000E107528AA51710720907101208A +:108F300018AA9071972206A96846FFF709FE2CB07F +:108F400010BD0000C5D3000051D0000010B5074887 +:108F50000078012803D0022804D0032801D100F0B2 +:108F600007F810BDFFF700FC10BD0000922900209B +:108F7000F0B5FA4883B00446817EA01C0090671CBF +:108F80001C203A18137825461846537821341B02C2 +:108F900018439378D2781B041843120610430190AB +:108FA0002378E2781846637812061B021843A378E8 +:108FB00020351B04184310438446002906D002299B +:108FC00071D0032970D004296FD17DE2E44E0820CE +:108FD000301801780A46417809020A438178C0783E +:108FE00009040A43000602430C2031180B78184686 +:108FF0004B781B0218438B78C9781B041843090669 +:109000000843824276D00BF00CFA0190142020180D +:1090100001780B46417809020B438178C078090436 +:109020000B43000603431FD0581C1DD00C203118E1 +:109030000A7810464A78120210438A78C9781204D6 +:10904000104309060843801C227884461046627843 +:10905000E17812021043A278120410430906084373 +:109060006146019A9847E872E87A00281ED0BB4C06 +:10907000BCA1207F401CC2B22277002006F082FDF6 +:109080000320A076B54C207FE17E88427ED3BCA130 +:10909000002006F077FD0020A0762077E872207887 +:1090A00003287AD097E0D5E014E109E22278E1784C +:1090B00010466278090612021043A2781204104387 +:1090C00008431C217A181378194653781B02194358 +:1090D0009378D2781B0419431206114388420AD1AF +:1090E000ADA1002006F04EFD0020A8729B49022091 +:1090F000887607E093E0ACA1002006F043FD974896 +:1091000004218176954800210177007803281DD13C +:109110000C20301801780A46417809020A43817808 +:10912000C07809040A430006024300981021401841 +:109130000378194643781B0219438378C0781B04CF +:1091400019430006014302200EF0C6FF0C2031181F +:109150000A7810464A78120210438A78C9781204B5 +:109160001043090608430121890240183073010A9F +:109170007173010CB173010EF1738F49884281D96B +:10918000252080033073010A717301E08CE004E054 +:10919000010CB173000EF07374E70C2030180178E5 +:1091A0000A46417809020A438178C07809040A43D3 +:1091B00000060243009810214018037819464378AE +:1091C0001B0219438378C0781B041943000601432E +:1091D00002200EF081FF0C2031180A7810464A78E0 +:1091E000120210438A78C978120410430906084312 +:1091F0000121890240183073010A7173010CB173A7 +:10920000010EF1736C4988424ED9252080033073DA +:10921000010A7173010CB173000EF0735CE16748D1 +:10922000227901686648C0680B1A10466279E179B4 +:1092300012021043A2790906120410430843834224 +:1092400032D9A87A01287DD1019884457AD10020AD +:10925000A87231E13877010A7977010CB977010EEC +:10926000F977102162181378194653781B021943B5 +:109270009378D2781B0419431206114303D04A1C79 +:1092800001D08847A87200214C48E97202684C4816 +:10929000C260A87A012808D00520207100226271DE +:1092A000A271E2712D48817616E10C202A181378FC +:1092B000184653781B0218439378D2781B0418433E +:1092C000120610432071020A6271020CA271000E94 +:1092D000E071E7E7FF30FF3002302070010A617073 +:1092E000010CA170000EE07008200BF085F82378C7 +:1092F000E2781946637812061B021943A3781B040F +:1093000019431143884202D92E48814209D30420CF +:109310000BF072F82070010A6170010CA170000E50 +:10932000E0702278E1781046627809061202104354 +:10933000A27812041043084306F084FC00286AD087 +:10934000217800E0C5E00A466178E07809020A4326 +:10935000A17809040A430006024335E0922900205F +:10936000C50E0020446174612070617273696E677C +:10937000206661696C6564203A25640D0A0000006E +:1093800077697065206361636865207061727469D4 +:1093900074696F6E0D0A00005265706C7920535528 +:1093A00043430D0A000000004E6F74204465762090 +:1093B000446174610D0A0000FF4F09001000002095 +:1093C00050000020FF9F000090A1002006F0DAFB73 +:1093D00099A1002006F0D6FB00250126760222780E +:1093E000E17810466278090612021043A27812044E +:1093F0001043084340190AF0C3FF024692A100201F +:1094000006F0C0FB6D1CADB2B542E8D390A10020C0 +:1094100006F0B8FB60E02278E17810466278090631 +:1094200012021043A2781204104308430D300AF0D0 +:10943000E3FF2074010A6174010CA174000EE07452 +:109440002278E17810466278090612021043A27869 +:1094500012041043084311300AF0CEFF2075010AB0 +:109460006175010CA175000EE0752278E178104657 +:109470006278090612021043A278120410430843CE +:109480000B300AF0CEFF2873010A6973010CA9732F +:10949000000EE8732278E17810466278090612021D +:1094A0001043A2781204104308430A300AF0A4FFC4 +:1094B0002874E87A002803D16649022088760BE0F8 +:1094C00064490020887607E0019806F0BBFB00287D +:1094D00031D06049032088765E4C2078012828D05E +:1094E000009801460A7810464A78120210438A789A +:1094F000C9781204104309060843574909680D1A30 +:109500000098021D1378184653781B02184393786D +:10951000D2781B04184312061043854209D90098DB +:109520000A0A017042700A0C8270090EC170012093 +:10953000207003B0F0BD1C2039180A7810464A7814 +:10954000120210438A78C9781204104309060843AE +:109550000D300AF051FF2074010A6174010CA174EE +:10956000000EE0741C2039180A7810464A7812025E +:1095700010438A78C9781204104309060843113051 +:109580000AF03AFF2075010A6175010CA175000E01 +:10959000E0751C2039180A7810464A7812021043E8 +:1095A0008A78C97812041043090608430B300AF080 +:1095B00038FF2873010A6973010CA973000EE87360 +:1095C0001C2039180A7810464A78120210438A780B +:1095D000C97812041043090608430A300AF00CFF48 +:1095E00028741C2039180A7810464A781202104351 +:1095F0008A78C97812041043090608432070010ACA +:109600006170010CA170000EE07059E7424C565F8A +:10961000416374697665506F72745F5461736B2037 +:109620002D20526561645F446576204661696C3A1D +:1096300020253038580D0A00526561645F44657614 +:1096400020446174613A0000253032582000000047 +:109650000D0A0000922900201400002010B50748D0 +:109660000078012803D0022804D0032801D101F09A +:1096700009F910BD03F05EFF10BD0000572900205E +:1096800030B5B5B004460AF07BFEF12802D00120C7 +:1096900035B030BD224615321546D22168460AF053 +:1096A000BDFD30A8C079002804D06946204604F0EA +:1096B000E3F939E030A8007A002804D06946204652 +:1096C00004F04CFA30E030A8407A002804D0694613 +:1096D000204604F0B1FA27E032A8023001780B46A8 +:1096E000417809020B438178C07809040B430006D6 +:1096F000034304D06946204604F048FB14E033A835 +:10970000023001780B46417809020B438178C0781A +:1097100009040B43000603436946204602D004F0C7 +:10972000AFFB01E004F0F2FA30A8C078032803D9B7 +:10973000012030A9087102E030A9401CC8702A46F7 +:10974000D22168460AF098FDE11D00200AF01AFFB8 +:10975000E721204606F058FAE11D0AF013FF002029 +:1097600035B030BDF7B5BCB014463C9A0E46002764 +:1097700015323D46D22101A83A920AF04FFD21460A +:10978000304606F041FA002806D0FDA1022006F07E +:10979000BBF901203FB0F0BD30460AF0F1FD0128D1 +:1097A00006D0FCA1022006F0AFF901203FB0F0BDC9 +:1097B000701C0AF0E5FD30A9497A814206D0FCA16F +:1097C000022006F0A1F901203FB0F0BDB01C0AF064 +:1097D000D7FDF12806D0FCA1022006F095F9012062 +:1097E0003FB0F0BDF01C0AF0CBFD002806D0FDA173 +:1097F000022006F089F901203FB0F0BD301D0AF0CB +:10980000BFFDA04206D0FEA1022006F07DF9012096 +:109810003FB0F0BDB01D0AF0B3FDA02806D0FEA1F8 +:10982000022006F071F901203FB0F0BD002430A9FC +:10983000CC710C72F01D0AF0A3FD30A9897A203991 +:1098400006292BD20A007A441279921897442602EC +:109850000D181D22012821D130A98C73200AC8734C +:10986000200C0874200E487418E0022816D130A984 +:109870008C74200AC874200C0875200E48750DE001 +:1098800003280BD130A8047308E0042806D130A8BF +:10989000447303E0052801D130A8C4723046083073 +:1098A0000AF06EFD3690002430460A30389001A848 +:1098B0000019A03000908079369A0007000F6100EF +:1098C0003791CA409107890F88421AD1022818D0CF +:1098D00030A8C17A0120A040814330A8C1723898D5 +:1098E0000AF04EFD3799C84083079B0F19D00098A6 +:1098F0006D1C8373EDB22246CDA1022006F004F95F +:109900000FE0884201D1022843D02246CEA1022096 +:1099100006F0FAF830A8C17A0120A040014330A82F +:10992000C172641CE4B2042CC1D3304609300AF081 +:1099300027FD3690002430460B30379001A80019DF +:10994000A0300090807A369903071B0F6000399091 +:10995000C1408807800F834237D1022B35D030A811 +:10996000C17A221D01209040814330A8C1723798EE +:109970000AF006FD3999C84083079B0F37D000983D +:109980006D1C8374EDB2221DA9A1022006F0BCF863 +:109990002DE030A8C17A0120A040814330A8C172D7 +:1099A00038980AF0EDFC3799C840830700989B0F60 +:1099B000807B9842B5D000986D1C8373EDB222462F +:1099C000A8A1022006F0A0F8ABE7834201D1022B48 +:1099D0007ED00090221DAAA1022006F095F830A9A1 +:1099E000C87A221D01219140084330A9C872641C25 +:1099F000E4B2032CA2D330460C300AF0C1FC28A9F3 +:109A0000487430460D300AF0BBFC6946A74CC87359 +:109A100020460AF0B5FC6946C97B884209D0A4A15A +:109A2000022006F071F86846C07B21460AF0AAFDC4 +:109A30007F1C304610300AF0A3FC0446000210AA36 +:109A40005074010A9174010CD174000E10759E4877 +:109A50000AF096FCA04208D09CA1022006F054F81F +:109A6000994920460AF08EFD7F1C30460F300AF0DF +:109A700087FC14A901310A78044610464A7812027C +:109A800010438A78C978120410430906084320431A +:109A9000000210AA5074010A9174010CD174000ED6 +:109AA000107592480AF06CFCA04208D090A10220E8 +:109AB00006F02AF88D4920460AF064FD7F1C3046E6 +:109AC0000E300AF05DFC14A9013104460A7800E06A +:109AD0005CE110464A780B26120210438A78C97856 +:109AE0001204104309060843204310AA5074010AC7 +:109AF0009174010CD174000E1075360330460AF0D3 +:109B00003FFCA04208D082A1022005F0FDFF3146B3 +:109B100020460AF037FD7F1C002D25D038980AF02A +:109B20002FFC834D044628460AF02AFCA04208D0A8 +:109B300080A1022005F0E8FF294620460AF022FD18 +:109B40007F1C37980AF01CFC814D044628460AF019 +:109B500017FCA04208D07FA1022005F0D5FF2946BE +:109B600020460AF00FFD7F1C002F01D007F058FFA0 +:109B7000D22101A83A9A0AF07FFB00203C99F7E035 +:109B80004335494F20436865636B204661696C210A +:109B9000200D0A004335494F20504B545F41444447 +:109BA0005F464D204661696C21200D0A00000000CF +:109BB0004335494F20504B545F545950452046611E +:109BC000696C21200D0A00004335494F20504B5449 +:109BD0005F44657654797065204661696C21200D7B +:109BE0000A0000004335494F20504B545F41444424 +:109BF0005F544F204661696C21200D0A000000006F +:109C00004335494F20504B545F4C454E20466169C7 +:109C10006C21200D0A0000004335494F20504B5461 +:109C20005F434D44204661696C21200D0A0000000D +:109C30004335494F2044495F537461727425642051 +:109C400025642021200D0A004335494F2044495FF7 +:109C500054797065202564204661696C21200D0AC5 +:109C6000000000004335494F2044495F5049525F8E +:109C7000537461727425642025642021200D0A002C +:109C80004335494F2044495F54797065202564204D +:109C90004661696C212074656D70313A2564202C11 +:109CA0002074656D70323A25640D0A0003B000001F +:109CB0004335494F5F444F5F53746174757320435C +:109CC00068616E67650D0A0002B000004335494FB8 +:109CD0005F52656C61795F5374617475735F332093 +:109CE0004368616E67650D0A0000000001B0000066 +:109CF0004335494F5F52656C61795F537461747588 +:109D0000735F32204368616E67650D0A00000000D2 +:109D10004335494F5F52656C61795F537461747567 +:109D2000735F31204368616E67650D0A00000000B3 +:109D300004B000004335494F5F44495F5374617478 +:109D400075735F4C204368616E67650D0A00000003 +:109D500005B000004335494F5F44495F5374617457 +:109D600075735F48204368616E67650D0A000000E7 +:109D7000C91D0AF007FCE7213C9805F045FF3C9916 +:109D8000C91D0AF0FFFB00203FB0F0BD30A8C17A2A +:109D9000221D01209040814330A8C17237980AF0FB +:109DA000EFFA3999C840830700989B0F807C98424E +:109DB00000D11CE600986D1C8374EDB2221D02498F +:109DC000022005F0A1FE12E6649C0000F0B593B0FD +:109DD00005460AF0D5FA152802D0012013B0F0BDCF +:109DE0002A4615321746462168460AF017FA10A986 +:109DF00002310A78012610464A78120210438A7806 +:109E0000C9781204104309060843002879D00020BD +:109E10003246824010AC023421780B466178090248 +:109E20000B43A17809040B43E17809060B43134265 +:109E300003D1401CC0B20D28EAD3402A47D00EDC23 +:109E4000082A35D006DC012A17D0022A1ED0042A9F +:109E50005BD124E0102A30D0202A56D132E00120F4 +:109E60008002824248D050DC802A35D0FF3A521E10 +:109E700037D0FF3A012A48D138E036A1022005F058 +:109E800043FE6946284604F014FA3EE03AA1022057 +:109E900005F03AFE6946284604F093FA35E03DA104 +:109EA000022005F031FE6946284604F0EDFA2CE068 +:109EB0006946284604F0D6F827E06946284604F0AB +:109EC000BDF922E06946284604F039FA1DE06946EA +:109ED000284604F03DF918E06946284604F0FDF8EC +:109EE00013E06946284604F06EF90EE069462846FC +:109EF00004F010FD09E004E06946284604F0DAFBAE +:109F000003E06946284604F072F8684600780428A1 +:109F10000AD96A465670002010AA9070D07010714D +:109F200050716A46107002E06946401C08703A465B +:109F3000462168460AF0A0F9E91D00200AF022FB3C +:109F40005B21284605F060FEE91D0AF01BFB00209E +:109F500013B0F0BD43354D555349435F5365745FAE +:109F600044656661756C745F566F6C756D655F46B0 +:109F70006C61670D0A00000043354D555349435F3E +:109F80005365745F566F6C756D655F466C61670DE8 +:109F90000A00000043354D555349435F53706563D4 +:109FA0006966795F506C61795F466C61670D0A0084 +:109FB000F0B51646024693B00C460546153200270A +:109FC0004621684612920AF029F93146204605F0EA +:109FD0001BFE002806D0F4A1022005F095FD01200B +:109FE00013B0F0BD20460AF0CBF9012806D0F4A149 +:109FF000022005F089FD012013B0F0BD601C0AF0BD +:10A00000BFF9694600078978000F814206D0F3A1A5 +:10A01000022005F079FD012013B0F0BDA01C0AF06C +:10A02000AFF9012806D0F4A1022005F06DFD012052 +:10A0300013B0F0BDE01C0AF0A3F9002806D0F6A189 +:10A04000022005F061FD012013B0F0BD201D0AF0D3 +:10A05000E8F9B04206D0F7A1022005F055FD012035 +:10A0600013B0F0BD204608300AF08AF9E02806D087 +:10A07000F7A1022005F048FD012013B0F0BDE01D5E +:10A080000AF07EF92146093100263A2870D00CDC0E +:10A0900030380A286DD202007A4412799218974417 +:10A0A000138EAAC6E468FE6868FD0127BF023E2839 +:10A0B00073D006DC3B2871D03C2870D03D2858D1A5 +:10A0C00074E23F2855D1B9E208460AF059F96946C9 +:10A0D000487120460A300AF053F969460873204651 +:10A0E0000B300AF04DF96946487320460D300AF0EE +:10A0F00098F96946C88120460F300AF041F94206B6 +:10A10000520E69468A71C009C871204610300AF0A3 +:10A1100037F969460872204611300AF031F969466C +:10A120004872204612300AF02BF9694688722046A0 +:10A1300013300AF025F96946CC4CC87220460AF063 +:10A140001FF969464979884209D0C9A1022005F062 +:10A15000DBFC6846407921460AF014FA0127CD4C11 +:10A1600020460AF00DF96946897988420CD001E051 +:10A17000DBE079E0C8A1022005F0C6FC68468079E2 +:10A1800021460AF0FFF97F1CCB4C20460AF049F922 +:10A190006946C98988420DD002E021E2E2E0E1E1AE +:10A1A000C6A1022005F0B0FC6846C08921460AF02D +:10A1B00028FA7F1C002F57D007F032FC56E2C6A1C8 +:10A1C000022005F0A1FC10A902310A7810464A7855 +:10A1D000120210438A78C978120410430906084312 +:10A1E0004008400010AA9070010AD170010C117152 +:10A1F000000E50713AE2C2A1022005F085FC10A9C0 +:10A2000002310A7810464A78120210438A78C978D7 +:10A2100012041043090608430421884310AA9070D1 +:10A22000010AD170010C1171000E50711EE2BDA126 +:10A23000022005F069FC6A4610A9567502310A78B9 +:10A2400010464A78120210438A78C97812041043E3 +:10A25000090608430221884310AA9070010AD170B0 +:10A26000010C1171000E507100E208460AF088F8E6 +:10A2700008A9087320460A300AF082F808A98873F2 +:10A2800020460B300AF07CF808A9887322310A783E +:10A2900010464A78120210438A7801E02DE00FE060 +:10A2A000C97812041043090608430821884310A9FD +:10A2B0008870020ACA70020C0A71000E4871D5E15A +:10A2C00008460AF05DF86A4610A9907102310A78D2 +:10A2D00010464A78120210438A78C9781204104353 +:10A2E000090608431021884310AA9070010AD17012 +:10A2F000010C1171000E5071B8E110A902310A78F9 +:10A3000010464A78120210438A78C9781204104322 +:10A31000090608432021884310AA9070010AD170D1 +:10A32000010C1171000E5071A0E108460AF028F8E6 +:10A3300008AA10A9D07102310A7810464A78120290 +:10A3400010438A78C9781204104309060843402153 +:10A35000884310AA9070010AD170010C1171000E8F +:10A36000507183E108460AF05CF86A46D0870246DD +:10A3700074A1022005F0C8FB10A902310A7810462A +:10A380004A78120210438A78C978120410430906E9 +:10A3900008438021884310AA9070010AD170010CF3 +:10A3A0001171000E507161E143354D555349432001 +:10A3B000436865636B204661696C21200D0A0000CB +:10A3C00043354D5553494320504B545F4144445FFE +:10A3D000464D204661696C21200D0A0043354D55DC +:10A3E00053494320504B545F5459504520466169AE +:10A3F0006C21200D0A00000043354D555349432080 +:10A40000504B545F44657654797065204661696CA1 +:10A4100021200D0A0000000043354D5553494320CB +:10A42000504B545F4144445F544F204661696C2156 +:10A43000200D0A0043354D5553494320504B545F7E +:10A440004C454E204661696C21200D0A0000000039 +:10A45000424C565F43354D555349435F52656C61DD +:10A46000795F4661696C21200D0A000006B000008A +:10A4700043354D555349435F506C61796261636B5D +:10A480005F537461747573204368616E67650D0A6C +:10A490000000000007B0000043354D555349435FAD +:10A4A000566F6C756D655F53746174757320436886 +:10A4B000616E67650D0A000008B0000043354D5518 +:10A4C0005349435F6964785F5374617475732043C3 +:10A4D00068616E67650D0A00424C565F43354D5505 +:10A4E0005349435F5365745F44656661756C745F7F +:10A4F000566F6C756D655F5265706C790D0A000062 +:10A50000424C565F43354D555349435F5370656325 +:10A510006966795F506C61795F5265706C790D0A7C +:10A5200000000000424C565F43354D555349435F90 +:10A530005365745F566F6C756D655F5265706C79AD +:10A540000D0A0000424C565F43354D555349432098 +:10A55000706C61796261636B5F6E756D203A202566 +:10A56000640D0A00084609F05CFF10AA10806A46D4 +:10A57000D28F49A1022005F0C7FA10A902310A784A +:10A5800010464A78120210438A78C97812041043A0 +:10A5900009060843FF210131884310AA9070010A7F +:10A5A000D170010C1171000E50715FE010A90231E1 +:10A5B0000A7810464A78120210438A78C978120441 +:10A5C000104309060843012149028843384310AA71 +:10A5D0009070010AD170010C1171000E507145E0AC +:10A5E000084609F01EFF69460A8E824207D133A150 +:10A5F000022005F089FA6946088E401C0886088EFC +:10A60000498E884232D336A1022005F07DFA10A986 +:10A6100002310A7810464A78120210438A78C978C3 +:10A620001204104309060843B84310AA9070010AA7 +:10A63000D170010C1171000E507117E010A9023198 +:10A640000A7810464A78120210438A78C9781204B0 +:10A650001043090608430121C902884310AA9070DB +:10A66000010AD170010C1171000E5071684606701C +:10A6700046704621129A09F0FFFDE91D002009F0FD +:10A6800081FF5B21284605F0BFFAE91D09F07AFF3A +:10A69000002013B0F0BD0000424C565F43354D55CD +:10A6A000534943206465765F76657273696F6E7394 +:10A6B000203A20253034580D0A000000424C562024 +:10A6C00043354D555349432066696C6520626C6F74 +:10A6D000636B3A256420535543430D0A0000000084 +:10A6E000424C562043354D555349432057697274A7 +:10A6F000652046696C6520454E440D0A0000000047 +:10A7000010B5BCB000240094019402940394049406 +:10A71000D42106A80594FDF71CFD69464C70F12074 +:10A720000870E120032240028A70C870030A0B718E +:10A73000030C4B71000E8871FF208A72F530C872CD +:10A74000000A087315484873020A8A73020CCA7318 +:10A75000000E087412484874020A8A74020CCA7403 +:10A76000000E0875112028A98877C87730A90870CD +:10A7700048708870C870087102200875487588751F +:10A78000C8750876487688767F20C877D22206A9D1 +:10A790006846FEF775FA3CB010BD000081960000D7 +:10A7A0006597000030B599B0002012901390149076 +:10A7B00015901690179048216846FDF7CAFC0123B2 +:10A7C00010A94B7215220A7203208872E120400200 +:10A7D000C872040A0C73040C4C73000E88730420B6 +:10A7E0008874FF20F530C874000A0875234848753E +:10A7F000040A8C75040CCC75000E08762048487647 +:10A80000040A8C76040CCC76000E087769460B712E +:10A81000192508A90D7369464B77180A8877022411 +:10A8200008A98C726946487D12210843694648751B +:10A830004A768A76CD766420087742310A781046C7 +:10A840004A78120210438A78C97812041043090624 +:10A8500008432043FF2181310843184310A9887021 +:10A86000020ACA70020C0A71000E4871462269463B +:10A8700012A8FEF705FA19B030BD0000CD9D00000A +:10A88000B19F0000F0B5FF4E83B034462046B17E44 +:10A8900022300190A01C2746203400902378E278D3 +:10A8A0001846637812061B021843A37803251B047D +:10A8B000184323371043082932D20A007A44127908 +:10A8C0009218974403052DE62DFDFCFB0120DEE0E8 +:10A8D000801C09F055FD032804D0EBA1002005F0F1 +:10A8E00051F91DE02278E1781046627809061202DB +:10A8F0001043A27812041043084305F0A3F900287E +:10A9000010D02178E0780A466178000609020A43EF +:10A91000A17809040A430243E1A1002005F032F9BD +:10A92000B576FDE12278E1781046627809061202D8 +:10A930001043A2781204104308433077010A71775C +:10A94000010CB177010EF17709F01AFDA0721C20FD +:10A9500031180A7810464A78120210438A78C9786A +:10A960001204104309060843401C09F009FDE07277 +:10A970001C2031180A7810464A78120210438A784F +:10A98000C9781204104309060843083009F049FD4C +:10A990002073000A60731C2031180A7810464A7828 +:10A9A000120210438A78C97812041043090608433A +:10A9B0000D3009F021FD3874010A7974010CB97465 +:10A9C000000EF8741C2031180A7810464A781202DA +:10A9D00010438A78C97812041043090608431130DD +:10A9E00009F00AFD3875010A7975010CB975000E78 +:10A9F000F8751C2031180A7810464A781202104364 +:10AA00008A78C97812041043090608430B3009F00C +:10AA100008FD0199020A08734A73020C8A73000E3A +:10AA2000C8731C2031180A7810464A781202104365 +:10AA30008A78C97812041043090608430A3009F0DD +:10AA4000DBFCA074012060721020381802781146D7 +:10AA50004278120211438278C07812041143000632 +:10AA600001430FD0481C0DD01C2032181378184613 +:10AA700053781B0218439378D2781B0418431206AC +:10AA8000104388478E4801688E48416057E0B07691 +:10AA900046E1FF30FF3002302070010A6170010C86 +:10AAA000A170000EE070002009F0A6FC2378194682 +:10AAB00063781B021943A3781B0402E01FE140E006 +:10AAC00011E0E278194312061143884208D8FF20AA +:10AAD00001302070010A6170010CA170000EE0705D +:10AAE0000120B0761CE1607A012800D018E7A07C34 +:10AAF0000028FBD010203818027811464278120244 +:10AB000011438278C07812041143000601430FD02C +:10AB1000481C0DD01C2032181378184653781B029D +:10AB200018439378D2781B041843120610438847C1 +:10AB30006348016863484160A07C401EA074062001 +:10AB4000A5E7614D2A79E87911466A790006120273 +:10AB50001143AA7912041143014308202A181378DB +:10AB6000184653781B0218439378D2781B04184375 +:10AB70001206104381427DD009F053FC8446142014 +:10AB8000381801780B46417809020B438178C07868 +:10AB900009040B43000603431FD0581C1DD0082096 +:10ABA0002818027811464278120211438278C07840 +:10ABB00012041143000601431C2037183A7810464E +:10ABC0007A7812021043BA7812041043FA78120607 +:10ABD00010436246891C98476072607A00280AD147 +:10ABE000374800682071010A6171010CA171000EE3 +:10ABF000E0710720B076307803281DD1082028188E +:10AC000001780A46417809020A438178C07809042C +:10AC10000A430006024300981021401803781946A1 +:10AC200043781B0219438378C0781B04194300063C +:10AC3000014303200DF050FA082029180A78104625 +:10AC40004A78120210438A78C97812041043090620 +:10AC500008430121890240182872010A6972010C17 +:10AC6000A972010EE972194988420AD94B204003A2 +:10AC7000287200E005E0010A6972010CA972000E59 +:10AC8000E87225E057290020424C565F4255535F39 +:10AC90006465762054797065204661696C0D0A0000 +:10ACA000424C565F4255535F646576204368656346 +:10ACB0006B204661696C3A253038580D0A00000057 +:10ACC0001000002050000020E4120020FF6F090057 +:10ACD0002D4801682D4840680B1A01980C21411835 +:10ACE0000A7810464A78120210438A78C97812040A +:10ACF000104309060843834212D90520C7E622798A +:10AD0000E17910466279090612021043A279120411 +:10AD1000104308431C490968081A142800D9FFE5A4 +:10AD2000307801282DD00098194C01460A78104639 +:10AD30004A78120210438A78C9781204104309062F +:10AD4000084321680B1A0098011D0A7810464A78BA +:10AD5000120210438A78C978120410430906084386 +:10AD600083420ED90BA1002004F00CFF216800984B +:10AD70000A0A017042700A0C8270090EC17001202B +:10AD8000307003B0F0BD0000100000205000002023 +:10AD9000140000205265706C7920535543430D0A0E +:10ADA00000000000F3B58DB0044600273E46342174 +:10ADB0006846FDF7CEF920460E9904F025FF0028DD +:10ADC00006D056A1022004F09FFE01200FB0F0BD76 +:10ADD000204609F0D5FA002806D055A1022004F03B +:10ADE00093FE01200FB0F0BD601C09F0C9FA564D6A +:10ADF00000072978000F884206D154A1022004F0F0 +:10AE000083FE01200FB0F0BDA01C09F0B9FAF228B2 +:10AE100006D058A1022004F077FE01200FB0F0BD4B +:10AE2000E01C09F0ADFA002806D058A1022004F079 +:10AE30006BFE01200FB0F0BD201D09F0F2FA0E9953 +:10AE4000884206D057A1022004F05EFE01200FB018 +:10AE5000F0BD0B46224658A1042004F093FE601C6E +:10AE600009F08EFA0007000F2870E01D09F088FA3B +:10AE70000B2849D201007944097949188F44444488 +:10AE8000050B4444444444101F00214668460E9A72 +:10AE900009F008FF02E0684608F0C0FD064635E00C +:10AEA0004D4D002028602046083009F069FA2968D5 +:10AEB00008430146286049A00DF066FD2AE02046BF +:10AEC0006F46083009F05CFA06462046093009F062 +:10AED00057FA014630460AF041FB002069460870E7 +:10AEE0002A784A70F2228A70C87009240C7148715D +:10AEF00088711A20C8710E722146384604F0A0FCF1 +:10AF000069468871264601E0002F03D03146684625 +:10AF10000AF036FE00200FB0F0BD00005043204381 +:10AF20006865636B204661696C21200D0A00000092 +:10AF3000504320504B545F4144445F464D2046618E +:10AF4000696C21200D0A0000062A00205043205081 +:10AF50004B545F54595045207468652073616D658A +:10AF600020616E64204E6F7420726573656E64217B +:10AF7000200D0A00504320504B545F4465765479AD +:10AF80007065204661696C21200D0A0050432050F5 +:10AF90004B545F4144445F544F204661696C21200B +:10AFA0000D0A0000504320504B545F4C454E204644 +:10AFB00061696C21200D0A00504320546573742090 +:10AFC0004461746120416464723A25303858204CE1 +:10AFD000656E3A2564000000300000204462675F1F +:10AFE0005377697463683A253038580070B52E4C31 +:10AFF00010202018027811464278120211438278FC +:10B00000C07812041143000601431420221813785B +:10B01000184653781B0218439378D2781B041843C0 +:10B020001206104381423DD009F0FBF90546024665 +:10B030001EA1002004F0A6FD14202318197808464C +:10B04000597809020843997809040843D978090610 +:10B0500008432946801CFFF7A5FE142021180A7812 +:10B0600010464A78120210438A78C97812041043B5 +:10B07000090608430121890240182075010A6175FB +:10B08000010CA175010EE1750E49884208D909200D +:10B0900000042075010A6175010CA175000EE075B0 +:10B0A000012070BD002070BD87060020555341521D +:10B0B000545F3020526576696365204C656E3A2591 +:10B0C00064000000FF0F0900F0B5BFB00026F021BA +:10B0D00002A8FDF73EF83B21BF48FDF73AF83B21B7 +:10B0E000BE48FDF736F83921BD48FDF732F8012298 +:10B0F000D204042102A805F06FF86946C87A897A5B +:10B100000002014308026946497A01430802694680 +:10B110000C7AB4A104432246002004F033FDFF2042 +:10B120000021013009F058FAB64DFFF73BFBAA4F5A +:10B13000F87E401CF876FFF7E3FAF87EE121401C28 +:10B14000F8764902B0483E9001740A0A42740A0C2B +:10B150008274090EC174E812AC49020A08704A7080 +:10B16000020C8A70000EC87001203870002009F0AF +:10B1700043F90246A6A1002004F004FD68427F21A5 +:10B1800020180902884201D32C4609E080B2F02140 +:10B19000FCF79CFF002902D0F1203FB0F0BD06462D +:10B1A0003246A5A1002004F0EDFC002009F024F9AE +:10B1B000A64F010A38707970010CB970010EF97050 +:10B1C0000246A3A1002004F0DDFC3A78F97810468D +:10B1D0007A78090612021043BA7812041043084321 +:10B1E000042109F0F9F90027002E3CD92A46F02164 +:10B1F00002A804F0F1FF6846817A407A019100903C +:10B2000069460B7B2A469AA1002004F0BBFC6946E4 +:10B21000087B012820D1487A072802D00A281BD1B0 +:10B220000DE08A7A9DA1002004F0ACFC6846807A8B +:10B2300001F056FB6948C17E491CC1760CE08A7A50 +:10B240009CA1002004F09EFC6846807A01F028F959 +:10B250006248C17E491CC176F035A54203D27F1CED +:10B26000FFB2B742C2D3042009F0C6F8024697A144 +:10B27000002004F087FC5949012008704B21C901C6 +:10B280009C48009001740A0A42740A0C8274090EE8 +:10B29000C174994901750A0A42750A0C8275090E32 +:10B2A000C175042009F0A8F8944D010A287069704E +:10B2B000010CA970010EE970024691A1002004F072 +:10B2C00061FC2A78E97810466A7809061202104370 +:10B2D000AA78120410430843082109F07DF9494D6A +:10B2E0000027002E1DD92A46F02102A804F074FF81 +:10B2F0006846007B02280DD16846407A062809D1AD +:10B300006846827A85A1002004F03CFC6846807A79 +:10B31000FDF7D6FDF035A54203D27F1CFFB2B74240 +:10B32000E1D300F0DBFB2E49C87E0C46401CC876FA +:10B33000002088764B20C001A074020AE274020C3F +:10B340002275000E6075012008707A48A075010A08 +:10B35000E175010C2176000E60760820A41C09F02E +:10B360004BF8024659A1002004F00CFC3E98102135 +:10B370004018027811464278120211438278C07850 +:10B38000120411430006014303200BF0C9FA009890 +:10B390001021401802781146427812021143827837 +:10B3A000C078120411430006014301200BF0B8FAE3 +:10B3B0001020201802781146427812021143827838 +:10B3C000C078120411430006014302200BF0A8FAD2 +:10B3D00000203FB0F0BD000057290020CB290020FD +:10B3E0009229002044657669636520636F6E666903 +:10B3F000675F616464723A25303858202D2D2D2DF9 +:10B400000A000000000108005929002077290020C7 +:10B410004255533438352044657669636520496E5A +:10B42000666F20456E64616464723A253038582036 +:10B430002D2D2D2D0A000000636F6E6669675F6E0B +:10B44000756D3A2564202D2D2D2D0A00EB29002045 +:10B45000506F6C6C3438355F496E666F2061646480 +:10B46000723A25303858202D2D2D2D0A000000006D +:10B47000253038582064657669636520706F727472 +:10B480003A256420747970653A2564206164647299 +:10B490003A2564202D2D2D2D0A0000004445565FCD +:10B4A00054454D50545950453A2564202D2D2D2D8D +:10B4B0000A0000004445565F4341524454595045E8 +:10B4C0003A2564202D2D2D2D0A000000416374348F +:10B4D00038352044657669636520496E666F20457E +:10B4E0006E64616464723A25303858202D2D2D2DFC +:10B4F0000A000000CD290020A15B0100B329002033 +:10B500004163743438355F496E666F2061646472DC +:10B510003A25303858202D2D2D2D0A004445565FF0 +:10B520005357495F545950453A2564202D2D2D2DF0 +:10B530000A000000595E0100F0B5024689B00446D9 +:10B5400015320D2101A8059208F068FE6846C279FF +:10B550000025384F384E012A04D0022A02D0032A8F +:10B560001ED064E003983968081A029988425ED9AF +:10B570006946CD71F57031A1042004F003FB0D2163 +:10B5800001A8059A08F078FEE11D002008F0FAFFF6 +:10B590002221204604F038FBE11D08F0F3FF46E0CD +:10B5A0000820301801780B46417809020B43817856 +:10B5B000C07809040B43000603433868C01A3C28CE +:10B5C00035D9B37925A1042004F0DCFAB379642BD2 +:10B5D0001DD36846C571F570F07900902A462CA1FC +:10B5E000042004F0CFFAF07900F0B8FA0D2101A898 +:10B5F000059A08F041FEE11D002008F0C3FF22215A +:10B60000204604F001FBE11D08F0BCFF0FE05B1CCD +:10B61000B37105950695002005A907950854401CAF +:10B62000C0B20A28FAD30A2105A806F003FE0020BA +:10B6300009B0F0BD10000020062A0020504320541D +:10B64000657374202D2054686520496E70757420D0 +:10B650005465737420454E4400000000504320544C +:10B6600065737420424C565F50435F544553545F9A +:10B67000544F55525F4441544153454E44A3BA255B +:10B6800064206E756D3A25642D2D2D2D2D2D000015 +:10B690005043205465737420544F555220444154F4 +:10B6A000415320454E44A3BA2564206E756D3A255A +:10B6B0006420535543433A2564000000F0B5164614 +:10B6C00002468FB00C46074615320D2168460D9292 +:10B6D00008F0A4FDB1482118B148814209D233468F +:10B6E0002246B0A1042004F04DFAB349002048706E +:10B6F0000CE0B2496118814208D233462246B0A11B +:10B70000042004F03FFAAC4902204870002560197B +:10B7100008F036FEA8420CD0F1B220460BF0CAFA6F +:10B72000002819D0F1B220460BF08AFA00283AD04E +:10B7300066E06D1CEDB20A2DE9D30020049005905F +:10B7400004A906900854401CC0B20A28FAD30A2162 +:10B7500004A806F091FD1EE10020049005900690DB +:10B760000790089009900A900B900C9099A29CA3C6 +:10B770009FA104A80DF032F98F484078002802D02C +:10B78000022808D03CE004A8FCF705FD81B204A81B +:10B790000AF0F6F934E004A8FCF7FDFC81B204A835 +:10B7A00006F06AFD2CE000200490059006900790BA +:10B7B000089009900A900B908FA289A38CA104A8ED +:10B7C0000DF00CF97C484078002802D002280BD0FC +:10B7D00011E004A8FCF7DFFC81B204A80AF0D0F95C +:10B7E00064200BF017FA06E004A8FCF7D4FC81B241 +:10B7F00004A806F041FD642010F006F808F00CFFE4 +:10B800003146204604F000FA002806D07DA102202F +:10B8100004F07AF901200FB0F0BD204608F0B0FD29 +:10B82000002806D07CA1022004F06EF901200FB0A0 +:10B83000F0BD601C08F0A4FD6A4601079278090F6C +:10B84000914201D0400606D579A1022004F05CF9AE +:10B8500001200FB0F0BDA01C08F092FDF22806D028 +:10B860007DA1022004F050F901200FB0F0BDE01CD2 +:10B8700008F086FD002806D07DA1022004F044F9DE +:10B8800001200FB0F0BD201D08F07AFDB04206D0B7 +:10B890007DA1022004F038F901200FB0F0BD33463D +:10B8A00022467EA1042004F06DF9601C08F068FDBA +:10B8B0000007000F694688703F490870E01D08F0D6 +:10B8C0005FFD0A2857D201007944097949188F444D +:10B8D000525252525252520452442046083008F0FA +:10B8E0004FFD012804D002281FD003282CD042E0AD +:10B8F000314D0120E8702046093008F041FD2871E3 +:10B9000020460A3008F03CFD687120460B3008F0F4 +:10B9100037FD0190E8786946C87068486849006852 +:10B92000029001984843019025E023490220C87005 +:10B930006946C870614831460068029061480190CC +:10B94000204600F061F916E01B480321C1706A46E9 +:10B95000D17000218171C1710DE05B4D0020286024 +:10B960002046083008F00CFD29680843014628608D +:10B9700056A00DF009F80D2168460D9A08F07CFCE0 +:10B98000F91D002008F0FEFD2221384604F03CF9A4 +:10B99000F91D08F0F7FD00200FB0F0BDFFFFF6FF26 +:10B9A000FE0F0000504320546573742055415254DB +:10B9B000302D2D2D2D2D2D00062A0020FFBFF6FF46 +:10B9C000504320546573742055415254322D2D2D0F +:10B9D0002D2D2D005365617263683A310D0A000008 +:10B9E000424C565F43315F4150505F563232000047 +:10B9F000257325730D0A00004A756D703A310D0AE2 +:10BA000000000000504320436865636B2046616975 +:10BA10006C21200D0A000000504320504B545F4120 +:10BA200044445F464D204661696C21200D0A0000A8 +:10BA3000504320504B545F54595045207468652042 +:10BA400073616D6520616E64204E6F742072657342 +:10BA5000656E6421200D0A00504320504B545F4412 +:10BA6000657654797065204661696C21200D0A0065 +:10BA7000504320504B545F4144445F544F20466133 +:10BA8000696C21200D0A0000504320504B545F4C3C +:10BA9000454E204661696C21200D0A005043205418 +:10BAA000657374204461746120416464723A253086 +:10BAB0003858204C656E3A256400000010000020C4 +:10BAC00060EA0000C0D40100300000204462675FDB +:10BAD0005377697463683A253038580000B58BB0E5 +:10BAE0000020009001900290039004900590069031 +:10BAF000079008900990FC206A465070F220107060 +:10BB000002209070E1204002D070010A1171010CF6 +:10BB10005171000E907104209072FF20F530D072A8 +:10BB2000000A10730B485073010A9173010CD17312 +:10BB3000000E107408485074010A9174010CD174FD +:10BB4000000E10750D2206A96846FDF701F80BB02E +:10BB500000BD000039B50000BDB6000070B584B06E +:10BB6000002405460094019417A10420029404F0D7 +:10BB700009F81C4E6A463178F220491C3170147065 +:10BB800051709070D4700A21117194711720D07186 +:10BB9000032010725572684603F052FE6A46907197 +:10BBA0007078002804D0022807D0F02004B070BDBF +:10BBB0001046117909F0E4FF03E01046117906F010 +:10BBC0005BFB002004B070BD424C565F50435F5495 +:10BBD0004553545F544F55525F41434B53656E6418 +:10BBE00000000000062A002070B505460024281930 +:10BBF00008F0C6FBA04201D0F02070BD641CE4B286 +:10BC00000A2CF4D3002070BDF0B5064685B009308B +:10BC100008F0B6FB044630460A3008F0B1FB484A4B +:10BC2000014614715071204604F030FA01909F21B2 +:10BC3000FF3809020138884202D3F02005B0F0BD78 +:10BC400030460B30152C58D0F12C76D108F098FBEB +:10BC5000212802D0232828D06FE0002570190C304D +:10BC600008F08EFB00240290A80003900019C0B2D7 +:10BC7000009002986100C8408707BF0F0AD03B467A +:10BC800030A10420009A03F07DFF3A460099019804 +:10BC900001F03FFE641CE4B2042C01D20398E5E7F6 +:10BCA0006D1CEDB2052DD9D347E0002570190C307D +:10BCB00008F066FB00240290A80003900019C0B2AF +:10BCC000009002986100C8408707BF0F0AD03B462A +:10BCD00027A10420009A03F055FF3A4600990198E5 +:10BCE00001F0E0FD641CE4B2042C01D20398E5E706 +:10BCF0006D1CEDB2022DD9D31FE008F041FB2228C4 +:10BD00001BD130460C3008F03BFB044630460D306A +:10BD100008F036FB054630460E3008F031FB06468B +:10BD200003462A461CA10420009403F02BFF33464F +:10BD300022462946019802F01AF9002005B0F0BD0C +:10BD4000062A002050432054657374204335494F20 +:10BD50005F436F6E74726F6C5F52656C61794348BC +:10BD60002564207374617475733A256400000000C3 +:10BD700050432054657374204335494F5F436F6EC1 +:10BD800074726F6C5F446F434825642073746174F0 +:10BD900075733A2564000000504320546573742085 +:10BDA00043354D757369635F436F6E74726F6C20BA +:10BDB0006469723A25642069643A25642073746169 +:10BDC0007475733A2564000070B5354DE878032822 +:10BDD0000AD034480078012803D002285DD0032817 +:10BDE00001D100F065F870BD2F4C0C2020180278AE +:10BDF00011464278120211438278C078120411432E +:10BE000000060143102022181378184653781B02AD +:10BE100018439378D2781B041843120610438142CA +:10BE2000E1D008F0FEFA01461020221813781846D7 +:10BE300053781B0218439378D2781B0418431206D8 +:10BE40001043801CFFF7D0FE002802D1E879401C87 +:10BE5000E871102021180A7810464A78120210431F +:10BE60008A78C9781204104309060843012189021F +:10BE700040182074010A6174010CA174010EE17470 +:10BE80000A498842AFD9492040032074010A6174ED +:10BE9000010CA174000EE07470BD07F005FB70BDCD +:10BEA000062A0020CB290020A60A0020FF2F090027 +:10BEB000F0B5FF4E83B0F07E00287DD0344620469A +:10BEC000B17E22300190A01C2746203400902378B8 +:10BED000E2781846637812061B021843A3780325FC +:10BEE0001B0418432337104308294CD20A007A4414 +:10BEF000127992189744030547FD47FCFBFA01208D +:10BF0000FFE0801C08F03CFA01281ED02278E1787E +:10BF100010466278090612021043A27812041043F8 +:10BF2000084308F02DFA034620782146024660783F +:10BF3000A47800020243C878240422430006024386 +:10BF4000DCA1002003F01EFE1DE02278E1781046FF +:10BF50006278090612021043A278120410430843C3 +:10BF600003F070FE002810D02178E0780A4661784E +:10BF7000000609020A43A17809040A430243D6A134 +:10BF8000002003F0FFFDB5760CE22278E178104640 +:10BF90006278090612021043A27812041043084383 +:10BFA0003077010A7177010CB177010EF17708F053 +:10BFB000E7F9A0721C2000E020E231180A78104650 +:10BFC0004A78120210438A78C9781204104309068D +:10BFD0000843401C08F0D4F9E0721C2031180A789C +:10BFE00010464A78120210438A78C9781204104326 +:10BFF00009060843083008F014FA2073000A607339 +:10C000001C2031180A7810464A78120210438A78A8 +:10C01000C97812041043090608430D3008F0ECF902 +:10C020003874010A7974010CB974000EF8741C207C +:10C0300031180A7810464A78120210438A78C97873 +:10C040001204104309060843113008F0D5F9387579 +:10C05000010A7975010CB975000EF8751C203118AC +:10C060000A7810464A78120210438A78C978120476 +:10C070001043090608430B3008F0D3F90199020A6E +:10C0800008734A73020C8A73000EC8731C2031189F +:10C090000A7810464A78120210438A78C978120446 +:10C0A0001043090608430A3008F0A6F9A0740120DD +:10C0B00060729148016891488160102038180278B8 +:10C0C00011464278120211438278C078120411435B +:10C0D0000006014314D0481C12D01C2032181378DB +:10C0E000184653781B021843937803E044E15FE05D +:10C0F00030E008E01B04D27818431206104388474A +:10C100000620B0764EE1FF30FF3002302070010A89 +:10C110006170010CA170000EE070042008F06CF951 +:10C120002378E2781946637812061B021943A37834 +:10C130001B0419431143884209D8002008F05CF918 +:10C140002070010A6170010CA170000EE0700120E6 +:10C15000B07627E1607A012800D014E7A07C00289F +:10C16000FBD0102038180278114642781202114391 +:10C170008278C07812041143000601430FD0481C96 +:10C180000DD01C2032181378184653781B02184320 +:10C190009378D2781B0418431206104388475648F8 +:10C1A000016856488160A07C401EA0740620A8E764 +:10C1B000534D0C2028180278114642781202114380 +:10C1C0008278C078120411430006014310202A1817 +:10C1D0001378184653781B0218439378D2781B04BF +:10C1E000184312061043814260D008F01AF98446C1 +:10C1F0001420381801780B46417809020B438178E6 +:10C20000C07809040B43000603431FD0581C1DD0FF +:10C2100010202818027811464278120211438278C1 +:10C22000C07812041143000601431C2037183A78E5 +:10C2300010467A7812021043BA7812041043FA7842 +:10C24000120610436246891C98476072607A002883 +:10C250000AD1294800682071010A6171010CA1719D +:10C26000000EE0710720B076307803281DD1102031 +:10C27000281801780A46417809020A438178C07873 +:10C2800009040A430006024300981021401803786D +:10C29000194643781B0219438378C0781B0419435D +:10C2A0000006014301200BF017FF2BE04DE00000DA +:10C2B000CB290020424C565F504F4C4C5F64657652 +:10C2C0002054797065204661696C3A2530385820D1 +:10C2D0002C2025640D0A0000424C565F504F4C4CF8 +:10C2E0005F64657620436865636B204661696C3ADC +:10C2F000253038580D0A00001000002050000020A2 +:10C30000A60A0020102029180A7810464A7812023E +:10C3100010438A78C97812041043090608430121A2 +:10C32000890240182874010A6974010CA974010E6D +:10C33000E9743349884208D9492040032874010A26 +:10C340006974010CA974000EE8742E4801682E4827 +:10C3500080680B1A01980C2141180A7810464A7817 +:10C36000120210438A78C978120410430906084360 +:10C37000834217D90520C4E6224801682248806814 +:10C380000B1A01980C2141180A7810464A781202BB +:10C3900010438A78C978120410430906084383427F +:10C3A00000D9F0E53078012828D0009801460A78B5 +:10C3B00010464A78120210438A78C9781204104352 +:10C3C00009060843114909680C1A0098021D1378E0 +:10C3D000184653781B0218439378D2781B041843ED +:10C3E00012061043844209D900980A0A017042706B +:10C3F0000A0C8270090EC1700120307003B0F0BDCC +:10C40000FF2F090010000020500000201400002021 +:10C4100030B5224A04465168106889B0926800908D +:10C4200002920191204607F0ABFF0A2802D00120BA +:10C4300009B030BD224615321546102104A807F078 +:10C44000EDFE601C07F09CFF6946487100A8C978A2 +:10C45000033006F04BFCA01C07F092FF092269464E +:10C4600005F03CFE6946087C032802D90120487487 +:10C4700001E0401C08742A46102104A807F0FCFEC5 +:10C48000E11D002008F07EF82521204603F0BCFBCA +:10C49000E11D08F077F8002009B030BDA4F10100DB +:10C4A00000B58BB00021009101910291039104919C +:10C4B00005910691079108916A46099150700A20EA +:10C4C0001070012090704B20C001D070010A1171D2 +:10C4D000010C5171000E9071032090726420D07293 +:10C4E000002010730B485073010A9173010CD17333 +:10C4F000000E107408485074010A9174010CD17434 +:10C50000000E1075102206A96846FCF741FC0BB01E +:10C5100000BD000011C400001DC50000F0B50546B7 +:10C5200085B016460C460127401C07F07AFFC0B2C2 +:10C530000190A019801E07F074FF0090204607F0BC +:10C540001FFF552804D1601C07F01AFF552806D09C +:10C550009CA1022003F0D8FA384605B0F0BDA01C1B +:10C5600007F00EFFEE2804D096A1022003F0CCFACB +:10C5700016E0E01C07F004FFC01CC3B2B34205D0B4 +:10C58000324695A1022003F0BFFA09E0201D07F012 +:10C59000F7FE072807D002469BA1022003F0B4FA59 +:10C5A000384605B0F0BD601D07F0EAFE01998842EB +:10C5B00005D0024699A1022003F0A6FAF0E7701F09 +:10C5C00081B2E01C07F006FE01460098814277D157 +:10C5D0002A46153210216846049207F01FFE0026F5 +:10C5E000684606704670A01D07F0CAFE012848D1B3 +:10C5F000E01D07F0C5FE071E01D0012F20D06846C0 +:10C6000006728C4807F0BCFEB84209D0894938460A +:10C6100007F0B8FF88A1022003F076FA05F000FACF +:10C620002046083007F0ACFE29460931062857D2CB +:10C6300002007A4412799218974452061524334323 +:10C64000012069460872DCE701206A4690720846BC +:10C6500007F0E7FE6A46D070010A1171010C5171B2 +:10C66000000E907146E002206A469072084607F07C +:10C67000D8FE6A46D070010A1171010C5171000E8A +:10C68000907137E003206A469072084607F0C9FEB1 +:10C690006A46D070010A1171010C5171000E90713F +:10C6A00028E004206A469072084607F0BAFE6A46FF +:10C6B000D070010A1171010C5171000E907119E0D6 +:10C6C00073E005206A469072084607F0AAFE6A46A3 +:10C6D000D070010A1171010C5171000E907109E0C6 +:10C6E0006846007A002803D006206946887201E077 +:10C6F000684686726846417A807A814243D06946AC +:10C70000487207283FD201007944097949188F44BB +:10C7100003131B232B330B004BA1022003F0F4F96E +:10C7200001206946C8712EE049A1022003F0ECF90E +:10C7300002206946C87126E049A1022003F0E4F90D +:10C7400003206946C8711EE049A1022003F0DCF90C +:10C7500004206946C87116E049A1022003F0D4F90B +:10C7600005206946C8710EE049A1022003F0CCF90A +:10C7700006206946C87106E049A1022003F0C4F909 +:10C7800007206946C87110216846049A07F074FDB5 +:10C79000E91D002007F0F6FE2521284603F034FAB3 +:10C7A000E91D07F0EFFE0027FAE6B61EB1B22046FB +:10C7B00007F010FD03463DA10220009A03F0A4F902 +:10C7C000EEE60000D0A3D1E9CEC4BCFECDB7B2BB2B +:10C7D000B6D421210D0A0000D0A3D1E9CAFDBEDDE7 +:10C7E000B3A4B6C8B2BBB6D420CAB5BCCAB3A4B64B +:10C7F000C83A25642CCAFDBEDDB3A4B6C83A256488 +:10C8000021210D0A00000000D0A3D1E9C0E0D0CD65 +:10C81000B2BBB6D43A256421210D0A00D0A3D1E9D8 +:10C82000C8A1B5E7B5D8D6B7B2BBB6D43A2564210E +:10C83000210D0A000AB000004465766963655F4314 +:10C84000617264210D0A0000B0CEBFA80D0A00007D +:10C85000B8DFC6B5BFA8B2E5C8EB0D0A00000000FE +:10C86000BFCDC8CBBFA8B2E5C8EB0D0A00000000E1 +:10C87000B7FECEF1D4B1BFA8B2E5C8EB0D0A0000F7 +:10C88000BEADC0EDBFA8B2E5C8EB0D0A00000000C8 +:10C89000B9A4B3CCBFA8B2E5C8EB0D0A00000000F4 +:10C8A000D7DCB9DCB2E5C8EB0D0A00005352414DAC +:10C8B0005F4352433136204661696C202C637263BA +:10C8C0005F76616C3A25303258205352414D5F43B8 +:10C8D000524331363A2530325821210D0A000000EA +:10C8E00000B591B000210091019102910391049152 +:10C8F000059106910791089109910A910B910C916C +:10C900000D910E910F9110916946487007200870A3 +:10C91000012088704B20C001C870020A0A71020C05 +:10C920004A71000E8871032088726420C87200204A +:10C9300008730F484873020A8A73020CCA73000E08 +:10C9400008740C484874020A8A74020CCA74000EF7 +:10C950000875FF2008A9C875087648768876C876D5 +:10C9600008772B2206A96846FCF712FA11B000BD21 +:10C970008DCF000079C90000F0B506468BB0154692 +:10C980000C460127401C07F0FBFC01906019801E3B +:10C9900007F047FD0090204607F0F2FC552804D12F +:10C9A000601C07F0EDFC552806D03DA1022003F0E5 +:10C9B000ABF838460BB0F0BDA01C07F0E1FCEE2848 +:10C9C00004D037A1022003F09FF816E0E01C07F026 +:10C9D000D7FCC01CC3B2AB4205D02A4635A1022009 +:10C9E00003F092F809E0201D07F0CAFC032807D0E5 +:10C9F00002463CA1022003F087F838460BB0F0BD98 +:10CA0000601D07F0BDFC0199884205D002463AA19D +:10CA1000022003F079F8F0E7681F81B2E01C07F00C +:10CA2000D9FB0146009881422DD1324615320027AC +:10CA300015462B21684607F0F1FB002008A9487134 +:10CA40008871E01C07F09CFC072806D0152809D146 +:10CA50006946E01C00F078F804E0FF206946C877DA +:10CA6000032088772A462B21684607F005FCF11D34 +:10CA7000002007F087FD4021304603F0C5F8F11D86 +:10CA800007F080FDB9E7AD1EA9B2204607F0A2FB72 +:10CA9000034620A10220009A03F036F8ADE700001B +:10CAA000D0A3D1E9CEC4BCFECDB7B2BBB6D4212150 +:10CAB0000D0A0000D0A3D1E9CAFDBEDDB3A4B6C8FB +:10CAC000B2BBB6D420CAB5BCCAB3A4B6C83A2564B2 +:10CAD0002CCAFDBEDDB3A4B6C83A256421210D0AD7 +:10CAE00000000000D0A3D1E9C0E0D0CDB2BBB6D4E5 +:10CAF0003A256421210D0A00D0A3D1E9CEC2BFD8C6 +:10CB0000C6F7B5D8D6B7B2BBB6D43A256421210D45 +:10CB10000A0000005352414D5F43524331362046D4 +:10CB200061696C202C6372635F76616C3A253032E8 +:10CB300058205352414D5F43524331363A253032EB +:10CB40005821210D0A000000F0B5064683B00C46BE +:10CB5000001D07F015FC0127002805D0012807D18A +:10CB60002D0A2D023D4303E02D0A02202D0205432C +:10CB7000B01D07F005FC012804D002280BD00328C3 +:10CB800018D110E0FF20000285433802FF2109027E +:10CB9000084005430EE0FF210902022000028D43F8 +:10CBA0000840054306E0FF210902032000028D43EF +:10CBB00008400543F01D07F0E3FBFF2109048D4306 +:10CBC0000104FF2212040190114030460D430A3047 +:10CBD00007F0D6FB002816D0012804D0022807D081 +:10CBE000032815D10AE02D0203202D0A000608E0D3 +:10CBF0002D0202202D0A0006054309E02D022D0A10 +:10CC00003806054304E02D0200202D0A00060543E6 +:10CC100030460D3007F0B4FB2072C0062146800F6D +:10CC20000AD00846FF21090288433902FF22120276 +:10CC300011400843009008E0FF2212020021204624 +:10CC4000090290431140084300903046113007F02C +:10CC500097FB00990090090A0902227801432646B1 +:10CC6000E8B220369446904211D12A04130EE2789D +:10CC700093420CD1A2792B0E934208D10A04130ED1 +:10CC80006278934203D12279019B93426CD0604534 +:10CC900006D06246002A03D0627BFF2A00D12773A8 +:10CCA00020702804000EE070280EA07101982071F9 +:10CCB0000804000E607077724BA1022002F062FF40 +:10CCC0002078012805D0022807D14BA102F05AFF95 +:10CCD00003E04BA1022002F055FFE078012804D0C8 +:10CCE000022807D003280ED109E047A1022002F054 +:10CCF00049FF08E046A1022002F044FF03E046A1FC +:10CD0000022002F03FFFA079002806D0012809D0B8 +:10CD100002280CD0032813D10EE041A1022002F01A +:10CD200031FF0DE040A1022002F02CFF08E040A1FD +:10CD3000022002F027FF03E03FA1022002F022FFC1 +:10CD40006078002806D0012808D13DA1022002F019 +:10CD500019FF03E03CA1022002F014FF22793CA15C +:10CD60000220009B02F00EFF61790098884204D0F7 +:10CD70006071B07A012800D177722078617B884297 +:10CD800005D13AA1022002F0BFFEFF206073207897 +:10CD9000E178C00349034018A179394DC902401810 +:10CDA0006178C907490D40182179C906890D4018D5 +:10CDB0006179C906C90E40182074000A60742846BB +:10CDC00007F02FFB0146607C227C00021043814269 +:10CDD00008D0294607F015FC2AA1022002F094FE93 +:10CDE00004F01EFE03B0F0BDCEC2BFD8C6F7D7B464 +:10CDF000CCACA3BA00000000B9D8BBFA20000000F8 +:10CE0000BFAABBFA20000000D6C6C0E42000000084 +:10CE1000D6C6C8C820000000CBCDB7E72000000070 +:10CE2000D7D4B6AF20000000B8DFCBD92000000077 +:10CE3000D6D0CBD920000000B5CDCBD92000000042 +:10CE4000B7A7BFAA20000000B7A7B9D820000000EC +:10CE5000C9E8D6C3CEC2B6C83A256420CAD2C4DA5D +:10CE6000CEC2B6C83A25640D0A000000C7E5B3FE7D +:10CE7000BFD8D6C6D7B4CCACB1EAD6BE0D0A000036 +:10CE80000BB000004465766963655F54656D702082 +:10CE90000D0A0000F0B516463B4A0D46044651689F +:10CEA000106885B09268009002920191A01C07F072 +:10CEB00067FA0390601C07F063FA694648712C46D4 +:10CEC000002703220123FF212034002E07D0022552 +:10CED000012E1DD0022E45D0032E48D12CE06846ED +:10CEE0008371E87F012802D0022808D102E0684659 +:10CEF000C37104E06846C77121706170A170A87F9A +:10CF0000002802D0401EA87731E0E977AA772EE00A +:10CF1000684685712078012804D0022805D00328AE +:10CF200008D105E06846C37104E06846C57101E0B8 +:10CF30006846C27121701AE004206E46B071A07874 +:10CF400000280CD0012804D0022804D0032807D1DF +:10CF500003E0F27104E0F57102E0F37100E0F771B3 +:10CF6000A17004E06B469A716078D871617000A876 +:10CF70000721033005F0BAFE0A226946039805F03E +:10CF8000ADF805B0F0BD00008CF10100F0B502462F +:10CF90008FB005461532042617462B2103A807F04B +:10CFA0003DF9002403A80119C97FFF2901D02646B5 +:10CFB00003E0641CE4B2042CF5D3052E27D2300024 +:10CFC00078440079001887440202020208003246C1 +:10CFD00003A92846FFF75EFF19E01C4A1169D068D3 +:10CFE0005269009002920191A81C07F0C9F9044609 +:10CFF000681C07F0C5F96946487100A8062103308E +:10D0000005F074FE09226946204605F067F808A875 +:10D01000407C032803D9012008A9887402E008A9EC +:10D02000401C48743A462B2103A807F025F9E91D56 +:10D03000002007F0A7FA4021284602F0E5FDE91D8F +:10D0400007F0A0FA00200FB0F0BD00008CF1010045 +:10D05000F0B50446A7B015460E460127084607F06E +:10D060008FF90090601C07F08BF90146009881420F +:10D0700001D1052D08D202462B4623A1022002F041 +:10D0800081FD384627B0F0BD681EC1B2304606F0BB +:10D090005CFF00907019401E07F072F9014600987D +:10D0A000814228D12046083007F0BBF922461532CC +:10D0B0001546972101A807F0B1F8701C07F060F938 +:10D0C000032801D0062805D1002701AA31462046B1 +:10D0D00000F0A2F82A46972101A807F0CDF8E11D3B +:10D0E000002007F04FFAAC21204602F08DFDE11D33 +:10D0F00007F048FA04E0024608A1022002F042FDCF +:10D10000384627B0F0BD00004465764164643A2596 +:10D11000642C6C656E3A25640D0A0000534F525F13 +:10D120005352414D5F435243204661696C3A25306A +:10D1300032580D0A00000000F0B5002491B00D46F1 +:10D140000646002847D0324615322B2106A8049205 +:10D1500007F064F8A805830F2805EAB2A904800F38 +:10D160008F0F0592AD0B039000901CA101970295C3 +:10D17000022002F0C9FC6846007E854202D008A861 +:10D180000124C5756846C07E874202D008A807768C +:10D19000641C6946097F0598884202D008A9487630 +:10D1A000641C6946897F0398884202D008A9887662 +:10D1B000641C002C0FD02B2106A8049A07F05CF801 +:10D1C000F11D002007F0DEF94021304602F01CFD81 +:10D1D000F11D07F0D7F911B0F0BD000073657420A0 +:10D1E00054454D502053746174653A20CEC2B6C880 +:10D1F0003A25642CB7A7C3C53A25642CB7E7CBD929 +:10D200003A25642CC4A3CABD3A2564BFAAB9D8BBC9 +:10D21000FA3A2564200D0A00F7B584B04149174653 +:10D220000025401C019107F0ABF80090012808D0C0 +:10D23000022802D0032804D101E03B4800E03B482B +:10D2400001903E4600248036F47434750598401CE5 +:10D2500007F096F80290727B35A1022002F092FC52 +:10D2600002980121032805D0062801D1F4733174F6 +:10D2700007B0F0BD707B00240028F9D90598A108FB +:10D280000818801C07F07CF8A107490F03228A4088 +:10D290000240CA409007800F012804D002280DD018 +:10D2A000032820D115E0234627A10220009A02F08E +:10D2B00069FC01206D1C3855EDB214E0234629A10C +:10D2C0000220009A02F05EFC02206D1C3855EDB27F +:10D2D00009E023462BA10220009A02F053FC032010 +:10D2E0006D1C3855EDB2641C707BE4B2A042C5D809 +:10D2F000002DBDD00598801C07F093F804460198D6 +:10D3000007F08FF8A042B3D0234625A10220009A4F +:10D3100002F038FC2046019907F073F904F080FB15 +:10D3200007B0F0BD0FB0000011B0000013B0000056 +:10D3300073776974636820496E707574204E756DDB +:10D340003A253032580D0A00737769746368256492 +:10D350002044657625303258204B657950726573CC +:10D36000730D0A00737769746368256420446576D9 +:10D3700025303258204B657952656C656173650DB7 +:10D380000A00000073776974636825642044657639 +:10D3900025303258204B6579486F6C640D0A0000C7 +:10D3A0004465766963655F537769746368256420B3 +:10D3B00073746172745F76616C3A253034580D0A6B +:10D3C00000000000F0B50246A7B004461532002563 +:10D3D000972101A8009206F021FF20A8827C00235B +:10D3E0000126002A14D901AFF8186821095C4030E1 +:10D3F000007A814208D020A8C674394638464831A0 +:10D400006830FAF78DFE03E05B1CDBB29A42EBD882 +:10D4100020A8C07C01281FD120A8007D20A90028B9 +:10D4200002D0401E087502E00E750020C874214627 +:10D4300001A800F015F80125972101A8009A06F02F +:10D440001BFFE11D002007F09DF8AC21204602F0F3 +:10D45000DBFBE11D07F096F8284627B0F0BD000081 +:10D46000F0B5054683B00C46881C06F089FF2A49B2 +:10D4700002900868496800900191601C06F080FFE6 +:10D4800069462C4608708034A17B002000291DD9F4 +:10D490006A4629184031097A002909D0C10889183B +:10D4A00047078B787F0F0126BE4033438B7008E01F +:10D4B000C108891847078E787F0F0123BB409E4320 +:10D4C0008E70401CA17BC0B28142E2D8C8B2102845 +:10D4D00001D8052502E0C01DC508ED1C681EC1B2BB +:10D4E000684606F023FD694649192039C8770BA123 +:10D4F000022002F047FB2A466946029804F0EEFD3E +:10D50000E07C012803D90120207503B0F0BD401C48 +:10D51000E07403B0F0BD000084F10100737769741A +:10D5200063682073656E6420646174612D2D2D0D18 +:10D530000A000000F8B5C14CBF4E2379E0791946C6 +:10D54000637900061B021943A37972781B041943FF +:10D550000143082023181F78B94D38465F783F02F1 +:10D5600038439F78DB783F0438431B061843002A72 +:10D5700004D00027062A7DD07770F8BD814246D0BE +:10D5800006F04FFF0246AFA1002002F0FBFA082090 +:10D59000201801780A46417809020A438178C07848 +:10D5A00009040A430006024310202818037819468C +:10D5B00043781B0219438378C0781B041943000683 +:10D5C000014303200AF088FD082021180A7810463C +:10D5D0004A78120210438A78C97812041043090667 +:10D5E00008430121890240182072010A6172010C6E +:10D5F000A172010EE1729B49884208D94B20400379 +:10D600002072010A6172010CA172000EE07296484C +:10D610002378027811464278120211438278C0784A +:10D62000120411430006014318466378E2781B0296 +:10D630001843A37812061B041843104381425AD0A2 +:10D6400006F0EFFE2278074610466278E178120273 +:10D650001043A2780906120410430843801C06F008 +:10D660008FFE2873010A6973010CA973000EE87319 +:10D67000FF2100E073E0E1318F4200D90F467B4883 +:10D6800000682872010A6972010CA972000EE87222 +:10D690002278E07811466278000612021143A278DF +:10D6A0001204114301433A460320C91C04F0FCFC58 +:10D6B000062070702278E17810466278090612021E +:10D6C0001043A27812041043084301218902401834 +:10D6D0002070010A6170010CA170010EE1706449B3 +:10D6E000884208D9972000032070010A6170010C5C +:10D6F000A170000EE0702A78E97810466A78090671 +:10D7000012021043AA78594C1204104308432168AE +:10D710002A790B1A10466A79E97912021043AA791C +:10D720000906120410430843834200D825E751A19B +:10D73000002002F027FA20682870010A6970010CA5 +:10D74000A970000EE87001203070E12040022874BA +:10D75000010A6974010CA974000EE874F8BD8142D5 +:10D7600047D006F05EFE024636A1002002F00AFA1B +:10D770000820201801780A46417809020A43817876 +:10D78000C07809040A4300060243102028180378D1 +:10D79000194643781B0219438378C0781B04194348 +:10D7A0000006014303200AF097FC08207770211837 +:10D7B0000A7810464A78120210438A78C97812040F +:10D7C0001043090608430121890240182072010A0A +:10D7D0006172010CA172010EE1722249884208D9DE +:10D7E0004B2040032072010A6172010CA172000EED +:10D7F000E072082029180A7810464A78120210436D +:10D800008A78C97812041043090608431749096841 +:10D810000B1A0C2029180A7810464A781202104375 +:10D820008A78C9781204104309060843834295D9BF +:10D830000AF000FC7770F8BD57290020E4120020A0 +:10D8400059290020554152543220646174615F6C43 +:10D85000656E203A2564202C52585F4275666665D5 +:10D86000723A0000FF6F0900E0120020140000204F +:10D87000FF7F09004255533438355F496E666F208B +:10D88000506F72745F4E6F726D616C5F4D6F646547 +:10D89000206D6F64655F6F757474696D65200D0A26 +:10D8A00000000000002833D0F0B516460246B5B09F +:10D8B0000D46044615321746D221684606F0AEFCE6 +:10D8C000052D11D26846012241191046A840012EAB +:10D8D00004D0022E03D0032E18D005E002224A7194 +:10D8E00030AA117A014311723A46D221684606F0F5 +:10D8F000C3FCE11D002006F045FEE721204602F0B2 +:10D9000083F9E11D06F03EFE35B0F0BD0322E6E7E7 +:10D91000704700285DD0F0B517460246B5B00E46F8 +:10D92000044615321546D221684606F077FC142EBF +:10D930003DD26846012280191146B1402030012FA6 +:10D9400004D0022F03D0032F19D030E002224275F9 +:10D9500032A80230027813464278120213438278CA +:10D96000C07812041343000603430B4330A98B72A3 +:10D97000180AC872180C0873180E487317E00322AF +:10D98000427532AA02321378184653781B021843A4 +:10D990009378D2781B04184312061043084330AA28 +:10D9A0009072010AD172010C1173000E50732A4655 +:10D9B000D221684606F060FCE11D002006F0E2FD81 +:10D9C000E721204602F020F9E11D06F0DBFD35B02D +:10D9D000F0BD704700284ED0F0B517460246B7B0EC +:10D9E0000C46054615321E46D22101A8009206F0CB +:10D9F00015FC142C29D201AA1019610001238A18E0 +:10DA00001946A14020306132012F04D0022F2ED0C0 +:10DA1000032F2ED019E043701677300A507734AABE +:10DA200002321378184653781B0218439378D27841 +:10DA30001B04184312061043084330AA9074010ACD +:10DA4000D174010C1175000E5075D22101A8009AF5 +:10DA500006F012FCE91D002006F094FDE72128469F +:10DA600002F0D2F8E91D06F08DFD37B0F0BD0223BB +:10DA7000D1E70323CFE77047F3B587B000200090CC +:10DA80000A468E4601900290039004906D46C03283 +:10DA90000590D379012181400B421CD071460C18AE +:10DAA000A034A17986088F07F31DBF0F8107490FA6 +:10DAB0008C468F40E95C0F43EF54A1799B1C89068B +:10DAC0008F0F61468F40E95C0F430146EF540B31E5 +:10DAD000C9B2237F6B54401CC0B20728D9D30021A0 +:10DAE0002970D07800282AD0537968781B071B0F3B +:10DAF0001843402318432B466870F120987001208A +:10DB0000D870172018715971252098710321D97484 +:10DB1000E82119750B215975B82199759071172154 +:10DB2000184601F08DFE6B4658710798801C06F070 +:10DB300027FC1722694604F0D1FA09B0F0BD5079EC +:10DB4000401CC0B250710F2800D9517153796878C8 +:10DB50001B071B0F18432B466870CEE7F3B5002058 +:10DB600083B00B4600900190C03302901C7A0122D2 +:10DB70008240144222D00D186E798408B607B60F81 +:10DB800087077F0FBE406F46E41D3F5D3E436F46F3 +:10DB90003E556C79012C04D0022C05D0032C0DD1FC +:10DBA00005E00C7B944308E00C7B144305E00C7B00 +:10DBB000144201D0944300E014430C73401CC0B2E3 +:10DBC0000528D3D3002168460170D878002823D0D7 +:10DBD0006A4650785A791207120F104340221043B8 +:10DBE0006A465070F12090700120D07009201071A9 +:10DBF00051712320907198710921104601F020FE87 +:10DC00006A4650710398801C06F0BAFB09226946E7 +:10DC100004F064FA05B0F0BD5879401CC0B25871E8 +:10DC20000F2800D959716A4650785A791207120F95 +:10DC300010436A465070D5E7F3B589B000200090D4 +:10DC4000019002900A4603900490059006906C465D +:10DC5000C0320790557A012383401D421BD00D5CD2 +:10DC60008308AD07AD0F8607760FB540DB1DE65C78 +:10DC70003543E55445002B466D182E7EEF7D360268 +:10DC800009333E43DBB2360AE6542E7EEF7D350281 +:10DC90003D43E3185D70401CC0B20528DAD3002173 +:10DCA0002170D078002822D0537960781B071B0F91 +:10DCB00018434023184323466070F12098700120D8 +:10DCC000D8701920187159712420987190711921F8 +:10DCD000184601F0B5FD6B4658710998801C06F096 +:10DCE0004FFB1922694604F0F9F90BB0F0BD5079E9 +:10DCF000401CC0B250710F2800D95171537960781F +:10DD00001B071B0F184323466070D6E710B582B07F +:10DD1000002204460092684601920270C031C87821 +:10DD2000002822D06B4658784B791B071B0F1843ED +:10DD3000402318436B465870F12098700120D8702A +:10DD4000072018715A712020987188710721184690 +:10DD500001F076FD6B465871A01C06F011FB0722FE +:10DD6000694604F0BBF902B010BD4879401CC0B24E +:10DD700048710F2800D94A716B4658784B791B07B8 +:10DD80001B0F18436B465870D6E70000F3B5002010 +:10DD900085B00E46C2360D460090019002900446B2 +:10DDA00001270390082031180A7810464A78120299 +:10DDB00010438A78C978120410430906084339468B +:10DDC000A140084212D029192031497DA0088907B5 +:10DDD000890FA207520F91406A46C01D135C194378 +:10DDE0001154224620A1022001F08EFE641CE4B2F0 +:10DDF000142CD7D3002168460170C035E87800287C +:10DE000022D06A4650786A791207120F10434022D6 +:10DE100010436A465070F1209070D7700C2010713A +:10DE2000517121209071A8710C21104601F008FD5C +:10DE30006A4650710598801C06F0A2FA0C226946C9 +:10DE400004F04CF907B0F0BD6879401CC0B26871AD +:10DE50000F2800D969716A4650786A791207120F43 +:10DE600010436A465070D6E752656C61795F436F24 +:10DE70006E74726F6C20434825640D0A0000000028 +:10DE8000F3B58FB00C463C216846FAF762F90020E2 +:10DE90002746C2376A460C217B181D7829465D78D3 +:10DEA0002D0229439D78DB782D0429431B06194355 +:10DEB0000123834019421ED0231820335B78810848 +:10DEC0009B079B0F85076D0FAB40C91D555C2B430E +:10DED0005354430019461B1961335D7F1E7F2D0289 +:10DEE0000C313543C9B22D0A55545D7F1E7F2B027C +:10DEF000334351184B70401CC0B21428CBD30021BF +:10DF00001170C034E078002822D05078627912076E +:10DF1000120F1043402210436A465070F120907057 +:10DF20000120D07034201071517122209071A071A5 +:10DF30003421104601F084FC6A4650710F98801C11 +:10DF400006F01EFA3422694604F0C8F811B0F0BD9C +:10DF50006079401CC0B260710F2800D9617150789F +:10DF600062791207120F10436A465070D6E70028F4 +:10DF70003CD0F0B51646024693B00F460546153222 +:10DF80001C4646216846129206F048F908A8867198 +:10DF900068460774C474210A10AC017502342078F5 +:10DFA0000346607800020343A07800040343E0784E +:10DFB000000603430420034310A88370190AC170AC +:10DFC000190C0171190E417146216846129A06F02A +:10DFD00053F9E91D002006F0D5FA5B21284601F02F +:10DFE00013FEE91D06F0CEFA13B0F0BD704710B570 +:10DFF00084B00022044600920192684602920270A8 +:10E00000087800281FD089786B4658780907090FCF +:10E01000084340210843587001209870D8700820A8 +:10E0200018719A712020D8710821184601F008FC57 +:10E0300069468871A01C06F0A3F90822694604F01D +:10E040004DF804B010BD8878401CC3B28B700F2B04 +:10E0500000D98A7089786B4658780907090F0843F8 +:10E060005870D9E710B584B000220446009201929E +:10E07000684602920270087800281FD089786B46A3 +:10E0800058780907090F08434021084358700120B8 +:10E090009870D870082018719A712420D8710821BE +:10E0A000184601F0CDFB69468871A01C06F068F99E +:10E0B0000822694604F012F804B010BD8878401CAC +:10E0C000C3B28B700F2B00D98A7089786B46587851 +:10E0D0000907090F08435870D9E710B584B000222A +:10E0E0000446009201926846029202700878002865 +:10E0F0001FD089786B4658780907090F08434021DB +:10E100000843587001209870D870082018719A71CF +:10E110002B20D8710821184601F092FB69468871BE +:10E12000A01C06F02DF90822694603F0D7FF04B0C1 +:10E1300010BD8878401CC3B28B700F2B00D98A7039 +:10E1400089786B4658780907090F08435870D9E752 +:10E1500010B584B0002204460092019268460292F3 +:10E160000270087800281FD089786B465878090714 +:10E17000090F084340210843587001209870D87057 +:10E18000082018719A712A20D8710821184601F0C8 +:10E1900057FB69468871A01C06F0F2F80822694610 +:10E1A00003F09CFF04B010BD8878401CC3B28B7094 +:10E1B0000F2B00D98A7089786B4658780907090FA8 +:10E1C00008435870D9E710B584B000220446009285 +:10E1D0000192684602920270087800281FD0897860 +:10E1E0006B4658780907090F0843402108435870C7 +:10E1F00001209870D870082018719A712C20D8715D +:10E200000821184601F01CFB69468871A01C06F025 +:10E21000B7F80822694603F061FF04B010BD8878A2 +:10E22000401CC3B28B700F2B00D98A7089786B4663 +:10E2300058780907090F08435870D9E710B584B01A +:10E240000022044600920192684602920270087809 +:10E2500000281FD089786B4658780907090F0843B2 +:10E2600040210843587001209870D8700820187118 +:10E270009A712620D8710821184601F0E1FA694602 +:10E280008871A01C06F07CF80822694603F026FF7E +:10E2900004B010BD8878401CC3B28B700F2B00D91E +:10E2A0008A7089786B4658780907090F08435870B7 +:10E2B000D9E730B585B0002204460092019202925F +:10E2C0006846039202700878002828D06B46587878 +:10E2D0008B781B071B0F1843402318436B4658705D +:10E2E00001209870D8700D2018719A712125DD7168 +:10E2F0002031097B19721E2159729A72DA72014615 +:10E300001A73184601F09CFA6B469871A01C06F02F +:10E3100037F80B22694603F0E1FE05B030BD88787E +:10E32000401CC3B28B700F2B00D98A706B46587893 +:10E330008B781B071B0F18436B465870D0E710B53E +:10E3400084B0002204460092019268460292027054 +:10E350000878002825D06B4658788B781B071B0F50 +:10E360001843402318436B46587001209870D870AA +:10E370000A2018719A712920D871087918722031F1 +:10E38000C87958720A21184601F05AFA6B469871FA +:10E39000A01C05F0F5FF0A22694603F09FFE04B0B9 +:10E3A00010BD8878401CC3B28B700F2B00D98A70C7 +:10E3B0006B4658788B781B071B0F18436B465870B9 +:10E3C000D3E710B586B00022044600920192029273 +:10E3D00003926846049202700878002844D06B4685 +:10E3E00058788B781B071B0F1843402318436B4644 +:10E3F000587001209870D870122018719A712322D9 +:10E40000DA710A791A724A7D5A724A7DD20701D0AE +:10E410000A7E9A724A7D920701D50A7FDA724A7D96 +:10E42000520702D52922525C1A734A7D120703D57E +:10E430008A7D5A73CA7D9A734A7DD20605D54A7E73 +:10E44000DA738A7E1A74C97E59740146184601F03F +:10E45000F7F969468871A01C05F092FF69460A79B0 +:10E4600003F03CFE06B010BD8878401CC3B28B7030 +:10E470000F2B00D98A706B4658788B781B071B0FBF +:10E4800018436B465870B4E7F3B585B0002300938A +:10E49000019302930393684604930370087800285D +:10E4A00025D06A4650788A781207120F104340220E +:10E4B00010436A46507001209070D0701320107184 +:10E4C000844693712220D071087910720E7C084620 +:10E4D00002240A252030CA1C082E57D237007F4458 +:10E4E0003F79FF19BF44132538536D809DBA887852 +:10E4F000401CC0B288700F2800D98B706A465078D3 +:10E500008A781207120F10436A465070D3E7807959 +:10E510006C466072A372507C127C00021043E07261 +:10E52000087E20736373A373E37323746374A3740B +:10E53000B0E080796C4660720120A072507C127C41 +:10E5400000021043E072087E20736373A373E373C9 +:10E5500023746374A3749DE081796E467172B47202 +:10E56000517C147C09022143F17235737373B373C8 +:10E57000517F147F09022143F173517F127F0902F9 +:10E580001143090A3174407B7074B37482E0497995 +:10E59000002912D007216C4661720321A172517CBF +:10E5A000127C09021143E172007B20736373A37331 +:10E5B000E37323746374A3746CE008216C46617286 +:10E5C000EBE780796C4660720420A072507C127C6C +:10E5D00000021043E072087E20736373A373E37339 +:10E5E00023746374A37455E081796E4671720521BA +:10E5F000B172517C167C090231436E46F17235735B +:10E600007473B373517F147F09022143F173517FF7 +:10E61000127F09021143090A3174407B7074B3748C +:10E6200038E081796E4671720621B172517C167C98 +:10E63000090231436E46F17235737473B373517FBF +:10E64000147F09022143F173517F127F09021143A4 +:10E65000090A3174407B7074B3741BE081796E4693 +:10E6600071720721B172517C167C090231436E46EA +:10E67000F17235737473B373517F147F09022143B0 +:10E68000F173517F127F09021143090A3174407BF3 +:10E690007074B3746146684601F0D2F869468871B7 +:10E6A0000598801C05F06CFE69460A7903F016FD9A +:10E6B00007B0F0BDF3B50D46223514200C462818DE +:10E6C0000178FF230A464178FFB009020A438178A6 +:10E6D000C07809040A4300066849024350185B01E8 +:10E6E00088B0984206D366A1022001F00DFA7FB0EF +:10E6F0000AB0F0BD1820281806783246467836024F +:10E7000032438678C07836043243000602435018FC +:10E71000984206D360A1022001F0F6F97FB00AB05A +:10E72000F0BD27462037787C397C06020E43687C92 +:10E73000297C03020B439E4207D332465CA1022090 +:10E7400001F0E2F97FB00AB0F0BD8521890001A88F +:10E75000F9F7FFFC787D397D000208437202801AC8 +:10E7600086B201204002864201D9064601E0002E11 +:10E77000E8D0142029180B7818464B781B02184350 +:10E780008B78C9781B0418430906084315185348A9 +:10E79000854201D352482D1833462A4651A1022002 +:10E7A00001F0B2F90021684601712078002836D0C6 +:10E7B0006A465079A2781207120F10434022104384 +:10E7C0006A46507101209071D07130460C30107241 +:10E7D0000446000A507291722E20D072787C397CE7 +:10E7E000000208431073787C397C00020843000A59 +:10E7F00050733A48AA1904A9009182421FD3401BC2 +:10E8000087B208462A46394605F008FD38460C30DE +:10E81000F11B80B201AA101889B23D4A12E0A0781B +:10E82000401CC0B2A0700F2800D9A1706A46507970 +:10E83000A2781207120F10436A465071C2E72A46A7 +:10E840003146009805F0EAFC3146009804F072FA6F +:10E8500069468873000AC873A4B2214601A800F073 +:10E86000EFFF694688728798801C05F089FD224673 +:10E8700001A903F033FC7FB00AB0F0BDE0FFF6FF62 +:10E8800066696C655F73746172745F616464722041 +:10E890003A253038580D0A0066696C655F656E640C +:10E8A0005F61646472203A253038580D0A00000018 +:10E8B00066696C655F626C6F636B203A253038580F +:10E8C000202C2066696C655F626C6F636B5F6E7590 +:10E8D0006D3A253038580D0A00000000FF1F09006E +:10E8E00021E0FFFF4255535F43354D555349435F88 +:10E8F00057726974655F46494C45446174612025CF +:10E900003038582C6C656E3A25640D0A0000000002 +:10E910002000090030B589B0002204460392049219 +:10E9200005920692079268460892027308780028BA +:10E9300040D06B46587B8B781B071B0F1843402336 +:10E9400018436B46587301209873D8731A749A74DD +:10E950002D22DA7422314A7C0B7C12021A436B4658 +:10E960001A754A7C0B7C11021943090A6B465975CA +:10E970009875184843788278017901920091029342 +:10E98000437905A814A2102103300AF00DF80B30CA +:10E99000C5B26B461D74294603A800F051FF6B46B3 +:10E9A0009874A01C05F0ECFC2A4603A903F096FB22 +:10E9B00009B030BD8878401CC0B288700F2800D9DB +:10E9C0008A706B46587B8B781B071B0F18436B466E +:10E9D0005873B8E7280000202530325825303258C7 +:10E9E000253032582530325800000000F0B587B08D +:10E9F000002417460E46054601940294039404949D +:10EA00000C4B1222A22101A8059407F00BFE6846C8 +:10EA1000C574122101A804F069F912200690064875 +:10EA20000097007B334606AA01A900F00DFE07B04F +:10EA3000F0BD0000FFFF0000AA00002030B5174B1A +:10EA40000022154C5B790DE03C2555432D192D6BAB +:10EA5000854205D1002803D0002914D00A7012E0A5 +:10EA6000521CD2B29A42EFD3002210E03C2555430B +:10EA70002D196D6B854208D1002806D0002902D0DF +:10EA800080200243EAE7012030BD521CD2B29A42F4 +:10EA9000ECD3002030BD0000F034002068010020DD +:10EAA00070B500240A4D0B4E0DE03C206043401928 +:10EAB000016A052905D18169002902D0042100F0ED +:10EAC0004BFE641CE4B270798442EED370BD00004A +:10EAD000F034002068010020F0B51A480222816B52 +:10EAE0008B0001468039CA50174FFA89836B9B000F +:10EAF0005B18DA63826B154B856B1C68144B6243A1 +:10EB0000D218AD006D18AA67C26B521CC263826B2B +:10EB1000521C8263856B0F4A1278954201D30025FF +:10EB20008563866B0125B6008D51816B6143C918E1 +:10EB3000B9810564C16B5300D318994200D9C263EF +:10EB4000F0BD00003455002000900040F04D002042 +:10EB5000902B00206A010020034902680A60426885 +:10EB60004A60806888607047044E00200649026849 +:10EB70000A6042684A6082688A60C268CA60006946 +:10EB80000861002070470000F04D0020F0B583B010 +:10EB90000C46002814D0024632A1012000F0B4FF38 +:10EBA000344841784908490041703249C3224878C5 +:10EBB00010400C30487000F0F3F8002003B0F0BDB6 +:10EBC0002DA1012000F0A0FF2F4D2278AA736378B9 +:10EBD000EB73A6782E74E7786F742179A974617944 +:10EBE000E974A1792975E1796975A81C217A017503 +:10EBF000617A4175A17A8175E17AC175234D24A1AD +:10EC000001200197009600F07FFFE979A879019132 +:10EC100000906B792A7924A1012000F075FFE97A30 +:10EC2000A87A019100906B7A2A7A19A1012000F04C +:10EC30006BFFE17BA07B01910090637B227B21A194 +:10EC4000012000F061FFE17CA07C01910090637CD9 +:10EC5000227C21A1012000F057FF064801224178C3 +:10EC60001143A1E744484350204661696C20253098 +:10EC700032780A00BA00002044484350205375639C +:10EC8000636573730A0000009C000020AA00002046 +:10EC9000495041646472203D2025642E25642E2550 +:10ECA000642E2564200A000047574950416464726D +:10ECB000203D2025642E25642E25642E2564200AFF +:10ECC00000000000444E53313A2025642E25642E66 +:10ECD00025642E25640A0000444E53323A202564F0 +:10ECE0002E25642E25642E25640A000030B585B0DB +:10ECF000054614216846F9F72CFA104C002DA2683D +:10ED000009D06068401C6060042802D1694628462A +:10ED1000904705B030BD0A480168009141680191F3 +:10ED2000806802900748006AC16B0391006C0490F0 +:10ED300069462846904700206060EAE7104E0020B0 +:10ED4000AC4D0020284E002070B50F4C05462068C1 +:10ED5000002801D0002070BD18210B48F9F7F9F9FF +:10ED60000A4820610A4860610A48A560E0600A48D4 +:10ED70000BF052FB0021094A0028117001D101213A +:10ED8000216001F077F970BD104E0020A99B0100B1 +:10ED900061980100AD960100284E0020600100201E +:10EDA00010B504480BF08AFB18210348F9F7D1F994 +:10EDB000002010BD284E0020104E002010B501F09C +:10EDC000EDF810BD00B500F039FA024A0021D16219 +:10EDD00000BD0000AC4D00200148008CC0B270475F +:10EDE000AC4D002006494979884201D30020704784 +:10EDF0003C214143034A0023505C535070470000BC +:10EE000068010020F03400200120704770B5FFF742 +:10EE1000D9FF0446C0070FD0194D1AA101202A6B53 +:10EE200000F072FE1CA101206A6B00F06DFE1FA1B4 +:10EE30000120AA6B00F068FE600706D5FFF7CCFF43 +:10EE400002461FA1012000F05FFEE00617D523A1B6 +:10EE5000012000F059FE00242046FFF7C3FF050003 +:10EE600009D00346224622A1012000F04DFE29468A +:10EE7000204600F055F8641CE4B2042CECD370BDBD +:10EE8000AC4D0020556E7265616368436F64652008 +:10EE9000A3BA256C640A0000556E72656163685000 +:10EEA000726F746F20A3BA256C640A00556E726588 +:10EEB000616368506F727420A3BA256C640A000005 +:10EEC00047494E545F535441545F5048595F43483B +:10EED000414E474520253032780A000047494E54BC +:10EEE0005F535441545F534F434B45540A00000055 +:10EEF00047494E545F535441545F534F434B45541D +:10EF00002C20534F434B45545F6E756D3A25642C4E +:10EF100020736F636B6574696E69743A25640A00C7 +:10EF2000F8B506460C46480733D50021304600F0B8 +:10EF30005FFB0246009033461FA1012000F0E4FD74 +:10EF40000098002825D0244D68788009022820D117 +:10EF500022A1012000F0D8FD27486A46016830460A +:10EF600000F07EFA25A10120009A00F0CDFD68781E +:10EF70000221084368700021304600F07DF902004C +:10EF800003D02549012000F0BFFD24480099F9F77E +:10EF9000E0F8200703D522A1012000F0B5FDE0062E +:10EFA00003D525A1012000F0AFFD600603D526A101 +:10EFB000012000F0A9FDF8BD526563656976652002 +:10EFC0004C656E203D20256C642C736F636B656906 +:10EFD00064203A2025640A00BA000020656E74653A +:10EFE00072207265636520696E74215354415455D3 +:10EFF000533D330D0A000000F400002052656365A4 +:10F000006976652053756363657373204C656E2064 +:10F010003D20256C640A000070B80100944B00206C +:10F0200054435020436F6E6E656374205375636361 +:10F030006573730A000000005443502044697363F1 +:10F040006F6E6E6563740A005443502054696D6F8F +:10F0500075740A00F8B50F4604463F493F481E46FE +:10F06000154681420ED83E4981420BD83D49814226 +:10F0700008D83D49814205D83C49814202D83C49E3 +:10F08000814201D9FB20F8BD44213A48F9F761F8E3 +:10F0900018213948F9F75DF8042221463548F9F777 +:10F0A0003FF8344C04223946201DF9F739F8204640 +:10F0B000062231460C30F9F733F8002D2CD02046CB +:10F0C000042229460830F9F72BF82C4D3222A86883 +:10F0D0000127C106C90E6971C105090FA970C104D4 +:10F0E000090FE9708104C90F29714103C90EA1619B +:10F0F0000102C90E5143E161C101C90F002902D0CB +:10F10000216C394321648001C00F03D0206C02219F +:10F110000843206400260BE0FF206072A0720020EC +:10F120002072D2E73146002000F03AFB761CF6B29E +:10F1300068798642F6D302F0EFFA05F06FFB0D48CE +:10F140000F495830676201600E49416009218160B2 +:10F150002F700020F8BD0000502B0020000001207F +:10F16000902B0020F0340020E0350020E046002005 +:10F17000F44A0020AC4D0020104E00206801002011 +:10F18000204E0000983A0000F0B589B01C461546A4 +:10F190000E460746FFF738FE012802D0FC2009B0D2 +:10F1A000F0BD1449124808604B20C0000090432075 +:10F1B000C00001900120800202900A2003902B20C1 +:10F1C00004906846FFF7D2FC23462A46314638466B +:10F1D000FFF740FF084905914910069104460521B3 +:10F1E00005A80791FFF7B8FC204609B0F0BD000064 +:10F1F00084A4520070010020204E000010B5084881 +:10F20000808CC0070AD004F045FE04F0CBFB054813 +:10F210000BF06CFC02F086FEFFF742FC10BD000014 +:10F22000AC4D0020284E002010B502F075FA0248BF +:10F230000CF0A2F910BD0000284E002010B50B49BB +:10F2400000204A790A490B4B0BE03C2444431C59EB +:10F25000002C04D0C86A10221043C86203E0401C8E +:10F26000C0B29042F1D3888DC0B210BD68010020B9 +:10F27000AC4D0020F03400203C22124B4243D21807 +:10F2800010B5114B5B79984201D31A2010BD136A57 +:10F29000052B01D0172010BDD269022A05D0032A00 +:10F2A00006D0002A07D0F72010BD00F01BFB04E0B9 +:10F2B00000F0EEFA01E000F0D3FA40B200F0DAFE1E +:10F2C00010BD0000F034002068010020F8B50C46A5 +:10F2D000002101700D465A49497908E03C22594BFA +:10F2E0006A43D218126A002A03D06D1CEDB28D4217 +:10F2F000F4D38D4201D32020F8BD0570E0690028C9 +:10F3000005D002281FD0032869D02120F8BD208D08 +:10F31000C0B20DF0B9F9060075D04B4869460068D7 +:10F32000009030460DF05EF9E06A00906946304684 +:10F330000DF064F93C204349684342184349304684 +:10F340000DF0B8F93FE00FF01BFE060075D0E06A43 +:10F3500000900F2000070CF06BFE07460099072075 +:10F360000F4040070CF064FE874205D038496846DC +:10F370000BF048FE002806D0208D364982B2304678 +:10F380000FF05AFC12E03048694600680090208D6A +:10F3900082B230460FF050FC002809D1E06A00909C +:10F3A000A08C694682B230460FF094FC002802D04F +:10F3B00000F060FEF8BD3C2022496843421826490F +:10F3C00030460FF0EAFD052026632062694620489A +:10F3D0000BF0E8FA2946204600F0E2F92BE00EF0A7 +:10F3E00057F8060029D01848694600680090208D1B +:10F3F00082B230460DF0AAFA070005D030460DF073 +:10F4000023FB3846D4E718E03C200E4968434118F6 +:10F4100030460DF099FA114930460DF06DFD266326 +:10F420000520666320622946204600F0B9F9694646 +:10F4300007480BF0B7FA0020F8BD1120F8BD000016 +:10F4400068010020F0340020AC4D0020B1480100DC +:10F45000284E0020BBF201002D4B0100D1F7000027 +:10F46000F7B582B0049900220D680A603C21484338 +:10F470005D494618306A052802D0172005B0F0BD56 +:10F48000002D17D07469B0680090F168401E09180B +:10F49000B069A84200D20546039800287AD06719BF +:10F4A0008F4209D2042D07D92A462146F8F738FEA3 +:10F4B0003C467FE01A20E1E74C48007C800724D5D9 +:10F4C0000F1B7F1CAF4200D32F46042F05D93A46AD +:10F4D00021460398F8F724FE04E0BAB221460398C7 +:10F4E00003F0C2FB0398009CC019BD4262D9EF1B18 +:10F4F000042F04D93A462146F8F712FE03E0BAB2C7 +:10F50000214603F0B1FBE41954E000203EE0039AE9 +:10F5100023781370039A641C521C8C4200D9009CFF +:10F52000401CA84246D223781370521C641C8C42A3 +:10F5300000D9009C401CA8423CD223781370521C76 +:10F54000641C8C4200D9009C401CA84232D2237813 +:10F550001370521C641C8C4200D9009C401CA842B1 +:10F5600028D223781370521C641C8C4200D9009C52 +:10F57000401CA8421ED223781370521C641C0392B4 +:10F580008C4200D9009C401CA84213D2A842BED392 +:10F5900010E0FFE76019884203D2042D01D9044628 +:10F5A00008E0002004E0641C8C4200D9009C401C50 +:10F5B000A842F8D3049805607461B069411BB16139 +:10F5C00002D1B06870613061F069032809D1B28955 +:10F5D000306B511A89B24185F2688A4201D10EF02E +:10F5E000B7FF00204AE70000F0340020F04D002073 +:10F5F0003C225043034A8018002901D042690A6026 +:10F6000080697047F034002010B53C230D4C434313 +:10F610001B191C6A052C03D000201060172010BD98 +:10F62000DB69002B05D0022B06D0032B07D0FA2074 +:10F6300010BD05F093F910BD05F0D4FA10BD05F02A +:10F64000F3F910BDF0340020FFB50025146885B033 +:10F6500016461560002C18D00699002915D03C21BB +:10F6600048432A4940180290006B03902848006CD8 +:10F67000800700D4C7256D1CADB2C82D42D8172015 +:10F680008001844204D3009004E01A2009B0F0BD48 +:10F690002046009481B2002210460CF071FD070054 +:10F6A00032D07868009A0699F8F73AFD1849002098 +:10F6B000C86339460E9B089A03980FF091FC01909D +:10F6C00038460CF08BFE1248C06B002802D101981E +:10F6D00000280DDA002030604021029800F03CF84C +:10F6E0000198002802DA00F0C5FCCFE7FA20CDE748 +:10F6F0003168009808183060009906984018069004 +:10F70000641AB8D10020C1E71120BFE7F03400200F +:10F71000AC4D002000B50E490A6812180A600D4A67 +:10F720001178002913D0D188081880B27D210901F1 +:10F73000D08088420BD30020D080FFF74DFB0128FA +:10F7400005D150780CF0CEFE5078401C507000BDB2 +:10F75000F40100206801002070B5047805460829EE +:10F7600013D007DC01290BD002290BD0042916D1B4 +:10F77000042008E010290AD0402910D1402002E0DE +:10F78000012000E00220044308E00820FBE71020ED +:10F790000443686B002801D00DF056F92C6070BD51 +:10F7A00070B505463C2041430848081804463C21F2 +:10F7B000F8F7CFFC002D04D020463C222946F8F76C +:10F7C000AFFCA0682061606170BD0000F0340020D3 +:10F7D00070470000F0B58DB00E460021129C0191DB +:10F7E0000291039104910591069107910891099165 +:10F7F0000A911D46174601460E4B272201A806F026 +:10F8000011FF6846C67405A811220B49F8F788FC59 +:10F8100008A80472272101A803F068FA27200B909A +:10F8200006480095007B3B460BAA01A9FFF70CFF99 +:10F830000DB0F0BDFEFF000010660100AA00002020 +:10F84000002310B41A46002906D9845C521CE31820 +:10F8500092B2DBB28A42F8D3D84310BCC0B2704730 +:10F860003C21484310B509494418206B002803D0B7 +:10F87000216A052902D006E0172010BD0CF01EFFFA +:10F88000002020632062002010BD0000F034002022 +:10F89000F8B50E463C214843114900254418606BD9 +:10F8A0002F46002803D00DF0CFF805462762206BC5 +:10F8B000002810D0002E04D0012E06D0022E06D033 +:10F8C00008E00DF0C1F8054604E0012100E0002148 +:10F8D0000CF05CFF2762284600F0CCFBF8BD00006E +:10F8E000F03400203C21484310B509494418206BEE +:10F8F000002803D0216A052902D006E0172010BD98 +:10F900000FF04EFB002020632062002010BD00009D +:10F91000F034002010B58CB0002401940694262009 +:10F9200002940394049405940B900794089409940A +:10F93000114B272268210A9401A806F073FE0120CA +:10F940006946C87405A811220C49F8F7E9FB08A913 +:10F950000C72272101A803F0C9F9094B0BAA587BA7 +:10F96000197B000208430090064801A9007B9B1DFB +:10F97000FFF76AFE0CB010BD0180000010660100A8 +:10F98000BA000020AA00002010B50A21F8F79EFB5B +:10F9900000014018C0B210BDF0B58FB00C4607464C +:10F9A0001D4616463C216846F8F7D3FB207808A987 +:10F9B000087360784873A0788873E078C873022071 +:10F9C00007900A4802904320C00003900A960995C8 +:10F9D00069463846FFF77AFC0446220003D0044902 +:10F9E000012000F091F820460FB0F0BD944B0020AC +:10F9F00070B8010070B5354C1020201802781146FF +:10FA00004278120211438278C07812041143000632 +:10FA10000143142022181378184653781B02184308 +:10FA20009378D2781B0418431206104381424BD0BE +:10FA30002749284A0968116004F0F3FC054602468C +:10FA400025A1002000F09EF8FC21F22000F01EFB12 +:10FA5000060012D01420231818782A460146587838 +:10FA600000020143987800040143D878000601435E +:10FA70003046891CFBF722FE03E01DA1002000F0A8 +:10FA800081F8142021180A7810464A78120210438F +:10FA90008A78C978120410430906084301218902B3 +:10FAA00040182075010A6175010CA175010EE17500 +:10FAB0001449884208D9092000042075010A61759B +:10FAC000010CA175000EE07570BD000087060020D6 +:10FAD000100000200000002055534152545F302098 +:10FAE000526576696365204C656E3A2564000000B6 +:10FAF00055415254302044617461204C656E20465B +:10FB000061696C00FF0F09000FB430B50121144B7F +:10FB10008140186883B001421CD01248026800205E +:10FB20009A60D8601C695D69141B01469C611A616A +:10FB30005961A841D861019000230BA100940F489E +:10FB400008F04CFF0D490EA008F01EFF08A9079809 +:10FB500008F058FF03B030BC08BC04B018470000E0 +:10FB6000300000201000002025382E6C6C64205BD3 +:10FB700025362E6C6C645D3A20000000F3260020D0 +:10FB8000257300000FB430B50121154B8140186872 +:10FB900083B001421FD01348026800209A60D860E9 +:10FBA0001C695D69141B01469C611A615961A84179 +:10FBB000D861019000230CA10094104808F00EFFBA +:10FBC0000E490FA008F0E0FE08A9079808F01AFFF8 +:10FBD0000CA008F0D9FE03B030BC08BC04B0184734 +:10FBE000300000201000002025382E6C6C64205B53 +:10FBF00025362E6C6C645D3A20000000F326002050 +:10FC0000257300000A0D000070B50D46064601215F +:10FC1000002449020A48F8F79CFA32462946084867 +:10FC200004F080FB0020002D07D905490A5C401C28 +:10FC3000121980B2D4B2A842F8D3E043C0B270BD6A +:10FC40005727002070B50646083004F0EAFB012172 +:10FC5000002449020546884201D9012070BD0B48A5 +:10FC6000F8F777FA32462946084804F05BFB002093 +:10FC7000002D07D905490A5C401C121980B2D4B284 +:10FC8000A842F8D3E043C0B270BD0000572700205F +:10FC9000F7B5444F05467A78434E86B0900905D0B3 +:10FCA000424C012819D0022878D130E0B0680028F1 +:10FCB00004D1FF2001300BF093FFB0607D2235238B +:10FCC00052013B492846FFF767FE002866D1787845 +:10FCD0008006800E4030787060E001235B020020D7 +:10FCE000B26802F06DFF009028786A46B168FFF7AD +:10FCF0008BFC304800682074010A6174010CA17407 +:10FD0000000EE07478788006800E8030E3E71020E3 +:10FD100021180B78274F18464B781B0218438B7815 +:10FD2000C9781B041843090608433968081AC8280B +:10FD300016D91D4880680AF0A1FF1B48002686607E +:10FD400038682074010A6174010CA174000EE0741B +:10FD500028783146FFF790FA2E70022009B0F0BDE6 +:10FD600090071BD500202870102021180A78104613 +:10FD70004A78120210438A78C9781204104309069F +:10FD800008433968091A0CA008F0FEFD089A684675 +:10FD9000B1680CF051F909B0F0BDFFE7002009B0DF +:10FDA000F0BD0000BA000020EC000020BC000020E4 +:10FDB000EE000020A0000020444E5320BAC4CAB177 +:10FDC000A3BA2564306D730A0000000070B53C4989 +:10FDD00057220A70A8220A70394A403A537BDF241E +:10FDE00023405373D37BFD242340D37300230B7034 +:10FDF0003449CB70CC78DB252C43CC70CD780424EF +:10FE00002543CD70FF250D714E79C0252E434E71CF +:10FE10008E79360936018E718E7926438E71CC79B2 +:10FE20002C43CC71CC79A406A40ECC710B764C7EFD +:10FE300001231C434C768C7EE406E40E8C768C7E8B +:10FE400020252C438C768C7E10252C438C768C7E42 +:10FE5000FB252C408C768C7E1C438C76C8831A48FC +:10FE6000184B447920331C7204795C72C4789C72FC +:10FE70008478DC7244781C7300785873508B40236C +:10FE8000184350831148114A806B803A80008018D3 +:10FE9000806F88810A48803005680D490D4A0988BD +:10FEA00012880C4611430B461D4305604169E4432B +:10FEB00014432140416181681943816070BD000095 +:10FEC0004010004000900040A40000203455002065 +:10FED000980000209A00002070B51549CA6B002ACE +:10FEE00009D04A6B0C469200803C1219956F928F94 +:10FEF00093B2002205E0002070BDAE5C8654521C17 +:10FF000092B29A42F9D3486B002280002250486B8B +:10FF1000401C4863042800D34A630648C178490658 +:10FF2000490EC170C17880221143C170184670BD5E +:10FF3000345500200090004030B5124A13689B00F1 +:10FF40009B18DC68002305E005785B1C2570401CCD +:10FF50009BB2641C8B42F7D301240B4880230360BF +:10FF60000A48418111688900891889890181C1790C +:10FF700008221143C17104488038036004480460BA +:10FF8000002030BD7855002080E100E00090004066 +:10FF90007801002010B5FEF711FF10BDF8B5234C15 +:10FFA0002679700603D5FEF797FD402020713007B3 +:10FFB00004D51F490020086008202071F0062ED5C6 +:10FFC000012003F043FF1B4D1B4F400710D50120BC +:10FFD00001F04AFBE8681949194A09881288114357 +:10FFE0000843E860E07904210843E07102200FE053 +:10FFF000002001F039FBA8681049114A09881288CD +:020000040001F9 +:1000000011430843A860E079FB210840E07101201A +:100010003862F86A04210843F86210202071B007A2 +:1000200002D0607903202071F8BD000000900040EC +:1000300078010020C0100040AC4D00209800002046 +:100040009A000020F0B400252B46002A10D9AC00FD +:100050000E5DC6540E5B6D1C370AC61877700F59BB +:100060001B1D3F0CB7700C59240EF4709342EED355 +:10007000F0BC7047002805D0FF210131081A024961 +:10008000C0B2085C7047000090F20100F3B5FF2594 +:10009000013581B00F462C46082004F0ADF9064624 +:1000A0009F21401B0902884200D3124EAE421AD94A +:1000B000204604F065F901460198814209D1601C8F +:1000C00004F05EF9B84204D12046FFF7BBFD0028DA +:1000D0000CD0FF34FF35FF34FF3502340235B44213 +:1000E00001D2B542E4D3002003B0F0BD204603B0F6 +:1000F000F0BD0000FF9F000010B5082004F07CF95F +:10010000FF380138C003000E10BD0000F8B5082408 +:10011000204EE704250300F091F900F07FF8F06825 +:100120003843F060202003F0F7FF2802000E03F0B0 +:10013000F3FF2804000E03F0EFFF002003F0ECFFB4 +:10014000B0683843B06000F069F8641CE4B2102C69 +:10015000E0D30124250400F071F900F05FF8F068A5 +:100160003843F060D82003F0D7FF2802000E03F0D8 +:10017000D3FF2804000E03F0CFFF002003F0CCFFD4 +:10018000B0683843B06000F049F8641CE4B2042C55 +:10019000E0D3F8BDC010004010B50321082000F0E6 +:1001A00099F904210C05204600F0CAF903214803FF +:1001B00000F090F90121C80300F08CF90449886A25 +:1001C000082210438862034988682043886010BD74 +:1001D00080100040C0100040F7B50F4D1446E8688D +:1001E0000F460126B6053043E860032003F094FF74 +:1001F0002002000E03F090FF2004000E03F08CFF9D +:10020000E0B203F089FF3946009803F041FFA86887 +:100210003043A86003B0F0BDC0100040F8B5154DE4 +:100220000024E8680126B6053043E860052003F0A5 +:1002300073FF03F055FFA9683143A960C00716D0CA +:100240000D4F64200BF0F9FAE8683043E8600520B0 +:1002500003F062FF03F044FFA9683143A960641C06 +:10026000A4B2BC4201D90120F8BDC007E9D10020E9 +:10027000F8BD0000C0100040B80B0000F7B588B012 +:100280000A986C4E000B03900A980D460705012052 +:100290003F0D0003C41BA14200D80C460121C90236 +:1002A0007118049103980003009001900290624835 +:1002B000C0680121890508435F49C860032003F035 +:1002C0002BFF0298000C0590C0B203F025FF0298A6 +:1002D000000A0790C0B203F01FFF002003F01CFFCC +:1002E0000121C902304603F0D3FE53488068012142 +:1002F0008905084350498860049806900198C914FC +:100300004018019002904C48C068C90208434A490D +:10031000C860032003F000FF02980002000E03F003 +:10032000FBFE02980004000E03F0F6FE0298C0B235 +:1003300003F0F2FE0121C902069803F0A9FE3E482F +:1003400080680121890508433B4988600020002C12 +:1003500007D93918715CFF2903D1401C80B2A04233 +:10036000F7D3A04239D200F069F8FFF757FF3248BF +:10037000C0680121890508432F49C860202003F087 +:10038000CBFE0598C0B203F0C7FE0798C0B203F0D9 +:10039000C3FE002003F0C0FE2748806801218905C4 +:1003A000084325498860FFF739FF0020002C07D952 +:1003B0000899C219095C401C80B2B154A042F7D31D +:1003C0000127FF0239463046009A00F047F83946C7 +:1003D000019A049800F042F815E0012000038442DD +:1003E0000AD147103946009A089800F037F8089863 +:1003F00039464018019A04E0844204D221460A9A00 +:10040000089800F02BF8A54212D003980027401C52 +:1004100003900898001908900A9800190A90281B60 +:10042000012485B22403A54200D93BE72C4639E7D5 +:100430000BB0F0BDF0120020C010004070B5064CAB +:10044000E0680125AD052843E060062003F064FE66 +:10045000A0682843A06070BDC0100040F8B50746F2 +:100460000D46FF20D1B20130441A1646A54200D8ED +:100470002C46FFF7E3FF1648C1680122920511439D +:10048000C160022003F048FE3002000E03F044FE7B +:100490003004000E03F040FEF0B203F03DFE2146B2 +:1004A000384603F053FE0A48806801218905084355 +:1004B00007498860FFF7B2FEAC4208D0281B3F19FD +:1004C0003619FF2485B20134A542D2D8D0E7F8BD51 +:1004D000C0100040194A052910D20B007B441B793B +:1004E000DB189F44020C151E2500516B814351639C +:1004F000116B81431163116A814311627047516B23 +:1005000081435163116B01431163116A81430DE013 +:10051000516B01435163116B81431163116A814334 +:1005200004E0516B81435163116A014311627047CA +:10053000516B01435163116A0143F7E7801000409A +:10054000194A052910D20B007B441B79DB189F4404 +:10055000020C151E250051698143516111698143C7 +:100560001161116881431160704751698143516184 +:10057000116901431161116881430DE05169014323 +:1005800051611169814311611168814304E051692E +:100590008143516111680143116070475169014302 +:1005A000516111680143F7E7C010004010B50C48D5 +:1005B0000089C1B20B069A0F0A48022A05D0012A07 +:1005C00004D09A0F06D07D20000210BDC906C90EC6 +:1005D000054801E0C906C90EF7F778FD10BD000017 +:1005E000001000400048E80100389C1C00B502469D +:1005F00085B015321021684603F010FE6846407839 +:10060000002802D0022005B000BD012005B000BDC9 +:1006100000B502468BB015322B21684603F0FEFD73 +:1006200008A88079002802D002200BB000BD01206C +:100630000BB000BD00B50246B5B01532D2216846F8 +:1006400003F0ECFD30A80079002802D0022035B07C +:1006500000BD012035B000BD00B5024693B0153293 +:100660004621684603F0DAFD68464078002802D04B +:10067000022013B000BD012013B000BD10B50D481D +:1006800003F07EFE04020C4803F07AFE04432402C9 +:100690000A4803F075FE044309202402000403F015 +:1006A0006FFE07492043FF2241185201914200D3B7 +:1006B000044810BD03000900020009000100090000 +:1006C000E0FFF6FF2000090000B50246A7B0153292 +:1006D0009721684603F0A2FD20A8007D002802D0E3 +:1006E000022027B000BD012027B000BDF3B50646AB +:1006F00083B00020FF2500900135082003F07CFE28 +:1007000007469F21401B0902884200D3264F0498C8 +:100710000024002844D92846FFF794FA002802D084 +:10072000F02005B0F0BD284603F02AFE0190681CB9 +:1007300003F026FE029001980A2815D004DC062852 +:1007400017D0072819D10BE0152805D0F12814D1AE +:100750002846FFF76FFF0AE02846FFF77DFF06E017 +:100760002846FFF755FF02E02846FFF73FFF0090BD +:1007700003E02846FFF7A8FF0090600020180199C9 +:10078000315480190299FF354170FF3500990235C7 +:100790008170BD4204D2641C0498E4B28442BAD38E +:1007A000002005B0F0BD0000FF9F000001090A22F3 +:1007B00000075143000F0818C0B27047F0B58DB064 +:1007C0000024074601942620154606940E460294FE +:1007D00003940494059402460B900794089409949A +:1007E0000D4B0A210A9401A805F01CFF6846C77446 +:1007F00005A811220949F7F793FC262101A802F068 +:1008000075FA07480095007B33460BAA01A9FEF74D +:100810001BFF0DB0F0BD0000FEFF000010660100E0 +:10082000AA000020F7B5ACB000263D4F2B96F86823 +:100830000C464676411C86760A46C67606771F31F8 +:100840004E70037D9D0706D09A07920F012A0BD0A8 +:1008500001202FB0F0BD05231B0413751D0A55752B +:100860001D0C95751B0ED3756B461E7501225A75AE +:10087000CA78014605AD2431A81CF7F751FCF96888 +:100880002B980B462033DA78801C10182E546F22D8 +:10089000401C2A546322401C2A547427401C2F54A5 +:1008A0006522401C2A54401C2F54401C2E54401CCE +:1008B0002B90DA781B1D1BA10120FFF763F920782C +:1008C000E378A278617801AE0FC62B9800901DA145 +:1008D00001202E9B2C9AFFF755F927A10120FFF745 +:1008E00051F92B980026002809D9AA5D24A10120DE +:1008F000FFF748F9761C2B98B6B28642F5D310A1C3 +:100900000120FFF73FF92E98234680B200902BAAD2 +:1009100005A92C98FEF798FE00202FB0F0BD00002E +:10092000F800002046747046696C654E616D654C38 +:10093000656E3A2564202C206E616D653A25732022 +:100940000A000000536F636B657449643A256420A4 +:100950002C20706F72743A2564202C206C656E3ADE +:10096000256C64202C2049503A25642E25642E25C0 +:10097000642E25640A000000446174613A0000009E +:100980002530325820000000F8B5194B02251C69AB +:1009900021272570FF34FF340D78023425734D78FC +:1009A00065738D78A573CD78E57300256561A561C4 +:1009B0002261DE687576B576F5763577BD55357D7D +:1009C000731CAE0705D0AB079B0F012B0AD001208B +:1009D000F8BD05252D041D752E0A5E752E0C9E751D +:1009E0002D0EDD75636900F005F80020F8BD0000EC +:1009F000F8000020F0B50C46064687B004201849E0 +:100A00000690C9681546203149780022012921D075 +:100A10006F4604213A75797599B20A02090A1143A1 +:100A2000F982E178A278637827780293039204919F +:100A3000009001972B4632460A490120FFF7A2F8A1 +:100A4000A8B20090234606AA05A93046FEF7FCFD91 +:100A500007B0F0BD6F4605213A757975DCE70000F7 +:100A6000F800002020FA0100F3B55A4E1820F36870 +:100A700081B05B1C19180A7810464A78120210439C +:100A80008A78C97812041043090608431C215A18B1 +:100A90001378194653781B0219439378D2781B04B4 +:100AA000194312061143451A03F014FC3169002959 +:100AB00014D000274F708F70CF700F71002D0AD0A7 +:100AC000FF31FF3102314A69F1684B7C0C7C1B021B +:100AD00023439A4205DB012003B0F0BD002003B0A0 +:100AE000F0BD1C22491C8A181378194653781B0242 +:100AF00019439378D2781B04194312061143364ADE +:100B00000C18944202D9354A80180C182B462246FC +:100B100033A10120FFF736F830690322C31DFF33EC +:100B2000FA335969491C5961477082700A12C270C0 +:100B30000171012149028D4201D9996001E02946E4 +:100B40009D60254A0B19934212D9111B8DB2224682 +:100B50002946401D03F0E6FB41213069C900095ACE +:100B60004019491B89B22A4A401D03F0DBFB04E00F +:100B700089B22246401D03F0D5FBF2681C20521CAE +:100B800011180B7818464B781B0218438B78C978DC +:100B90001B041843090608433169CC1DFF34FA349D +:100BA000A368C0181077030A5377030C9377000EDD +:100BB000D077A0684122001DA0600298D20080B2C8 +:100BC000009014488A18407B491C019BFEF73CFDAD +:100BD00003B0F0BDF8000020FF1F090021E0FFFF77 +:100BE0005446545020726561645F61646472203AB7 +:100BF0002025303858202C20737572706C75735F07 +:100C000062797465203A25303858200D0A000000BA +:100C100020000900AA000020FFB5FE4C1E46A54496 +:100C200004460020FF2203A90A5401214902401C66 +:100C30008842F8D3F948F84A0421684403F0EEFAF0 +:100C4000F74803F09DFB0546F64803F099FB0002C8 +:100C50000543F5480195C268104620308178491C4B +:100C60008170042E7DD9F14B6B44D86A408801060F +:100C70000D0C010AE01DFF30FA3002904069294353 +:100C8000401C81426DD10020311F351F002909D938 +:100C900003A9E64B6B44DB6A1B181B790B54401C01 +:100CA000A842F6D3511C18200B181F7838465F78DD +:100CB0003F0238439F78DB783F0438431B061843D4 +:100CC00040195076030A4B76030C8B76000EC876DB +:100CD000701EC117890F0818D44B8003000C6B4499 +:100CE0001861107D8107890F02D001297BD195E021 +:100CF00002994B69002B0AD0FF21B1318B4272DD82 +:100D0000C94E8009012871D002287FD175E06A465A +:100D1000517B107B09024018917BD27B090412069B +:100D20008918401807460246C1A10120FEF72AFF94 +:100D3000C7493846084001214907884253D0C5A118 +:100D40000120FEF71FFFCAA10120FEF71BFF0027AD +:100D5000002E0CD9B548C9A16844C06AC25D012003 +:100D600000E0FAE0FEF70EFF7F1CB742F2D3BFA10E +:100D70000120FEF707FFC2A10120FEF703FF0027B5 +:100D8000042E08D003AEF25DBCA10120FEF7FAFEEE +:100D90007F1CAF42F7D3B5A10120FEF7F3FEA24EB0 +:100DA000F068007D8009012802D0022810D106E0F9 +:100DB0009A4904206944019AFFF700FD08E00020E9 +:100DC000964A00906A4404216820019BFEF702FDC8 +:100DD000F1680120203148706846437B0022AA490F +:100DE0000120FEF7CFFE70E000E00FE08B4903200A +:100DF0006944019AFFF7E2FC08E00020874A00906E +:100E00006A4403216820019BFEF7E4FCF16801209D +:100E1000203148709DA1FEF7B5FE56E00299496960 +:100E2000002908D0402950DD7F4E8009012835D0A7 +:100E3000022843D139E0A178607809024018E178AE +:100E400022790904120689184618324695A1012014 +:100E5000FEF798FE9848B04337D0734EF068007D97 +:100E60008009012802D0022810D106E06B49042035 +:100E70006944019AFDF7BAFD08E00120674A009035 +:100E80006A4404216820019BFEF7A4FCF16801205C +:100E90002031487089A1FEF775FE16E05F490320F6 +:100EA0006944019AFDF7A2FD08E001205B4A009029 +:100EB0006A4403216820019BFEF78CFCF168012045 +:100EC0002031487087A1FEF75DFE574EF068017D26 +:100ED0008907890F01D001294FD10299401C4A6925 +:100EE000521C4A611421401801780A4641780902CF +:100EF0000A438178C07809040A43000602430121AD +:100F0000490203A803F010FBF36814205B1C1918B6 +:100F10000A7810464A78120210438A78C978120477 +:100F20001043090608434149694409698900421888 +:100F30001A75100A5875100C9875100ED8753B4923 +:100F4000009569440B696EA10120FEF71BFE029813 +:100F500080694219029882610FE034486844C06A8F +:100F6000408801060A0C010A1143E21DFF32FA32E1 +:100F70005069401C814200D15061E01DFF30FA30C1 +:100F80002A4F00906F4405464369FA6CB96CB86A01 +:100F9000FFF730FD244EF068417C027C080269694D +:100FA0001043884234D138460021806AFEF764F944 +:100FB0005E480021407BFEF75FF90021304641701A +:100FC000C268107D8007800F05D0012821D0012044 +:100FD0002032507069E21548002168440161416186 +:100FE0008161C1611420521C11180A78504D1046BD +:100FF0004A780526120210438A78C97812041043F1 +:101000000906084336046D44074F811B2A4691E0C8 +:101010006BE2C9E1DCF7FFFF00E6080020080000F2 +:1010200004E6080005E60800F800002000080000BB +:1010300074656D705F766172203A202530385820D3 +:101040002C20626C6F636B203A25640A000000005C +:101050000000FE2FC4DAB4E6B7D6C5E4B5C4B5D8EF +:10106000D6B7B2BBCAC7D3D0D0A7B5C40A00000058 +:10107000706B745F6275663A0000000025582000AE +:10108000646174613A000000D8F90100C9FDBCB682 +:10109000CAA7B0DCA3ACB3ACB3F6D7EEB4F3BFE9E8 +:1010A000CAFD0A0074656D705F766172203A202572 +:1010B00030783038580A0000F00FA900C9FDBCB6DE +:1010C000C5E4D6C3CAA7B0DCA3ACC5E4D6C3CEC4BE +:1010D000BCFECDB7A1A2B0E6B1BEB5C8B4EDCEF3AB +:1010E0000A000000C9FDBCB6C5E4D6C3CAA7B0DC7F +:1010F000A3ACB3ACB3F6D7EEB4F3BFE9CAFD0A00B4 +:10110000D0B4C8EBB5D8D6B7A3BA253038582CD050 +:10111000B4C8EBCAFDBEDD3A20636F756E743D2521 +:10112000642C62797465A3BA25640A00AA000020C1 +:1011300010080000304601F0BDF8F8681421401C8A +:1011400041180A7810464A78120210438A78C97802 +:101150001204104309060843821BE5A10120FEF793 +:10116000D3FC1026FB680020295C1A5C914208D051 +:10117000187D0124E54D800901287DD002287CD10D +:1011800001E1401CB042EFD3E1A10120FEF7BCFC1D +:10119000DE4EE44DF068007D8009012802D002286F +:1011A0000FD106E0E0A10120FEF7AEFC29460120A8 +:1011B00005E0E4A10120FEF7A7FC2946022003F088 +:1011C000E1F9E7A10120FEF79FFCFEF79FFFCF4862 +:1011D0000025C068E84E417C027C0802104317D00D +:1011E00005206F0200043A1801214902601C03F037 +:1011F00099F80121BA194902601CFFF73FF8C3486A +:101200006D1CC068417C027C08021043A842E7D8EC +:10121000002022180021517001214902401C8842FF +:10122000F7D30098D5A142690120FEF7ABFCB7487F +:10123000C068427C017C100208438107890F7DD081 +:1012400087087F1C0025002F26D901213246C902BC +:1012500003A8FEF7C1FF0121C90203A801F06AFD3E +:101260006A00010A121920329172C3B2D37202933A +:10127000019100902B4601E07DE08DE03246C4A153 +:101280000120FEF741FC0120C0023618CF488642FB +:1012900002D26D1CBD42D8D320462030027A79009C +:1012A0000A430272427A090A0A43984D4272E96877 +:1012B0001422491C8A181378194653781B021943C3 +:1012C0009378D2781B041943120611430922D203E2 +:1012D000891A02780270427880231A434270827819 +:1012E0008270C278C27002790B0A0A430271427995 +:1012F0001A43427182790B0C1A438271C279090E2A +:101300000A43C2716620E070FF21FF31E01C01F04A +:1013100011FD6378C1B20B436370A278000A0243E7 +:10132000A270ABA10120FEF7EFFB012100224902D0 +:10133000601CFEF7A3FFABA1012000E019E0FEF75F +:10134000E3FB0A200AF060FAE868CF22017D114031 +:1013500020310175002801D009F090FC0024EC60D8 +:101360002869002801D009F089FC2C6103F054F9A8 +:1013700095E0870866E7A048EA886844816C052004 +:10138000FFF71CFA08E000209C4A00906A440521FF +:101390006820019BFEF71EFAE86899A1203044708E +:1013A0000120FEF7B1FB7AE09349002769440F6101 +:1013B0004F618F611420521CCF6111180A78384692 +:1013C00010434A78944C120210438A78C978120468 +:1013D0001043090608438F494C4E41186C4435466A +:1013E00022468E4800F066FFEA6810250020235C44 +:1013F000115C8B4208D0107D0124800935460128FC +:1014000036D0022844D13BE0401CA842EFD33D46F1 +:1014100083A10120FEF7B6FBF0683446007D800909 +:10142000012802D0022811D107E07348E2886844FD +:10143000816C0120FDF7DAFA08E001206F4A009084 +:1014400001466A446820019BFEF7C4F9E068CF2298 +:10145000017D114020310175002801D009F00EFCFA +:10146000E5602069002801D009F008FC256116E03C +:101470006148EA886844816C0520FDF7B7FA07E007 +:101480005E4A00946A4405216820019BFEF7A2F998 +:10149000E86868A1203044700120FEF773FB1B4808 +:1014A000C0682030407801281FD168A10120FEF7D4 +:1014B00069FB514800216844806AFDF7DDFE6848F9 +:1014C0000021407BFDF7D8FE104C00256570E068D8 +:1014D00021210D54002801D009F0D0FBE5602069DE +:1014E000002801D009F0CAFB25615E4CA544F0BD7F +:1014F00066616C7368D0B4C8EBD7DCB3A4B6C8A37C +:10150000BA256420427974650A000000F8000020C2 +:10151000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8E9 +:10152000B70D0A0006E60800BCC7C2BCBED6D3F29F +:10153000CDF8C9FDBCB6B3C9B9A6D7B4CCAC2E2E74 +:101540000D0A0000BCC7C2BCD4C6B6CBC9FDBCB630 +:10155000B3C9B9A6D7B4CCAC2E2E0D0A000000003A +:10156000BDAB415050D0B4C8EB466C617368D6D067 +:101570002E2E0D0A000000000080000061726773CB +:101580002D3E626C6F636B3A25640D0A000000000B +:101590005352414D5F414444523A20253038582C33 +:1015A00020426C6F636B3A256C64202C6372635F1E +:1015B00076616C3A25303458202C20646174613A8D +:1015C00025303258253032580A000000FFE503006C +:1015D000415050204352433A25303258253032583A +:1015E0000A0000004E455420555064617465205334 +:1015F0005543432E2E2E0A0000080000200800004C +:10160000C9FDBCB6CAA7B0DCA3AC4D6435B4EDCE01 +:10161000F30A0000009AF7FF1008000000660800B7 +:10162000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8D8 +:10163000B70A0000C9FDBCB6C5E4D6C3CAA7B0DC72 +:10164000A3AC4D6435B4EDCEF30A0000C9FDBCB6C1 +:10165000B4EDCEF3A3AC4D6435B4EDCEF30A000087 +:10166000AA0000203408000070B5074C0025207047 +:10167000A570E570257105486571A11D0068F6F734 +:10168000A4FD657070BD00008C550020F4010020A1 +:1016900070B5144905460878002816D00C46881DF8 +:1016A000F6F789FD7D21281AC90088420CD9A11DB1 +:1016B0002846F6F78AFDE078A1780002084305285D +:1016C00008D90020FFF7D0FF70BD2846891DF6F726 +:1016D0007CFD70BD401CA070000AE07002F0AAFF03 +:1016E00070BD00008C55002010B504460020FFF7A7 +:1016F000BBFF0748002C07D001214170054802229A +:10170000C16A1143C16210BD0021417010BD0000CB +:101710008C550020AC4D002010B50548FEF756FB57 +:1017200004490020086004490120086210BD00003F +:101730004F02000078010020AC4D0020F8B5764C37 +:10174000E068002830D0007D8106890F01292BD167 +:1017500082097348009073482146006889686F4D7C +:10176000401A697B2B7B09021943012A12D0022AF5 +:1017700010D0032A18D1A2786B4F0026092A7DD2F7 +:1017800013007B441B79DB189F44324861C4504CE2 +:101790008589A8006278002A07D0012A23D0022A6E +:1017A00002D1A81D03F022FBF8BDFDF715FB0228AE +:1017B000FAD32878C007F7D05CA10120FEF7E2F940 +:1017C000614A4521009804F0FBFE60A10120FEF76C +:1017D000D9F9664A6649674804F0F2FE5148006844 +:1017E000A060012002E00528DED902206070F8BD6B +:1017F000FDF7F2FA0228FAD32878C007F7D04BA1F8 +:101800000120FEF7BFF95C4A5C49009804F0D8FE5D +:1018100044480068A0600120A070F8BD0528FCD9EC +:101820000420F9E70528F8D90620F5E74521A81C8A +:1018300003F010FDF0282AD01122206939685201E6 +:101840001150FF30FF30023046620220E4E7216988 +:101850003A68C81DFF30FA30036A456AD71A304625 +:10186000A8417D252D010023ED1B8341D5D2C81D44 +:10187000FF30FA3046620262112000E04AE0400187 +:101880000818017A491CC9B20172032901D908203C +:10189000C2E70720C0E7A81CFFF7E6F8CCE738A1AD +:1018A0000120FEF76FF9687B297B00020843009056 +:1018B000412221693848D2008A18AB1C407B491C60 +:1018C000FDF7C2FE11222069396852011150FF3024 +:1018D000FF30023046620220A070F8BD2FA1012027 +:1018E000FEF750F92C480021407BFDF7C5FCE0686D +:1018F000CF22017D114020310175002801D009F06F +:10190000BDF9E6602069002801D009F0B7F9266129 +:10191000A670F8BDA670F8BDF8000020BA0000203F +:10192000B7000020A000002010000020BFAACABC01 +:10193000B4B4BDA854465450B7FECEF1CCD7BDD3F5 +:10194000D7D62E2E2E200A0055640100BFAACABC8D +:10195000B4B4BDA854465450CEC4BCFEB4ABCAE423 +:10196000CCD7BDD3D7D62E2E2E200A00D5640100A9 +:10197000FFFF0000B8000020B54F0100DCFF0000B1 +:10198000D6D8D0C2B7A2CBCDD2BBB4CECAFDBEDDB5 +:101990002E2E2E200A000000AA000020B9D8B1D5B2 +:1019A000CCD7BDD3D7D6A3ACCACDB7C5C9EAC7EB90 +:1019B000BFD5BCE42E2E2E200A00000070B50121F8 +:1019C0000C052046FEF7BCFD0121CD042846FEF79C +:1019D000B7FD01218E043046FEF7B2FD0549886847 +:1019E000204388608868284388608868304388601E +:1019F00070BD0000C01000400648074900680A6832 +:101A0000064B821A9A4204D910B5086000F060F8BB +:101A100010BD70471000002020000020C0270900E2 +:101A200000B587B0002000900190029003900490D0 +:101A30000B22059012031521684602F0EFFB684661 +:101A4000407B062802D00620694648730320694679 +:101A5000887305A10020FEF757F815226946052076 +:101A600000F082F907B000BD4C4F475F53617665C7 +:101A70005F476C6F62616C5F506172616D65746528 +:101A80007273200D0A00000008B5002009220090A2 +:101A9000120404216846FEF79FFB6846C07857226F +:101AA0000102684680785201084301026846407886 +:101AB00008430102684600780843034941189142EF +:101AC00000D3024808BD0000E0FFF6FF2000090037 +:101AD000F0B585B000260124A4020496FEF7CEFDE1 +:101AE0000390724802F04CFC0502714802F048FC79 +:101AF00005432D026F4802F043FC05432D026E485A +:101B000002F03EFC05436D482918FF204001814248 +:101B100000D36B4D0398A84201D9461B07E0A842A9 +:101B200005D268480399401B411864480E18FFF716 +:101B3000ABFF074664482B46C01B029000970196F6 +:101B400062490020039AFDF7DFFF002E77D0B00A2C +:101B5000401C024601905EA10020FDF7D5FFA64281 +:101B600000D834460298844200D3044655492819C7 +:101B7000884200D94C1B0198401E0190401C5CD04B +:101B8000A1B22A46564802F0CDFB2B463A465549AB +:101B900000200094FDF7B8FF049801280CD14848B4 +:101BA000874209D1002004904F4901200870601C31 +:101BB00081B27A1E4C4802E0A1B23A464848FEF78C +:101BC0005DFB3F192D19A64204D148A10020FDF765 +:101BD0009BFF32E00298361B001B02903948854279 +:101BE00008D32A4648A10020FDF78EFF0198344D06 +:101BF000401C0190344887420CD33A464AA1002049 +:101C0000FDF782FF012004904F48029001982C4F6D +:101C1000401C01900124A402A64200D83446029838 +:101C2000844200D3044627482919814200D9441B25 +:101C30000198401E0190401CA2D13A4600E033E0DA +:101C400042A10020FDF760FF00201C4D00905721AD +:101C500078194901884200D36F4269460F70380AEB +:101C60004870380C8870380EC8700922120404219C +:101C70006846FEF703FB039CFF2061194001814287 +:101C800000D30F4C0C49E0B202F07CFC2004000EA3 +:101C9000084902F077FC2002000E054902F072FCB0 +:101CA000200E024902F06EFC05B0F0BD0B000900E9 +:101CB0000A0009000900090008000900E0FFF6FF1A +:101CC00020000900FF1F0900FF0A090014F30100AA +:101CD000775F6E756D203A2025640D0A00000000C4 +:101CE000F1220020D0F20100F02200204C4F475F8B +:101CF000466C61736820577269746520436F6D701C +:101D00006C657465210D0A004C4F475F5352414D7D +:101D10005F456E645F416464726573733A30782521 +:101D20003038580D0A0000004C4F475F466C617315 +:101D3000685F456E645F416464726573733A3078BE +:101D4000253038580D0A0000DF0A00004C4F4720AC +:101D5000466C61736820454E445F6164643A307834 +:101D600025303858200D0A00F7B55648564E0468FD +:101D700082B01746707801F0A5FE54494843041913 +:101D8000B07801F09FFE5249009748430C3705197F +:101D9000FFB2FEF773FC04464E49C019884204D3D3 +:101DA0004DA10020FDF7B0FE524CA520214602F0C7 +:101DB000E9FB514802F0E4FA611C019002F0E2FBF9 +:101DC00001984D49401CC0B202F0DCFBA11C384612 +:101DD00002F0D8FBE11C002002F0D4FB3A488079E5 +:101DE00001F070FE86023848407901F06BFE400138 +:101DF00036183548007901F065FE301886B2300A91 +:101E0000211D02F0BFFBF0B2611D02F0BBFBA11D62 +:101E1000029802F0B7FBE8B2E11D02F0B3FB280420 +:101E20002146000E083102F0ADFB28022146000ECB +:101E3000093102F0A7FB2146280E0A3102F0A2FB6D +:101E400022460B320099039802F06EFB009821188D +:101E50005A200B3102F096FB00263546002F08D998 +:101E6000601902F08DFA80196D1CEDB2C6B2BD4248 +:101E7000F6D3F043C0B2E11C02F084FBE5191F4821 +:101E8000FF21281849012C46884200D3194C09210A +:101E9000E0B2090402F076FB2004000E184902F0BB +:101EA00071FB2002000E174902F06CFB200E164950 +:101EB00002F068FB2A4615A10020FDF725FE002050 +:101EC00005B0F0BD180000202800002060EA0000E6 +:101ED00080EE3600FF1F0900205352414D20537001 +:101EE000616365206973206E6F7420656E6F75671E +:101EF000680D0A002000090014000900E0FFF6FF49 +:101F00000100090002000900030009005352414D7D +:101F1000204C4F472041646472203A2025303858C5 +:101F20000D0A0000F8B5324C606800903148016A33 +:101F300001295CD00099A268C069891A40088142D1 +:101F400015D30098A0602D4962782B480988002A93 +:101F500008D082680A4205D10022627082680A4372 +:101F6000826002E0C2680A43C2600CF0C1FD0098C2 +:101F7000E168401A2249884203D30098E06008F0E3 +:101F80003DFD2048C16800290AD00099E269891AFC +:101F90007D22D200914203D30099E16140688047DD +:101FA000194DFF262868F536002816D000982169BB +:101FB000401AB04205D3009820612869002800D05B +:101FC000804700986169401A1049884205D30098FB +:101FD00060616869002800D080470098A169401AB4 +:101FE000B04201D90098A0610098FFF751FBF8BDFD +:101FF000F0010020AC4D0020C01000409A000020ED +:102000008813000098550020104E002060EA000060 +:1020100001490120C8637047AC4D0020F8B5064661 +:1020200000256846057069463046FCF707FD002824 +:102030000BD0684600781349020607D54006400ECB +:102040003C225043401845630562F8BD3C224243A0 +:1020500054180D4949798842F7D2E0690328F4D130 +:10206000367C20463C21F6F774F8092E08D00A2E5B +:1020700006D040212046FDF76FFB25632562F8BDA1 +:102080001021F7E7F03400206801002010B5054C5E +:1020900023636263A1636061E06A01210843E06237 +:1020A00010BD0000AC4D0020F8B506460D461446A4 +:1020B000104609F095FD07462146F6F74AF82A46EC +:1020C0002146384602F0AAF822463946304600F04A +:1020D00005F8384608F0D2FDF8BD0000F8B5FF2637 +:1020E000F53615460C46012809D0474F022838D04E +:1020F000032835D14548007803285CD06CE044487B +:102100000078032810D143482B46027811464278C4 +:10211000120211438278C078120411430006014371 +:102120002246012006F068F83B4F2046BA6829464F +:10213000002401256D052A43BA6003F07DFE37486F +:102140004179490602D5C07A002806D0642009F0FA +:1021500074FB641CA4B2B442F1D9F8682843F86057 +:10216000F8BD2F480078032810D12E482B4602785E +:1021700011464278120211438278C078120411434A +:10218000000601432246022006F036F82046BA6ACD +:102190002946002402252A43BA6203F0AFFF2248F1 +:1021A000407940062CD4642009F047FB641CA4B29B +:1021B000B442F4D924E01D482B46027811464278F7 +:1021C000120211438278C0781204114300060143C1 +:1021D0002246032006F010F82046BA6A2946002459 +:1021E00001252A43BA6204F0E5F811484079400617 +:1021F00006D4642009F021FB641CA4B2B442F4D9D3 +:10220000F86A2843F862F8BD801000405729002082 +:10221000CB290020DD290020C01000400034004000 +:1022200092290020A42900200038004069290020BC +:10223000003C0040F8B50E4E0024B26801277F052F +:102240003A43B26003F0F8FD0A4D6879400602D5C2 +:10225000E87A002808D0642009F0EFFA641CFF2017 +:10226000A4B2F5308442F0D9F0683843F060F8BD8C +:10227000C010004000340040F8B50C4D0024AA6A9C +:1022800002263243AA6203F039FF094F78794006EB +:1022900008D4642009F0D1FA641CFF20A4B2F53000 +:1022A0008442F3D9E86A3043E862F8BD8010004008 +:1022B0000038004010B5034696B000200590049009 +:1022C00009480090094801900948029014460948BD +:1022D0000A4603901946684600F030FC69462046DD +:1022E00000F00AF816B010BD0123456789ABCDEFA9 +:1022F000FEDCBA987654321030B583B00C460546F1 +:10230000082210316846FDF79DFE208AC005820E26 +:10231000382A01D2382000E07820821A0949204664 +:1023200000F0D4FB08226946204600F0CFFB1022C3 +:1023300021462846FDF786FE58212046F5F709FF7D +:1023400003B030BD20010020F0B599B002680392BF +:1023500086684568C26804910192402108AA002756 +:1023600005923B4606910499C9180A4614788C4692 +:10237000214654781B1D240221439478D2782404EA +:102380002143120611430A026146C978120A09065E +:102390000A430599BC000A5106997F1C8B42E2D37F +:1023A000019A29463140AA431143FE4A099C8B18E1 +:1023B000089A0399511859181922D14149190A4606 +:1023C00033462A408B431A43F74BD318019AA2187D +:1023D0009A181423DA41521813462C460B409443A2 +:1023E0002343F24C1B190A9CA4191B190F24E34127 +:1023F0009B181C460E4614409E433443EC4EA419D1 +:102400000B9E751964190A25EC41E41825461646F9 +:102410001D40A6433543E74EAD190C9E711869184F +:102420001925E94109190D461E4625408E433543BD +:10243000E14EAD190D9EB218AA181425EA415218A2 +:10244000154626460D4096433543DC4EAD190E9E8B +:10245000F318EB180F25EB419B181D460E4615404F +:102460009E433543D64EAD190F9E34192C190A25BB +:10247000EC41E418254616461D40A6433543D14E8F +:10248000AD19109E711869181925E94109190D46F1 +:102490001E4625408E433543CB4EAD19119EB218D2 +:1024A000AA181425EA415218154626460D409643AF +:1024B0003543C64EAD19129EF318EB180F25EB41AC +:1024C0009B181D460E4615409E433543C04EAD1920 +:1024D000139E34192C190A25EC41E418254616469A +:1024E0001D40A6433543BB4EAD19149E71186918A3 +:1024F0001925E94109190D461E4625408E433543ED +:10250000B54EAD19159EB218AA181425EA415218F5 +:10251000154626460D4096433543B04EAD19169EDE +:10252000F318EB180F25EB419B181D460E4615407E +:102530009E433543AA4EAD19179E34192C190A250E +:10254000EC41E41825461E46154096433543A54EFA +:10255000AD19099E711869181B25E94109190D4625 +:102560001D4026469E4335439F4EAD190E9EB21820 +:10257000AA181725EA41521815460E462540A643CB +:1025800035439A4EAD19139EF318EB181225EB4103 +:102590009B181D4616460D408E433543944EAD198B +:1025A000089E34192C190C25EC41E41825461E46CA +:1025B0001540964335438F4EAD190D9E711869181D +:1025C0001B25E94109190D4626461D409E4335430A +:1025D000894EAD19129EB218AA181725EA41521851 +:1025E00015460E462540A6433543844EAD19179E29 +:1025F000F318EB181225EB419B181D4616460D40AB +:102600008E4335437E4EAD190C9E34192C190C2582 +:10261000EC41E41825461E46154096433543794E55 +:10262000AD19119E711869181B25E94109190D464C +:1026300026461D409E433543734EAD19169EB21873 +:10264000AA181725EA41521815460E462540A643FA +:1026500035436E4EAD190B9EF318EB181225EB4166 +:102660009B181D4616460D408E433543684EAD19E6 +:10267000109E34192C190C25EC41E41825461E46F1 +:10268000154096433543634EAD19159E7118691870 +:102690001B25E94109190D4626461D409E43354339 +:1026A0005D4EAD190A9EB218AA181725EA415218B4 +:1026B00015460E462540A6433543584EAD190F9E8C +:1026C000F318EB181225EB419B181D4616460D40DA +:1026D0008E433543524EAD19149E34192C190C25D6 +:1026E000EC410D9DE418691825465D404D4E55405E +:1026F000AD1949191C25E941109D0919AA180D4663 +:102700006540494E5D40AD1952191525EA41139DAA +:102710005218EB1815464D40444E6540AD195B19F3 +:102720001025EB41169D9B182C191D465540404E17 +:102730004D40AD1964190925EC41099DE41869184B +:1027400025465D403B4E5540AD1949191C25E941D0 +:102750000C9D0919AA180D466540374E5D40AD190C +:1027600052191525EA410F9D5218EB1815464D4098 +:10277000324E6540AD195B191025EB41129D9B1837 +:102780002C191D4655402E4E4D40AD196419092592 +:10279000EC41159DE418691825465D40294E5540C9 +:1027A000AD1951E078A46AD756B7C7E8DB7020248A +:1027B000EECEBDC1AF0F7CF52AC68747134630A8C1 +:1027C000019546FDD8988069AFF7448BB15BFFFF58 +:1027D000BED75C892211906B937198FD8E4379A6C8 +:1027E0002108B44962251EF640B340C0515A5E2606 +:1027F000AAC7B6E95D102FD65314440281E6A1D8CA +:10280000C8FBD3E7E6CDE121D60737C3870DD5F462 +:10281000ED145A4505E9E3A9F8A3EFFCD9026F6767 +:102820008A4C2A8D4239FAFF81F6718722619D6DAB +:102830000C38E5FD44EABEA4A9CFDE4B604BBBF6E5 +:1028400070BCBFBEC67E9B2849191C25E941089D66 +:102850000919AA180D466540854E5D40AD195219FB +:102860001525EA410B9D5218EB1815464D40814E37 +:102870006540AD195B191025EB410E9D9B182C1975 +:102880001D4655407C4E4D40AD1964190925EC415B +:10289000119DE418691825465D40784E5540AD19E4 +:1028A00049191C25E941149D0919AA180D466540CE +:1028B000734E5D40AD1952191525EA41179D521806 +:1028C000EB1815464D406F4E6540AD195B1910254C +:1028D000EB410A9D9B182C191D4655404D406A4EF0 +:1028E000AD1964190925EC41089DE4186918D54310 +:1028F0002543664E5D40AD1949191A25E9410F9DE2 +:102900000919AA18DD430D43614E6540AD195219EE +:102910001625EA41169D5218EB18E54315435D4E06 +:102920004D40AD195B191125EB410D9D9B182C19DC +:10293000CD431D43584E5540AD1964190B25EC414C +:10294000149DE4186918D5432543544E5D40AD19D4 +:1029500049191A25E9410B9D0919AA18DD430D43B0 +:102960004F4E6540AD1952191625EA41129D521875 +:10297000EB18E54315434B4E4D40AD195B1911253E +:10298000EB41099D9B182C19CD431D43464E5540E4 +:10299000AD1964190B25EC41109DE4186918D54355 +:1029A0002543424E5D40AD1949191A25E941179D4D +:1029B0000919AA18DD430D433D4E6540AD19521962 +:1029C0001625EA410E9D5218EB18E5431543394E82 +:1029D0004D40AD195B191125EB41159D9B182C1924 +:1029E000CD431D43344E5540AD1964190B25EC41C0 +:1029F0000C9DE4186918D5432543304E5D40AD1950 +:102A000049191A25E941139D0919AA18DD430D43F7 +:102A10002B4E6540AD1952191625EA410A9D5218F0 +:102A2000EB18E5431543274E4D40AD195B191125B1 +:102A3000EB41119D9B182C19CD431D43224E55404F +:102A4000AD1964190B25EC410568E418691801609B +:102A50004168091941608168C9188160C168891895 +:102A6000C160402108A8F5F774FB19B0F0BD000063 +:102A7000FA27A1EA8530EFD4051D880439D0D4D9CE +:102A8000E599DBE6F87CA21F6556ACC4442229F424 +:102A900097FF2A43A72394AB39A093FCC3595B65E6 +:102AA00092CC0C8F7DF4EFFFD15D84854F7EA86FB3 +:102AB000E0E62CFE144301A3A111084E827E53F7D9 +:102AC00035F23ABDBBD2D72A91D386EBF8B516467C +:102AD000026905460F46D005F1005218800E2A61A2 +:102AE0008A42696901D2491C6961720F891869615A +:102AF00040210C1AA64219D328182246394618300C +:102B0000F5F70EFB294618312846FFF71DFC204635 +:102B10003F30B04208D239192846FFF715FC20464D +:102B200040347F30B042F6D3002000E00024281863 +:102B3000321B39191830F5F7F3FAF8BDF0B516461F +:102B4000026904460F46D005F100521891B0800E7C +:102B500022618A42616901D2491C6161720F891840 +:102B6000616140210D1AAE4220D320183A46294611 +:102B7000183001F053FB21467F1918312046FFF72A +:102B8000E3FB28463F30B0420ED23A464021684629 +:102B900001F044FB694620464037FFF7D5FB284645 +:102BA00040357F30B042F0D3002000E00025711B9B +:102BB000201889B23A46183001F030FB11B0F0BD50 +:102BC000FFB5284BFFB01A8884B0521C859D1A802F +:102BD000130AC0022B70FF306A700130020AAA701B +:102BE000E8700020287101226A71A871E8712872CA +:102BF0006872A872E87202A80C35F5F7D3FA02AE33 +:102C00003046F5F7C8FA87B22E213046F5F7B9FA03 +:102C10000090002802D0801B84B200E03C462C705B +:102C20006D1C002C11D0224631462846F5F79CFA3F +:102C300000982D19002805D0381B401E361987B280 +:102C4000761CE1E7002028706D1C0020287001210F +:102C50006970A870E97085982D1D281A7FB080B220 +:102C600008B0F0BDEC00002003E00B780370401CBE +:102C7000491C1346521E92B2002BF6D17047000039 +:102C8000174C0020A17A57250907164BA8260029C2 +:102C900005DB1D701E70A17A08221143A1721D7000 +:102CA0001E7005212181104F398803225202914361 +:102CB0003980A17A10221143A172002119700122DA +:102CC000BC79E40701D00020FAE77D242401401CF0 +:102CD000A042F5D91D701E709A711970F0E70000BE +:102CE00000100040401000402010004070B4891EC9 +:102CF0008DB20E490E4E0023002D10D9C25C5140FA +:102D00000022CC07E40F4908002C00D07140521C6F +:102D100092B2082AF5D35B1C9BB2AB42EED341556D +:102D2000090A4019417070BC70470000FFFF0000A5 +:102D300001A0000070B406460B480C4D002300298A +:102D400010D9F25C50400022C407E40F4008002C68 +:102D500000D06840521C92B2082AF5D35B1C9BB28B +:102D60008B42EED370BC7047FFFF000001A0000053 +:102D7000F0B5FF488FB041788806000F0A2874D25A +:102D800002007A44127992189744044B7C8FA9E888 +:102D9000FD6FFCFBF64C2078400840002070FCF7EB +:102DA00043FAF4486E46817845790379C2782EC695 +:102DB00043780278F0A10120FCF7A6FEED4BF94A1A +:102DC000F949FA48FCF7E0F9020004D0F84901207B +:102DD000FCF79AFEDDE2F7A10120FCF795FEFC4826 +:102DE0000221017000210170FA49C160817981716D +:102DF00001218170027804231A430270F6480160B1 +:102E000080210160F54841681E3081740A0AC2744D +:102E10000A0C0275090E41756078C3210840001D37 +:102E20007CE0EF48006A022820D2EE4910200A1800 +:102E30001378184653781B0218439378D2781B04F2 +:102E4000184312061043E54AFF2352682D33101A27 +:102E500098420AD90A74100A4874100C8874100E2B +:102E6000C874E1A10120FCF74FFE92E2C048C27D88 +:102E7000D20903D0C32211401C312EE0C3221140DD +:102E800008312AE0E048FBF75FFFD44841681E3074 +:102E900081740A0AC2740A0C0275090E4175014652 +:102EA0004878C32210401C308BE0D8490A7810467D +:102EB0004A78120210438A78C9781204104309062E +:102EC0000843C64949680A1AD1A10120FCF71CFE33 +:102ED000A748C322417811401031417059E2A44CF7 +:102EE000D0A1A21CD548FCF7D3FE012802D00228AD +:102EF00016D04EE22078012108432070C9A2D0A14B +:102F00000120FCF701FE6179207901910090E378BE +:102F1000A278D0A10120FCF7F7FDCCE0607038E288 +:102F2000D2A10120FCF7F0FD6078C3228006800E5C +:102F300010401030A94B60701978491CC9B2197043 +:102F400005293FD9217801231943217010401C30F5 +:102F50006070C9A11846FCF7D7FD1AE2B74EC94DFB +:102F6000C94C3C216846F5F7F4F802200790C748A1 +:102F700002904320C00003900A9569460E943046A3 +:102F800002E0B0E031E01EE0FCF7A0F9020003D05F +:102F900087490120FCF7B8FD8448BDA1C27B012010 +:102FA000FCF7B2FD8D4841681E3081740A0AC27474 +:102FB0000A0C0275090E417501464878C32210407B +:102FC00018304870E5E1914A1378184653781B028F +:102FD00018439378D2781B041843120610437F4A93 +:102FE0005268101A0A2845D8D3E17D48006A0228A1 +:102FF00040D35F4C1C2022181378184653781B02CC +:1030000018439378D2781B0418431206104331D02A +:10301000A3A10120FCF778FDA64D6878297800026D +:1030200008430190A448417A027A09021143001D25 +:10303000009101780B46417809020B438178C078F2 +:1030400009040B43000603431C2020180278114694 +:103050004278120211438278C078120411430006AC +:103060000143E07D01AA4007400FFCF7EDFA00287C +:1030700002D025E03E48FDE6687829780002084342 +:10308000019988421CD18DA10120FCF73DFDA07D56 +:1030900040210843A0751C2021180A7810464A7860 +:1030A000120210438A78C9781204104309060843B3 +:1030B00001D007F0E3FD6078C32108401C302DE704 +:1030C00083A10120FCF720FD444841681E30817433 +:1030D0000A0AC2740A0C0275090E41756078C32190 +:1030E000084024301AE73F4C102021180A783B4F43 +:1030F00010464A78120210438A78C97812041043A5 +:10310000090608437968081A05282FD92174080A86 +:103110006074080CA074080E664DE0746878297815 +:10312000000208430190A81E417A027A0902114365 +:10313000001D00910178A61E0B46417809020B4341 +:103140008178C07809040B43000603431C20301823 +:10315000027811464278120211438278C078120434 +:10316000114300060143F07D4007BBE011E1000080 +:10317000BA000020A40000204D4143416464722045 +:103180003A20253032582E253032582E25303258EC +:103190002E253032582E253032582E2530325820E8 +:1031A0000D0A0000B2000020AE000020AA0000209E +:1031B00070B8010043483537784E45544C69624930 +:1031C0006E697420537563636573730D0A000000A4 +:1031D0000020004000E2040000E100E09C0000202C +:1031E000AC4D0020BC000020CDF8C2E7504859D0BB +:1031F000ADC9CCCAA7B0DCA3ACC7EBBCECB2E9CD7F +:10320000F8CFDF0A000000008DEB0000CC000020AA +:103210004448435020BAC4CAB1A3BA2564306D7380 +:103220000A0000007777772E626F6F6E6C697665A3 +:103230002D7263752E636F6D00000000B9000020D1 +:10324000446F6D61696E206E616D653A2573200A69 +:10325000000000002048545450735F49503D2564DD +:103260002E25642E25642E25640A0A00444E53B38D +:10327000ACCAB10A00000000444E53CAA7B0DC201B +:103280002D200A00431F000055650100944B0020CB +:10329000536F636B65744964343A25640A00000017 +:1032A0004E4554BFAACABCB7A2CBCDCAFDBEDD0AEB +:1032B00000000000DC000020DA0000204E4554B77A +:1032C000A2CBCDCAFDBEDDB3C9B9A60A000000007D +:1032D0004E4554B7A2CBCDCAFDBEDDCAA7B0DC0AAD +:1032E00000000000400F01AAFCF7AEF9002822D12F +:1032F0006878297800020843019988421BD12BA1E4 +:103300000120FCF701FCB07D40210843B0751C2072 +:1033100031180A7810464A78120210438A78C97820 +:10332000120410430906084328D17078C3210840CD +:103330001C3070702DE0B07D0621C8410121490785 +:1033400040181A21C841B0758006400F022818D3D2 +:103350001BA10120FCF7D8FBB07DBF210840B07550 +:103360001C2031180A7810464A78120210438A78D5 +:10337000C9781204104309060843D6D007F07EFC32 +:10338000D3E778682074010A6174010CA174000EFF +:10339000E074FBF733FFFBF751FF002801D0FBF788 +:1033A00035FD04F061F80FB0F0BD00004E4554D675 +:1033B000D8B7A2CAFDBEDDB3C9B9A60A0000000095 +:1033C0004E4554D6D8B7A2CAFDBEDDCAA7B0DC0AA6 +:1033D00000000000F0B457261C228B07134DA827CD +:1033E0000A409B0F124C00282E702F7010D0080638 +:1033F00003D5E07BFD210840E073A07A1043A07262 +:103400000C48C17B1943C17300202870F0BC704781 +:10341000080603D5E07B02210843E073A07A9043BD +:10342000A0720448C17B9943EDE7000040100040C2 +:103430000010004020100040F0B406460020044672 +:1034400005460B78491C002C00D1401C1F06BF0FFD +:10345000032F0AD1002C00D1401C9B0609789B0C3D +:103460009B19C91801240B78491C002B12D0002C81 +:1034700000D1C0185B1E9BB20F7817701F465B1EF1 +:10348000491C521C9BB2002FF6D12E231370521CE4 +:103490006D1CD6E7002D02D12E211170521C002187 +:1034A0001170F0BC70470000F8B5FF4C0C202018DC +:1034B0000278FC4E114642787378120211438278EA +:1034C000C078120411430006014310202218177817 +:1034D000F64D384657783F0238439778D2783F0404 +:1034E000384312061043002B04D0062B7ED0002058 +:1034F0007070F8BD814246D000F093FF0246ECA107 +:103500000020FCF73FFB1020201801780A46417884 +:1035100009020A438178C07809040A43000602437D +:10352000102028180378194643781B021943837822 +:10353000C0781B04194300060143012004F0CCFDB0 +:10354000102021180A7810464A78120210438A780F +:10355000C978120410430906084301218902401862 +:103560002074010A6174010CA174010EE174D84940 +:10357000884208D9492040032074010A6174010C73 +:10358000A174000EE0742279E07911466279000698 +:1035900012021143A2791204114301430820221898 +:1035A0001378184653781B0218439378D2781B047B +:1035B000184312061043814260D000F032FF0746E4 +:1035C000082021180A7810464A78120210438A7897 +:1035D000C9781204104309060843801C00F0D0FE8D +:1035E0002873010A6973010CA97300E097E0000ECB +:1035F000FF21E131E8738F4200D90F46B5480068DA +:103600002872010A6972010CA972000EE872082082 +:103610002018027811464278120211438278C0784D +:1036200012041143000601433A460120C91CFEF76B +:103630003BFD06207070082021180A7810464A7851 +:10364000120210438A78C97812041043090608430D +:103650000121890240182072010A6172010CA172D5 +:10366000010EE1729C49884208D993200003207220 +:10367000010A6172010CA172000EE0722A78E978E9 +:1036800010466A78090612021043AA78914C120477 +:103690001043084321682A790B1A10466A79E979A0 +:1036A00012021043AA790906120410430843834208 +:1036B00000D81EE789A10020FCF764FA2068287072 +:1036C000010A6970010CA970000EE87001203070C9 +:1036D000102028180278114642781202114382788D +:1036E000C07812041143000601434B20C0018142FF +:1036F000DFD02874010A6974010CA974010EE97401 +:1037000014216A181378194653781B0219439378C9 +:10371000D2781B041943120611438847F8BD814231 +:1037200047D000F07EFE024661A10020FCF72AFA95 +:103730001020201801780A46417809020A4381784E +:10374000C07809040A43000602437048037819460A +:1037500043781B0219438378C0781B041943000681 +:103760000143012004F0B8FC0020707010202118E3 +:103770000A7810464A78120210438A78C9781204EF +:103780001043090608430121890240182074010AE8 +:103790006174010CA174010EE1744D49884208D98D +:1037A000492040032074010A6174010CA174000EC9 +:1037B000E0742279E0791146627900061202114321 +:1037C000A2791204114301430820221813781846E5 +:1037D00053781B0218439378D2781B0418431206BF +:1037E000104381425CD000F01CFE074608202118DF +:1037F0000A7810464A78120210438A78C97812046F +:10380000104309060843801C00F0BAFD2873010A22 +:103810006973010CA973000EFF21E131E8738F4237 +:1038200000D90F462B4800682872010A6972010C02 +:10383000A972000EE872082020180278114642781A +:10384000120211438278C07812041143000601432A +:103850003A460120C91CFEF727FC0620707008209C +:1038600021180A7810464A78120210438A78C978DB +:1038700012041043090608430121890240182072EE +:10388000010A6172010CA172010EE17212498842B3 +:1038900041D9932000032072010A6172010C37E0C4 +:1038A00039E00000CB290020A60A0020CD29002005 +:1038B000554152543220646174615F6C656E203AE8 +:1038C0002564202C52585F4275666665723A000086 +:1038D000FF2F090014000020FF3F0900506F6C6C9F +:1038E0003438355F496E666F20506F72745F4E6F6B +:1038F000726D616C5F4D6F6465206D6F64655F6FA5 +:10390000757474696D65200D0A000000A4290020FB +:10391000A172000EE072082029180A7810464A7831 +:10392000120210438A78C97812041043090608432A +:103930000B4909680B1A0C2029180A7810464A7896 +:10394000120210438A78C97812041043090608430A +:10395000834200D8E2E604F06DFB00207070F8BDF1 +:1039600014000020F8B557260C4C0021A8270C4D58 +:103970000028267027700ED0012068712871002061 +:103980002070012007F059FF267027700D20287144 +:1039900000202070F8BD29712170F8BD4010004052 +:1039A0002010004010B5124C206C00281CD111A032 +:1039B00004F0EAFFA06B81002046803841580029BE +:1039C00001D0002010BDA26B012192008150A06B9C +:1039D0000C4A128850430C4A82180C488281C279E2 +:1039E00004231A43C2712164206CC0B210BD0000D0 +:1039F0003455002051756172794574685278446D70 +:103A0000610D0A00F04D0020902B00200090004036 +:103A100001480079704700006801002070B5044635 +:103A200000201849207009786170F221A170E070BF +:103A30000E2626716071A0711320134DE071A879D4 +:103A4000FCF7B4FE20726879FCF7B0FE607228794A +:103A5000FCF7ACFEA072A878FCF7A8FEE0726878CC +:103A6000FCF7A4FE20732878FCF7A0FE6073E878CA +:103A7000FCF79CFEA07331462046FBF7E1FEA071E7 +:103A8000304670BD062A00202800002010B5042111 +:103A90008C012046FCF754FD0949CB684A151343B5 +:103AA000CB60C8682043C86000BF00BF886810436F +:103AB000886000BF00BFC8681043C86010BD000028 +:103AC000C010004001090A2200075143000F0818E6 +:103AD000C0B2704770B504218C012046FCF730FD60 +:103AE0000421CD012846FCF72BFD054988682043B9 +:103AF0008860886828438860024804F0A4FF70BD8D +:103B0000C01000402800002010B504218C01204680 +:103B1000FCF716FD0949CB684A151343CB6088684A +:103B20002043886000BF00BF88681043886000BFE2 +:103B300000BFC8681043C86010BD0000C01000403E +:103B400010B5044600F08AF8652000F05BF800F03C +:103B5000E1F8002828D000F02BF82070FFF796FF3E +:103B600000F026F86070FFF791FF00F021F84006A2 +:103B7000400EA070FFF78AFF00F01AF8E070FFF720 +:103B800085FF00F015F82071FFF780FF00F010F8B6 +:103B90006071FFF77BFF00F00BF8A071FFF7B4FF37 +:103BA00000F07CF8012010BD00F078F8002010BD76 +:103BB00070B501210D0200242846FCF7C1FC104914 +:103BC00088682843886007204A1501236406CD6869 +:103BD000240E1543CD6000BF00BF8D6815438D6076 +:103BE00000BF00BF4D68ED0500D51C430546401ED3 +:103BF000C0B2002DEAD1C8681043C860204670BD2D +:103C0000C010004070B5042104468D012846FCF721 +:103C100097FC114807214315C2681A43C26000BFD0 +:103C200000BF220603D582682A43826002E0C26890 +:103C30002A43C2606206140E00BF00BF82681A43A6 +:103C4000826000BF00BF0A46491EC9B2002AE3D104 +:103C5000C1681943C16070BDC010004010B5042197 +:103C60008C012046FCF76CFC00BF00BF0A49886845 +:103C7000204388608B684A1513438B6000BF00BFE8 +:103C8000C8682043C86000BF00BFC8681043C86050 +:103C900000BF00BF10BD0000C010004010B50421DF +:103CA0008C012046FCF74CFC0949C8682043C860D9 +:103CB000C8684A151043C86000BF00BF8868104339 +:103CC000886000BF00BF88682043886010BD000086 +:103CD000C01000400B480C4900680A687D23821A16 +:103CE000DB009A420DD370B5084D6C780860284609 +:103CF000FFF726FF6878A04202D00549002008603F +:103D000070BD704710000020240000202800002013 +:103D10001800002070B50C4CE06866153043E06078 +:103D200001210D022846FCF70BFCA1682943A16084 +:103D300000BF00BFA0683043A0606068E068304307 +:103D4000E060012070BD0000C010004013B500F01D +:103D50006EF8FFF783FF6420FFF754FFFFF7DAFFE9 +:103D6000002837D00020FFF74DFFFFF7D3FF68464C +:103D70000078FFF747FFFFF7CDFF68464078FFF771 +:103D800041FFFFF7C7FF6846807880210843FFF7AF +:103D900039FFFFF7BFFF6846C078FFF733FFFFF733 +:103DA000B9FF68460079FFF72DFFFFF7B3FF6846BC +:103DB0004079FFF727FFFFF7ADFF68468079FFF7EF +:103DC00021FFFFF7A7FFFFF769FF00F021F80120AF +:103DD00002B010BDFFF762FF002002B010BD70B549 +:103DE00014460D460646FFF739FF3046FFF70AFF37 +:103DF000FFF790FF2846FFF705FFFFF78BFF2046F0 +:103E0000FFF700FFFFF786FFFFF748FF012070BDB7 +:103E100010B500220F216420FFF7E1FF002805D034 +:103E2000002210216420FFF7DAFF012010BD10B539 +:103E3000802210216420FFF7D2FF002805D08422C1 +:103E40000F216420FFF7CBFF012010BDC006C00E7C +:103E500020210843014908710888704720900040DC +:103E600030B5FF24C1B0013421466846F4F771F93A +:103E700021466846F4F76DF91125ED032A462146DF +:103E80006846FCF7A9F92A462146684600F0F4F98D +:103E900041B030BDF8B50C4E0025B46911E02046A4 +:103EA000FEF7BCF8204609F09BFDE068002D01D02C +:103EB000E86000E0B06121460220E76807F0CAFF31 +:103EC0003C46002CEBD1F8BD98010020F0B5FF2650 +:103ED000C1B00136002531466846F4F73AF90024AE +:103EE00031466846F4F735F91122D2033146684667 +:103EF000FCF772F90C4F6E46E01900F041FA315DA3 +:103F0000814202D06D1C3055EDB2641CA4B2FF2C6E +:103F1000F2D9002D06D01122FF21D20301316846CB +:103F2000FCF7ACF941B0F0BD00E808000346002002 +:103F300010B40246002906D99C5C521C2018D2B24B +:103F4000C0B28A42F8D310BC7047F8B500250E46BF +:103F500007462C46002908D9381900F011FA4019F3 +:103F6000641CE4B2C5B2B442F6D32846F8BD0000E2 +:103F700010B41349F722202300280DD0DF24012894 +:103F800010D00822022815D0032811D10878104338 +:103F90000870487820400AE0087810400870487897 +:103FA000184304E0087810400870487820404870B2 +:103FB00010BC704708781043087048781843F6E73B +:103FC0000040004010B4114A1378102423431370AA +:103FD00010834018908391810920907150780121BD +:103FE000084350700A480B49006808609179C90776 +:103FF00005D1001A642802D89179C907FAD05078FF +:1040000040084000507010BC704700000040004065 +:104010000C0000201C00002010B4114A1378EF247B +:104020002340137010834018908391810920907170 +:1040300050780121084350700A480B490068086015 +:104040009179C90705D1001A642802D89179C90766 +:10405000FAD0507840084000507010BC7047000003 +:10406000004000400C0000201C00002007480421F4 +:10407000C17002210170602101704178102211434A +:104080004170417849084900417070470040004044 +:1040900070B4104A137810242343137091810123C4 +:1040A00093710D4B0D4C1D682560002910D0D579FA +:1040B000002D06D0157C0570491E1D6889B2401C74 +:1040C00025601D682668AD1B642D01D80029EED13E +:1040D00070BC7047004000400C0000201C00002015 +:1040E0000A480178EF2211400170FF21017108494F +:1040F000084A096811608279520605D4491A642970 +:1041000002D882795206FAD5007970470040004003 +:104110000C0000201C00002009490A78EF231A40F7 +:104120000A7008710748084A006810608A795206C8 +:1041300005D4001A642802D88A795206FAD5704745 +:10414000004000400C0000201C00002030B4134B45 +:104150001A78EF2422401A70998101229A71104A2C +:10416000104C1268226000290DD0DD79082D05D28F +:1041700005781D74491E89B2401C2260951A642D71 +:1041800001D80029F1D1D879002805D0901A6428E7 +:1041900002D8D9790029FAD130BC704700400040DC +:1041A0000C0000201C00002070B5094CA06AA5146A +:1041B0002843A062072003210003FCF78BF9FFF7D7 +:1041C00055FF0120FFF7D4FEA06A2843A06270BD0E +:1041D00080100040F3B50F4C0F4E002581B00F4604 +:1041E000002913D90198401900F0CAF84440002072 +:1041F000E107C90F6408002900D07440401C80B258 +:104200000828F5D36D1CADB2BD42EBD3204603B0F8 +:10421000F0BD0000FFFF000001A00000F7B582B074 +:10422000D0B200901004060E1002000E01900D4650 +:1042300001205119C00581421AD20E4CE06AA71420 +:104240003843E0620320FFF767FF0198FFF764FF40 +:104250003046FFF761FF0098FFF75EFF294602989E +:10426000FFF7B0FEA06A3843A062642007F0E5FAC9 +:1042700005B0F0BD80100040F7B582B0D0B200901C +:104280001004060E1002000E01900D460120511977 +:10429000C00581421AD20E4CE06AA7143843E0628E +:1042A0000220FFF739FF0198FFF736FF3046FFF78E +:1042B00033FF0098FFF730FF29460298FFF7ACFE66 +:1042C000A06A3843A062642007F0B7FA05B0F0BDD9 +:1042D0008010004010B50D4800F052F804020C4860 +:1042E00000F04EF8044324020A4800F049F8044361 +:1042F0002402094800F044F808492043FF224118ED +:104300005201914200D3064810BD00000700090089 +:10431000060009000500090004000900E0FFF6FF9F +:1043200020000900F7B582B0D0B200901004060E4C +:104330001002000E01900D4601205119C005814266 +:104340001AD20E4CE06AA7143843E0620320FFF74C +:10435000E3FE0198FFF7E0FE3046FFF7DDFE009830 +:10436000FFF7DAFE29460298FFF792FEA06A38436B +:10437000A062642007F061FA05B0F0BD8010004033 +:10438000F8B501040E0E0102090E00910121C905C4 +:10439000C5B2884201D30020F8BD154CE06AA714CD +:1043A0003843E0620320FFF7B7FE0098FFF7B4FE42 +:1043B0003046FFF7B1FE2846FFF7AEFEFFF790FE4E +:1043C0000546A06A3843A062FF2D0CD10949486810 +:1043D00002070820002A03DB8A6802438A6002E0A1 +:1043E000CA680243CA60642007F027FA2846F8BD6D +:1043F00080100040C010004070B50446C01CFFF79C +:10440000BFFF0502A01CFFF7BBFF28430502601C8D +:10441000FFF7B6FF284305022046FFF7B1FF284308 +:1044200070BD70B50546401CFFF7AAFF0402284680 +:10443000FFF7A6FF204370BD10B504460C48FF21CE +:1044400020184901884200D30A4C0B49E0B200F021 +:1044500099F82004000E094900F094F82002000E9B +:10446000074900F08FF8200E064900F08BF810BDC8 +:10447000E0FFF6FF2000090010000900110009000C +:10448000120009001300090010B504460C48FF2172 +:1044900020184901884200D30A4C0B49E0B200F0D1 +:1044A00071F82004000E094900F06CF82002000E9B +:1044B000074900F067F8200E064900F063F810BDC8 +:1044C000E0FFF6FF200009000C0009000D000900C4 +:1044D0000E0009000F00090010B504460C48FF212A +:1044E00020184901884200D30A4C0B49E0B200F081 +:1044F00049F82004000E094900F044F82002000E9B +:10450000074900F03FF8200E064900F03BF810BDC7 +:10451000E0FFF6FF20000900040009000500090083 +:104520000600090007000900F7B582B0D0B200907C +:104530001004060E1002000E01900D4601205119C4 +:10454000C00581421AD20E4CE06AA7143843E062DB +:104550000220FFF7E1FD0198FFF7DEFD3046FFF78F +:10456000DBFD0098FFF7D8FD29460298FFF7EEFD26 +:10457000A06A3843A062642007F05FF905B0F0BD7F +:1045800080100040F3B5080481B0000E00900802CE +:10459000060E0120C005CDB2814219D20D4CE06A51 +:1045A000A7143843E0620220FFF7B6FD3046FFF75C +:1045B000B3FD0098FFF7B0FD2846FFF7ADFD019869 +:1045C000FFF7AAFDA06A3843A062642007F035F91E +:1045D00003B0F0BD8010004070B504460D46C0B277 +:1045E000FFF7D0FF2004000E691CFFF7CBFF20026D +:1045F000000EA91CFFF7C6FF200EE91CFFF7C2FF43 +:1046000070BD70B504460D46C0B2FFF7BBFF200A6F +:10461000691CFFF7B7FF70BD054857210170A8213D +:10462000017081790122114381710021017070476D +:104630004010004038B5064C002061680091606071 +:104640006946204606F0AEF90098606038BD00006B +:10465000284E002043490D2846D202007A441279A0 +:104660009218974406132029313A424A525B636CF0 +:10467000750057200870A82008703B48C27BFB23B8 +:104680001A40C273394AC820108168E05720087068 +:10469000A82008703448C27B04231A43C273334AEB +:1046A000C82010815BE057200870A82008705120B6 +:1046B0002E4AC000108152E057200870A8200870D0 +:1046C0002A4A2B4810814AE057200870A820087019 +:1046D0008120264A8000108141E057200870A820E0 +:1046E0000870224A8820108139E057200870A820DD +:1046F00008701E4A0220108131E057200870A8205F +:1047000008701A4A0420108129E057200870A82058 +:1047100008709320154A8000108120E0572008700F +:10472000A8200870114A1348108118E0572008701B +:10473000A820087095200D4A800010810FE05720B6 +:104740000870A82008704B20084AC000108106E0BD +:1047500057200870A8200870044A074810810020DC +:1047600008707047401000402010004000100040CA +:10477000020200004F0200005E02000010B5044675 +:104780000D48FF2120184901884200D30B4C092114 +:10479000E0B20904FFF7F6FE2004000E0849FFF717 +:1047A000F1FE2002000E0749FFF7ECFE200E06493D +:1047B000FFF7E8FE10BD0000E0FFF6FF2000090053 +:1047C00001000900020009000300090010B4124CA6 +:1047D000E1235B0206220019994206D10270110AF8 +:1047E0004170110C8170110E12E07D231B03994260 +:1047F00008D10270110A4170110C8170110EC17044 +:1048000010BC704714210170002242708270114662 +:10481000C17010BC704700000304000030B587B0C1 +:1048200000251D4C039504951A48059520620C3807 +:104830006062001DA062001DE06206F0B9FF042264 +:1048400003A8616AF3F76CFC042204A8E16AF3F799 +:1048500067FC042205A8A16AF3F762FC06220F4850 +:10486000216AF3F75DFC0E4805600E4805600B48B1 +:104870002B3807F067FB0C4802900C490748019160 +:1048800005AB04AA009503A92B3807F023FB07B05A +:1048900030BD0000B84D0020F0010020534E002034 +:1048A000900100209401002045AA0100A9AA01005E +:1048B000FFB504690546C168601E81B00F180398F2 +:1048C00000264068417802780802104307F0B2FBE6 +:1048D0000005000F80004142039807F0A1FD002869 +:1048E00002D0002005B0F0BD0398002834D0002C81 +:1048F0000CD0E868002809D00398428941689319D0 +:1049000012199EB2BA4212D900220CE0039807F0A5 +:1049100065FD21E00B782370491C641CBC4200D962 +:10492000AC68521C92B243899342F3D80AE0002249 +:1049300005E00B78521C2370491C92B2641C438919 +:104940009342F6D800680028D7D1039807F046FDB7 +:10495000A8692C618019A8610120C3E7F7B53C2143 +:1049600048432F490025146884B040181560164646 +:104970000290002C14D00598002811D00298006BEA +:1049800003902848006C800700D4C7256D1CADB289 +:10499000C82D40D8B920C000844204D9009004E05A +:1049A0001A2007B0F0BD2046009481B200221046C4 +:1049B00007F0E6FB070030D07868009A0599F3F716 +:1049C000AFFB18490020C8633946039807F090FEF2 +:1049D0000190384607F002FD1248C06B002802D152 +:1049E000019800280DDA0020306040210298FAF783 +:1049F000B3FE0198002802DAFBF73CFBD1E7FA206E +:104A0000CFE7316800980818306000990598401881 +:104A10000590641ABAD10020C3E71120C1E7000055 +:104A2000F0340020AC4D0020F7B50025146882B0AA +:104A300017462E461560002C15D00399002912D078 +:104A40003C21484337494018006B01903648006CC0 +:104A5000800700D4C726761CB6B2C82E06D938689F +:104A6000002850D156E01A2005B0F0BD0198007C16 +:104A7000042801D01720F7E72B48006C800701D5E8 +:104A8000FAF7BCFB01984030C08D0090002807D099 +:104A9000254D4435287CC00704D10098844201D9B3 +:104AA0001120E1E70098844200D8009468680099DA +:104AB000884200D20090019808F080FD1A484430E6 +:104AC000007CC007009802D082B2012301E082B2CC +:104AD0000023039901980AF037F8050005D0681CF7 +:104AE00001981BD008F06AFD14E0019808F066FDFB +:104AF00005463968009808183860009903984018EE +:104B00000390641A01D10020AEE707484430007CCE +:104B1000C007A0D12846FBF7ADFAA5E708F04EFD87 +:104B2000F3E70000F0340020AC4D0020FFB505464F +:104B30000469C068611E4718A96B002681B09446BD +:104B4000002902D0AC68611E4718110006D0002C65 +:104B500001D0002804D1084607F040FC05B0F0BDA4 +:104B60004B8948689A1996B21A19BA420ED900238D +:104B700008E002782270401C641CBC4200D9AC687A +:104B80005B1C9BB24A899A42F3D80AE0002305E0F5 +:104B900002785B1C2270401C9BB2641C4A899A42BA +:104BA000F6D809680029DBD101200003864200D92C +:104BB0000646604607F012FCAF6B002F0DD004983C +:104BC000F3F7F9FA00960146AB6828460A9AB84707 +:104BD0000020A861A8682861C0E7A8692C61801935 +:104BE000A861BBE7F7B50025146884B016461560C8 +:104BF000002C17D00599002914D03C21484327499F +:104C00004018006B02902648006C800700D4C7252E +:104C10006D1CADB2C82D3CD817208001844204D34E +:104C2000009004E01A2007B0F0BD2046009481B245 +:104C30000022104607F0A4FA07002CD07868009AEA +:104C40000599F3F76DFA16490020C86339460298B2 +:104C50000AF0C0F90190384607F0C0FB1048C06B5D +:104C6000002802D10198002809DA0020306001985C +:104C7000002802DAFBF7FEF9D5E7FA20D3E731681E +:104C80000098081830600099059840180590641A3B +:104C9000BED10020C7E71120C5E70000F034002096 +:104CA000AC4D0020F8B5044608460D460830FFF725 +:104CB00067FBFAF769FEFF21090400048F430840EF +:104CC000074328460930FFF75BFBFAF75DFEFF213B +:104CD000090200028F430840074328460A30FFF7C5 +:104CE0004FFBFAF751FE3F0A3F02074328460B30BD +:104CF000FFF746FBFAF748FEFF21090400048E4344 +:104D00000840064328460C30FFF73AFBFAF73CFE12 +:104D1000FF21090200028E430840064328460D3059 +:104D2000FFF72EFBFAF730FE360A36020643284616 +:104D30000E30FFF725FBFAF727FE01463002000A86 +:104D4000090608433946FFF701F8024600200A49E0 +:104D5000207009786170F221A1700925E070257139 +:104D60006071A0711320E071227229462046FAF783 +:104D700067FDA0712846F8BD062A00200F4841684B +:104D8000491C41600178491CC9B201700A2913D13C +:104D90000022027081687D23491C81600169DB006B +:104DA000491C01614188491C89B24180994203D163 +:104DB0004280C168491CC1607047000008000020A3 +:104DC00010B5084857210170A821017051200649EB +:104DD000C00008810A2006F030FD0120FEF7C2FD68 +:104DE00010BD00004010004000100040F3B5274CFB +:104DF0000127E0682146007D254D0007830F232011 +:104E00000001F3260A6981B0012B05D0022B1AD1CB +:104E1000E770002A19D01FE0E770002A06D1074684 +:104E200006F0DEFE39462061F3F793F919A101205F +:104E3000FAF7A8FEA87B029A0199FBF7A5FDE068A6 +:104E4000017D3140017503B0F0BD074606F0C8FE94 +:104E500039462061F3F77DF9E068A03041790079A7 +:104E60000A02024311A10120FAF78CFEE068A0308B +:104E7000417900790A020243A87B0199FBF7D2FC31 +:104E8000E068017D3140017503B0F0BDF8000020FD +:104E9000AA00002054465450BBD8B8B4D0B4CEC4F5 +:104EA000BCFED6B8C1EE2E2E2E200A005446545019 +:104EB000B6C1CEC4BCFED6B8C1EEB7A2CBCD207071 +:104EC0006F72743A25642E2E2E200A00F8B54078B1 +:104ED0001A4E1B4F1D46144602280ED0062825D117 +:104EE00018A10120FAF74EFEF8680C22017D11434B +:104EF0000175386900281AD008E0F868F322017DAE +:104F00001140091D01753869002810D023210901BD +:104F1000F3F71FF90948217881716178C171A1788F +:104F20000172E17841723573280A7073F8BD23204D +:104F3000000106F055FE3861E8E70000BA000020E5 +:104F4000F8000020BDD3CAD5B5BDD0B4C8D5D6BEF3 +:104F5000C7EBC7F3BBD8B8B42D2D2D0A0000000055 +:104F600010B5447882B0032C07D0042C03D109A1DA +:104F70000120FAF707FE02B010BD019300928BB238 +:104F800002460A490A48897B0069FBF745FE02B0E0 +:104F900010BD000054465450B5C441434B2CB4CB13 +:104FA000B4A6CAC7D0B4C8D5D6BE0A00AA0000208D +:104FB000F8000020FFB516460B041C0E120AC8B2FA +:104FC0001202FF2302431B029A43A4462302FF243A +:104FD000240223401A430B0224021B0EA243FF2784 +:104FE0001C043F043C402243090E140283B00A060D +:104FF000240A0091144301460C9D6246019665A067 +:1050000003F0C2FC6A482A46417B6AA003F0BCFC5C +:105010000027002D07D90698C15D6DA003F0B4FCF0 +:105020007F1CAF42F7D36CA003F0AEFC06986B4F29 +:1050300040786B4D02285FD006287DD008240528D3 +:105040007BD0042856D1286966A1FF30FF3002309A +:1050500042690120FAF796FD0620A8702869EB68DE +:10506000FF30FF3002304169587C1A7C0002104347 +:1050700081423FD118205B1C1818027811464278F3 +:10508000120211438278C0781204114300060143D2 +:105090001C201A1816783046567836023043967817 +:1050A000D2783604304312061043814222D11420B4 +:1050B00019180A7810464A78120210438A78C9787B +:1050C0001204104309060843FFF706FAE8681421A2 +:1050D000401C401801780A46417809020A43817849 +:1050E000C07809040A430006024344A10120FAF7EC +:1050F00049FDAC7007B0F0BDE868F322017D1140B6 +:10510000091D01752869002804D12320000106F03B +:1051100067FD286123210901F3F71BF82F482104BB +:105120008471090EC1712102090E0172210E4172B2 +:105130003E73300A787301E002E026E007B0F0BD6C +:1051400039A10120FAF71EFDE8680C22017D114308 +:1051500001752869002804D12320000106F040FDD4 +:10516000286123210901F2F7F4FF1C48210484710E +:10517000090EC1712102090E0172210E41723E73A6 +:10518000300A78730620A870D5E72EA10120FAF71F +:10519000F9FCAEE769703A25642E25642E25642E4D +:1051A00025642C20706F72743A25640A0000000098 +:1051B000AA000020536F636B65742564206C656ED4 +:1051C0003A256C64202C5265636976653A200000AC +:1051D00025303258200000000A000000BA000020EC +:1051E000F8000020544654505F41434B20426C6FFE +:1051F000636B3A25642D2D2D0A0000004C4F47208B +:10520000446174612053656E6420436F6D706C65FA +:105210007465202C20616464723A2530385821214D +:105220002121210A00000000BDD3CAD5B5BDD0B4EC +:10523000C8D5D6BEC7EBC7F3BBD8B8B42D2D2D0A41 +:1052400000000000544654505F4552524F52202DEA +:105250002D2D0A00F3B5944C85B0E068002805D0E8 +:10526000232520692D01002803D006E0012007B086 +:10527000F0BD284606F0B4FC20612946F2F769FF2C +:10528000FFF728F8E26814211346521C55182E78AF +:1052900031466E7836023143AE78ED7836043143CC +:1052A0002D062943814208D9081A1076010A517641 +:1052B000010C9176000ED0760DE081427ED27B4DBE +:1052C000281A40187A4940181076010A5176010CC4 +:1052D0009176000ED076182011180A7810464A7878 +:1052E000120210438A78C978120410430906084351 +:1052F000C101090C0A0A19745A74C00503D0491C6B +:105300001974080A5874FBF7B9F9E1680246487C39 +:105310000B7C0002184300901820491C09180878DB +:105320004D78034688782D022B4300040343C87848 +:1053300060A1000603430120FAF724FC2069002540 +:10534000457002218170C11DFF31FA318A68401C0D +:10535000921C8A60634994460F784E788B780A795C +:1053600004970396029301924A7900928B796044E4 +:105370005DA2282103F018FB2169CB1DFF330A46EB +:10538000FA339968521C4018411C99608554412198 +:105390002069C9000958401C08185EA20A2103F0C0 +:1053A00003FB2169CB1DFF330A46FA339968401885 +:1053B000411C521C99608554412100E070E0206935 +:1053C000C9000958401C081854A20A2103F0ECFA3D +:1053D0002169CB1DFF330A46FA339968521C4018E5 +:1053E000411C9960855441212069C9000958401C1D +:1053F00008184CA20A2103F0D7FA2169CB1DFF330C +:105400000A46FA339968521C4018411C9960855429 +:1054100041212069C9000958401C081842A20A21EC +:1054200003F0C2FA2169CB1DFF330A46FA339968AB +:10543000521C4018461C9E608554E0681821401C90 +:10544000401801783AA20B46417809020B43817853 +:10545000C07809040B430006034341212069C900B9 +:105460000958401C08180A2103F09EFA2169CB1D37 +:10547000FF330A46FA339968521C4018411C996060 +:1054800085540698412280B2009021692948D200B3 +:105490008A18407B059B491CFAF7D6F807B0F0BD87 +:1054A000F02007B0F0BD0000F8000020FF1F090049 +:1054B000E0FFF6FF5352414D203A20253038582066 +:1054C0002C205446545020474554204C4F472053DD +:1054D000495A453A2564202C20426C6F636B3A256B +:1054E000640D0A002800002043315F4C4F475F32B3 +:1054F00030253032585F253032585F253032585FC2 +:10550000253032585F253032585F253032582E749E +:10551000787400006F63746574000000626C6B73D4 +:10552000697A6500353132007473697A650000006C +:1055300025640000AA00002010B50A20FAF7EAF856 +:1055400004488179FF221143817103484168491C55 +:10555000416010BD002000409C00002070B5002577 +:105560000C46292878D201007944097949188F44DA +:10557000731425364758699A779A9A7F9A878F9B32 +:10558000A7B3C29A9AD1EFFAECEBEAE9E8E7E6E5CD +:10559000E4E3E2E1E0DFDEDDDC0004212020FAF7D5 +:1055A00099FFD348012C04D0C16A20221143C16263 +:1055B0009BE1816A20221143816296E1042110203F +:1055C000FAF788FFCA48012C04D0C16A102211439F +:1055D000C1628AE1816A10221143816285E104215E +:1055E0004020FAF777FFC248012C04D0C16A40225C +:1055F0001143C16279E1816A40221143816274E101 +:1056000004210120FAF766FFB948012C04D0C16AD1 +:1056100001221143C16268E1816A01221143816262 +:1056200063E104210220FAF755FFB148012C04D0B0 +:10563000C16A02221143C16257E1816A0222114309 +:10564000816252E104210846FAF744FFA848012C80 +:1056500003D0C16A042257E046E1816A042257E080 +:1056600004214E023046FAF735FF012C3FD03AE0D4 +:1056700004218E033046FAF763FF012C27D00EE099 +:1056800004218E013046FAF75BFF012C1FD006E0A3 +:105690000421CE033046FAF753FF012C17D095486A +:1056A000C1683143C16020E10421CE013046FAF7E0 +:1056B00011FF012C1BD016E0816216E1C16214E1DA +:1056C0000421CE013046FAF73BFF012C29D189484D +:1056D00081683143816008E104218E013046FAF788 +:1056E000F9FE012C03D08248C16A3143E6E78048C5 +:1056F000816A3143E0E704218020FAF7EBFE7C4821 +:10570000012C03D0C16A80221143D7E7816A80222D +:105710001143D1E704218E043046FAF711FF012C22 +:105720001DD07448C16831434CE0D5E0CCE0C3E003 +:10573000BAE0B1E0A8E09AE08CE07DE06CE05EE0E9 +:105740004FE041E02FE026E01DE014E00BE0FFE732 +:105750000421CE043046FAF7F3FE012CE1D165486E +:10576000816831432CE004214E043046FAF7E8FE0C +:10577000012CF4D0D5E704210E053046FAF7E0FEFF +:10578000012CECD0CDE704210E043046FAF7D8FE08 +:10579000012CE4D0C5E704214E053046FAF7D0FECF +:1057A000012CDCD0BDE704210120FAF7C9FE5148E5 +:1057B000012C02D0C16801221CE081680122114342 +:1057C000816092E0C16090E004210846FAF7B8FEDB +:1057D0004848012C02D0C16804220BE081680422F1 +:1057E00036E004210220FAF7ABFE4248012C03D038 +:1057F000C16802221143E5E78168022228E0042102 +:105800000820FAF79DFE3B48012C02D0C16808220F +:10581000F0E7816808221BE004212020FAF790FEBF +:10582000012C03D03348C1682022E3E7314988685E +:1058300020221043886058E004211020FAF780FEEF +:105840002C48012C02D0C1681022D3E781681022B5 +:105850001143B5E704218020FAF772FE2548012C98 +:1058600002D0C1688022C5E781688022F0E7042168 +:105870004020FAF765FE1F48012C02D0C168402283 +:10588000B8E781684022E3E704214E023046FAF788 +:1058900057FE012C85D044E704210E023046FAF76A +:1058A0004FFE012CF6D03CE70421CE023046FAF739 +:1058B00047FE012CEED034E704218E023046FAF781 +:1058C0003FFE012CE6D02CE704214E033046FAF7C8 +:1058D00037FE012CDED024E704210E033046FAF710 +:1058E0002FFE012CD6D01CE7F025284670BD000005 +:1058F00080100040C010004010B50446FAF756FE74 +:105900000A214843C0082146F2F7E0FB0A21401D66 +:10591000F2F7DCFB0149888110BD00000030004037 +:1059200003498A789206920E800102438A7070477A +:1059300000300040064A0028507806D008435070D6 +:1059400010780821084310707047884350707047E2 +:105950000030004010B51C4908790007000F0428EA +:1059600004D02EDD06282DD00C282AD1887A174C99 +:1059700061782278090211430818012189028842BE +:1059800002D3002020706070607821780002084304 +:105990000F49401800F0E2F86178227809021143BB +:1059A00008182070000A60700A480B4900680871E6 +:1059B000020A4A71020C8A71000EC871074901205F +:1059C000087010BD487910BD0030004085060020E9 +:1059D000850200201000002087060020840200209D +:1059E000F8B5574E307801287ED1564C2279E179AE +:1059F00010466279090612021043A2792378120434 +:105A0000104308435049E278096812060D1A1846F7 +:105A100063781B021843A3781B0418431043854284 +:105A200062D92171080A6071080CA071080E474AFA +:105A3000E0715079464DC10768782B780002184311 +:105A40000027002917D0917A41181015814202D3FE +:105A50002F70380A687068782978000208433D4939 +:105A6000401800F07BF869782A7809021143081879 +:105A70002870000A61E01021377062181378C0B2F4 +:105A8000194653781B0219439378D2781B041943A3 +:105A900012061143FEF776FD1020201802781146F9 +:105AA0004278120211438278C07812041143000632 +:105AB000014368782A7800021043000A491CFEF767 +:105AC00061FD1020201801782B780A4641780902E0 +:105AD0000A438178C07809040A43000602436878C3 +:105AE00001021943701C00E028E0921CFEF71CFD27 +:105AF000102021180A7810464A78120210438A783A +:105B0000C97812041043090608430121890240188C +:105B10002074010A6174010CA174010EE1740E4934 +:105B2000884208D9092000042074010A6174010C1C +:105B3000A174000EE0742F70380A6870F8BD000080 +:105B40008402002087060020100000200030004062 +:105B50008506002085020020FF0F0900074A00216A +:105B6000937A002B07D0137A0370491C937A89B279 +:105B7000401C002BF7D10846704700000030004061 +:105B800000290AD0054AD37A082B04D0037813726F +:105B9000491E89B2401C0029F5D1704700300040F1 +:105BA00010B50446FAF702FD0A214843C008214611 +:105BB000F2F78CFA0A21401DF2F788FA0149888130 +:105BC00010BD00000034004003498A789206920E0E +:105BD000800102438A70704700340040064A002862 +:105BE000507806D008435070107808210843107090 +:105BF00070478843507070470034004010B51C490E +:105C000008790007000F042804D02EDD06282DD0C7 +:105C10000C282AD1887A174C617F227F0902114310 +:105C2000091801208002814202D30020207760778A +:105C3000607F217F000208430F49401800F0EAF816 +:105C4000617F227F0902114308182077000A6077DC +:105C50000A480B4900680870020A4A70020C8A70F0 +:105C6000000EC87007480121C17610BD487910BDEB +:105C700000340040840A0020A0060020100000200C +:105C8000A60A0020840600205A4AD07E01287DD131 +:105C9000F8B5594D2B78E97818466B7809061B0240 +:105CA0001843AB781B04184308435449544B096804 +:105CB0001C780E1A20465C78240220439C78DB78FE +:105CC000240420431B06184386427DD92970080A04 +:105CD0006870080CA870080E4A4BE87058794A4C56 +:105CE000C1074A480619DC140419607F277F0002A7 +:105CF00038430027002916D0997A41181815814297 +:105D000002D32777380A6077607F217F000208433B +:105D1000801900F07FF8617F227F09021143081883 +:105D20002077000A63E0D7760C216A181378C0B296 +:105D3000194653781B0219439378D2781B041943F0 +:105D400012061143FEF71EFC0C202818027811469B +:105D50004278120211438278C0781204114300067F +:105D60000143607F227F00021043000A491CFEF7B6 +:105D700009FC0C20281801780A46417809020A43D8 +:105D80008178C07809040A43000600E031E002434C +:105D9000607F237F010219433046921CFEF7C4FB4B +:105DA0000C2029180A7810464A78120210438A7883 +:105DB000C9781204104309060843012189024018DA +:105DC0002873010A697300E012E0010CA973010E47 +:105DD000E9730F49884208D9492040032873010A12 +:105DE0006973010CA973000EE8732777380A60778E +:105DF000F8BD704784060020A60A0020100000208D +:105E0000A20A0020003400401C040000840200208C +:105E1000FF2F0900074A0021937A002B07D0137A3D +:105E20000370491C937A89B2401C002BF7D10846B5 +:105E3000704700000034004000290AD0054AD37A98 +:105E4000082B04D003781372491E89B2401C002924 +:105E5000F5D170470034004010B50446FAF7A6FBB0 +:105E60000A214843C0082146F2F730F90A21401DB3 +:105E7000F2F72CF90149888110BD0000003800407C +:105E800003498A789206920E800102438A70704715 +:105E900000380040064A0028507806D00843507069 +:105EA000107808210843107070478843507070477D +:105EB0000038004010B51C4908790007000F04287D +:105EC00004D02EDD06282DD00C282AD1887A174C34 +:105ED000617D227D0902114309180120800281425F +:105EE00002D3002020756075607D217D000208438B +:105EF0000F49401800F0F0F8617D227D090211433E +:105F000008182075000A60750A480B490068087770 +:105F1000020A4A77020C8A77000EC87707480121E7 +:105F2000817510BD487910BD00380040A70E0020D3 +:105F3000BB0A002010000020A50E0020A40A0020AB +:105F40005C4A907D01287DD1F8B55B491C200B1877 +:105F50001C7820465C78240220439C78DB7824045B +:105F600020431B061843554B1B681E1A18200C189B +:105F70002578284665782D022843A578E4782D04F5 +:105F800028432406204386427ED90B77180A487797 +:105F9000180C8877180E4A4BC8775879494CC107B6 +:105FA000494800270619494C0419607D257D0002E7 +:105FB0002843002916D0997A41181815814202D336 +:105FC0002775380A6075607D217D000208438019BD +:105FD00000F082F8617D227D0902114308182075C6 +:105FE000000A64E03A4D977508216A181378C0B228 +:105FF000194653781B0219439378D2781B0419432E +:1060000012061143FEF7BEFA08202818027811463E +:106010004278120211438278C078120411430006BC +:106020000143607D227D00021043000A491CFEF7F7 +:10603000A9FA0820281801780A46417809020A437B +:10604000817800E035E0C07809040A430006024385 +:10605000607D237D010219433046921CFEF764FAED +:10606000082029180A7810464A78120210438A78C4 +:10607000C978120410430906084301218902401817 +:106080002872010A697200E012E0010CA972010E87 +:10609000E9721049884208D9252080032872010A34 +:1060A0006972010CA972000EE8722775380A6075D2 +:1060B000F8BD7047A40A0020A50E002010000020A3 +:1060C000003800403708000084020020230C000044 +:1060D000C50E0020FF4F0900074A0021937A002BCC +:1060E00007D0137A0370491C937A89B2401C002BA5 +:1060F000F7D10846704700000038004000290AD058 +:10610000054AD37A082B04D003781372491E89B24A +:10611000401C0029F5D170470038004010B50446F6 +:10612000FAF744FA0A214843C0082146F1F7CEFFA6 +:106130000A21401DF1F7CAFF0149888110BD000006 +:10614000003C004003498A789206920E8001024387 +:106150008A707047003C0040064A0028507806D0FC +:106160000843507010780821084310707047884326 +:1061700050707047003C004010B51C49087900077A +:10618000000F042804D02EDD06282DD00C282AD19B +:10619000887A174C617C227C09021143091801207E +:1061A0008002814202D3002020746074607C217CD4 +:1061B000000208430F49401800F0EAF8617C227C95 +:1061C0000902114308182074000A60740A480B4938 +:1061D00000680876020A4A76020C8A76000EC876B3 +:1061E00007480121417410BD487910BD003C0040B2 +:1061F000C6120020D60E002010000020C41200207D +:10620000C40E0020F8B5594D687C01287ED158494C +:1062100018200A181378184653781B0218439378ED +:10622000D2781B04184312061043524A1268161AF9 +:1062300014200B181C7820465C78240220439C789C +:10624000DB78240420431B06184386425ED90A7675 +:10625000100A4876100C8876100E474AC876507996 +:10626000464BC10746480027C618464BC4180029AC +:106270001BD0907A617C227C09021143091801200D +:106280008002814202D32774380A6074607C217CCA +:1062900000020843801900F07BF8617C227C09022F +:1062A000114308182074000A60746F74364D2A79FF +:1062B000E87911466A79000612021143AA7912049C +:1062C00011430143607C227C00021043C0B2FEF700 +:1062D00059F92A79E87911466A79000612021143C0 +:1062E000AA79120411430143607C227C000210430E +:1062F000000A491CFEF746F92979E8790A466979C6 +:1063000009020A43A97909040A4300E02DE00006C6 +:106310000243607C237C010219433046921CFEF745 +:1063200003F92A79E97910466A79090612021043BD +:10633000AA791204104308430121890240182871E8 +:10634000010A6971010CA971010EE9710F498842B6 +:1063500008D94B2040032871010A6971010CA97109 +:10636000000EE8712774380A6074F8BDC40E00206E +:10637000C412002010000020003C0040520C00001D +:106380008402002042100000E4120020FF6F090088 +:10639000074A0021937A002B07D0137A0370491C17 +:1063A000937A89B2401C002BF7D108467047000051 +:1063B000003C004000290AD0054AD37A082B04D0BB +:1063C00003781372491E89B2401C0029F5D1704729 +:1063D000003C0040F0B51E46080485B01446030E8C +:1063E000CAB26F460A9D08023A737B73000EB873F7 +:1063F000090EF97301910090029409A10120F9F7A7 +:1064000083FB0E482B46427B0DA10120F9F7BAFB16 +:10641000234603AA2946304600F086FD05B0F0BDAC +:1064200069703A25642E25642E25642E25642C205F +:10643000706F72743A25640A00000000AA00002000 +:10644000536F636B65742564206C656E3A256C64CC +:1064500000000000F0B51E46080485B01446030E87 +:10646000CAB26F460A9D08023A737B73000EB87376 +:10647000090EF97301910090029409A10120F9F726 +:1064800043FB0E482B46427B0DA10120F9F77AFB16 +:10649000234603AA29463046FEF718FD05B0F0BD95 +:1064A00069703A25642E25642E25642E25642C20DF +:1064B000706F72743A25640A00000000AA00002080 +:1064C000536F636B65742564206C656E3A256C644C +:1064D00000000000F0B51E46080485B01446030E07 +:1064E000CAB26F460A9D08023A737B73000EB873F6 +:1064F000090EF97301910090029409A10120F9F7A6 +:1065000003FB0E482B46427B0DA10120F9F73AFB15 +:10651000234603AA29463046FEF722FD05B0F0BD0A +:1065200069703A25642E25642E25642E25642C205E +:10653000706F72743A25640A00000000AA000020FF +:10654000536F636B65742564206C656E3A256C64CB +:106550000000000030B51C460804030E83B008029A +:10656000CDB2000E090E0292019100902A4606A1BA +:106570000120F9F7C9FA0B482346C27B0AA1012082 +:10658000F9F7C2FA03B030BD69703A25642E25646C +:106590002E25642E25642C20706F72743A25640AAF +:1065A00000000000AA000020536F636B657425642F +:1065B000205265636976653A2025730A0000000061 +:1065C00070B590B00D46064614463C216846F1F77A +:1065D000C0FD02210791094802904320C0000390AA +:1065E0000A9569460E943046F8F770FE020003D013 +:1065F00003490120F9F788FA10B070BD944B0020D0 +:1066000070B8010010B5112201A1F1F789FD10BD8C +:10661000424C562D43352D30312D3030312D303117 +:106620000000000010B4AA24047055244470827045 +:10663000120AC270542202713322427153228271B3 +:106640004122C27101724372190A81720549898A15 +:10665000C172090A017304498A784273C978817347 +:1066600010BC7047F8000020AA00002001464B2211 +:10667000520200208B1A91421BD009DC104A891A61 +:1066800013D05210891A12D0914200D103207047C2 +:106690000C4959180FD019229201891A0DD0E12204 +:1066A00012029142F3D10720704701207047022067 +:1066B000704704207047052070470620704700008F +:1066C0008025000040BBFFFFFFB58FB0002603967A +:1066D00004960596069607960446089609960A9625 +:1066E0000B960C96A27A407A1202801880B20E9015 +:1066F000272203200D92282941D95F48E17B81712F +:10670000217CC171617C0172A17C4172217DE07CA0 +:1067100009025A4F4018F968594AA0310871000A15 +:106720004871204606210F30FDF7A6FDA27C617C52 +:10673000207C029201910090F868E37BA0304179BF +:1067400000790A0202434FA10120F9F71BFAA07851 +:10675000010240182A38C2B22321F868802A0A545C +:106760000CD8214628312430F1F7DAFC25462035B3 +:10677000E97907A8002904D001290ED0022013B01E +:10678000F0BDF9680A7D920892000A751122474906 +:10679000F1F7C6FC08A806740CE0F9680A7D9208B7 +:1067A0009200521C0A7511224049F1F7B9FC0120F0 +:1067B00008A90874A979687909024118F86827229C +:1067C0000174090A4174217E0170E17D4170A17D4F +:1067D0008170617DC170217F0171E17E4171A17E77 +:1067E0008171617EC17129780172E17F4172A17F5F +:1067F0008172617FC17229790173E9784173A97847 +:1068000081736978C173217A03A80E9BFFF70AFF91 +:10681000F968487C0A7C00021043FF22B032401E17 +:1068200090420ED86846C676087DCF2210401030C0 +:106830008206920EF32080320124024008320A754B +:1068400002E002246946CC76272103A8FCF74EFA21 +:106850000D98174D00902A7B16A10120129BF9F785 +:1068600091F912980090287B0DAA03A9119BF8F7C3 +:10687000EBFE204613B0F0BDBA000020F800002067 +:1068800000E60800D4C6B6CB5446545020706F7250 +:10689000743A25303458202C2049503A25642E254E +:1068A000642E25642E2564200A0000001066010075 +:1068B000AA000020536F636B657449643A25642015 +:1068C0002C20706F72743A2578202C206C656E3AFB +:1068D000256C640A000000000146002008290AD245 +:1068E0000A007A44127992189744050306090C0F9E +:1068F00011144B20C0017047E120800170474B20EC +:10690000000270474B204002704704487047E12066 +:1069100000027047E120400270470000C0DA00002A +:10692000F3B5802101250326872781B0002859D09F +:10693000A84C01287DD002287CD0032850D1A06A21 +:1069400020210843A06201211020F9F7C3FD032193 +:106950002020F9F7BFFD04210120F9F7BBFDE06A13 +:106960002843E0620298FFF7D9FB9B488770C67006 +:106970004021417085730320FFF7E4FB05210120CE +:10698000FFF7EAFB9548A90401609648944904463C +:10699000F1F7DFFB20460299FDF718FF4B21490371 +:1069A00091480A0A017242720A0C82720A0EC2727D +:1069B00001710A0A42710A0C8271090EC171972194 +:1069C000090301700A0A42700A0C82700A0EC27032 +:1069D00086480A0A017742770A0C8277090EC17746 +:1069E00003B0F0BD824882680A4382600121102012 +:1069F000F9F7A6FD03218020F9F7A2FD0298FEF722 +:106A00007BFF7C488770C6704021417085730320EE +:106A1000FEF786FF05210120FEF78CFF01216F485C +:106A2000890201606E497448F1F793FB724802993C +:106A300001E025E07BE0FDF7C9FE092109046F486C +:106A40000A0A017542750A0C82750A0EC275017434 +:106A50000A0A42740A0C8274090EC1749121090356 +:106A600001730A0A42730A0C82730A0EC27301721E +:106A70000A0A42720A0C8272090EC17203B0F0BD9A +:106A8000A06A012149020843A06201210802F9F726 +:106A900021FD012003214002F9F71CFD0421CC0453 +:106AA0002046F9F74DFD5248C1682143C160029864 +:106AB000FFF776F852488770C670402141708573A1 +:106AC0000320FFF781F805210120FFF787F84348ED +:106AD000A11201604249484840180446F1F739FBC9 +:106AE00020460299FDF772FE4921490345480A0AEA +:106AF000017442740A0C82740A0EC27401730A0A89 +:106B000042730A0C8273090EC17393210903017247 +:106B10000A0A42720A0C82720A0EC27201710A0AD1 +:106B200042710A0C8271090EC17103B0F0BDA06AF6 +:106B30000843A06201214020F9F7CCFC032180200A +:106B4000F9F7C8FC04210220F9F7C4FCE06A02212D +:106B50000843E0620298FFF77FF92B488770C67000 +:106B60004021417085730320FFF78AF90521012038 +:106B7000FFF790F901211948490401602348184999 +:106B80000446F1F7E6FA20460299FDF71FFE25219B +:106B900089031F480A0A017342730A0C82730A0EA2 +:106BA000C27301720A0A42720A0C8272090EC17221 +:106BB0009521090301710A0A42710A0C82710A0EB9 +:106BC000C27101700A0A42700A0C8270090EC1700B +:106BD00003B0F0BD80100040003C004000E100E048 +:106BE0001B040000D50E0020E4120020C412002077 +:106BF000C0100040003000408402002087060020C2 +:106C000000340040A60A002000380040BA0A0020E4 +:106C1000C50E002070B50024084DFF26F5366879B2 +:106C2000400602D5E87A002806D0642004F005FE6C +:106C3000641CA4B2B442F2D970BD00000030004020 +:106C4000F0B50E46074619A1086883B04968009060 +:106C500000240191304604F0C3FF050009D03A46F4 +:106C60003146FDF75FFBA8192038C17F0A2903D000 +:106C700005E0FF2003B0F0BD807F0D2806D0012481 +:106C8000284603F0FBFF204603B0F0BD0020B61EEF +:106C9000002EF5DD69462A5C0B5C9A4201D0641C2B +:106CA000EEE7401CB042F6DBEAE700004A756D7083 +:106CB0003A310000F0B51BA20E4607465168106835 +:106CC00083B092680090002402920191304604F053 +:106CD00087FF050009D03A463146FDF723FBA81986 +:106CE0002038C17F0A2903D005E0FF2003B0F0BDA2 +:106CF000807F0D2806D00124284603F0BFFF2046E0 +:106D000003B0F0BD0020B61E002EF5DD69462A5CFA +:106D10000B5C9A4201D0641CEEE7401CB042F6DBEB +:106D2000EAE700005365617263683A3100000000D1 +:106D3000F0B5C5B0FF210024013102A8F1F709FA2E +:106D40004148FDF759FB414F4390B84205D24049B5 +:106D5000884202D9022045B0F0BD3E49401885B2B4 +:106D600044902806000E29D0280A401CC6B23A4892 +:106D70004290C012854200D90546002E27D93A46D6 +:106D8000294602A8FDF74AFA294602A8429AF9F7CD +:106D900075FA01942B46009630A10120429AF8F72B +:106DA000F1FE42987F19401942904398FF21C01B81 +:106DB00080B20131884203D90D4604E02E0AD6E79D +:106DC000002804D00546641CE4B2B442D7D3019431 +:106DD0002B46009630A10120429AF8F7D3FE0125F8 +:106DE000601CED04B04218D144981B4980B244188D +:106DF000224638A10120F8F7C5FE69460C72200A28 +:106E00004872200C8872200EC8722A46042102A8FB +:106E1000F9F734FA012045B0F0BD3346224637A1D8 +:106E20000120F8F7AFFE00206A461072012151726E +:106E300008219172D0722A46042102A8F9F71EFA9D +:106E4000022045B0F0BD00000066080000670800A1 +:106E5000FFE508000099F7FF00010800424C564387 +:106E60006F6E66696720777269746520466C61731E +:106E70006820616464723A2025303858204C656E71 +:106E80003A25642074656D705F6E756D3A256420D7 +:106E9000693A256400000000424C56436F6E6669F3 +:106EA0006720777269746520466C6173682061643D +:106EB00064723A2025303858204C656E3A2564209B +:106EC00074656D705F6E756D3A25642020693A2592 +:106ED00064000000424C56436F6E6669672077720B +:106EE00069746520466C6173682053756363203A4A +:106EF000253038582121212100000000424C564302 +:106F00006F6E66696720777269746520466C61737D +:106F100068204661696C20693A25642C4E756D3A8B +:106F20002564212121210000FFB50446007881B0AD +:106F30000D46AA2831D1607855282ED1E178A07865 +:106F40000902401881B20846734A1138904224D889 +:106F50002079542821D1607933281ED1A079532873 +:106F60001BD1E079412818D16C4E207AF26868284C +:106F70007CD022DC0F2870D011DC01286FD00A28C9 +:106F80003AD00E2809D166A10120F8F7FBFD6A4826 +:106F9000FDF732FA6949FDF71FFB05B0F0BD302857 +:106FA00079D03128F9D1A9B22046049B039A01F087 +:106FB000F1FAF0281AD005B0F0BDA2283AD009DCC9 +:106FC000702869D07128F6D15DA10120F8F7DAFDAB +:106FD00005B0F0BDD1287DD0D228F9D1A9B2204684 +:106FE000049B039A00F000F9F028F1D15FA1012081 +:106FF000F8F7C8FD05B0F0BD62A10120F8F7C2FDA9 +:10700000292D05D063A10120F8F7BCFD05B0F0BD26 +:10701000F068002803D1A62004F0E2FDF060A6216C +:10702000F1F797F829212046049B039A00F026FBEC +:1070300005B0F0BD002A03D1A62004F0D1FDF06018 +:10704000A621F068F1F785F8A9B22046049B039ABF +:1070500001F03AF905B0F0BD08E01EE0FFE7A9B283 +:107060002046049B039A00F01BFDF3E7002A03D19E +:10707000A62004F0B5FDF060A621F068F1F769F8EC +:1070800048A10120F8F77EFDA9B22046049B039A8F +:10709000FFF71AFBDEE725E037E012398DB2E27B1D +:1070A0002B4645A10120F8F76DFDA17A607A0E020A +:1070B0000643E07B4A49FDF765FA4A4F20463A46C7 +:1070C00029461030FDF7D8F81B21E819C902FDF751 +:1070D00083FA00E010E031460F20049B039A00F091 +:1070E000A1FBB7E7A9B22046049B039A00F0D6FBA8 +:1070F000F02800D17AE7ADE7A9B22046049B039AB5 +:1071000000F068F9F028F5D0A4E7A9B22046049B66 +:10711000039A00F0B7FD9DE701020000F80000208F +:10712000B7BFBCE4C9E8B1B8C9CFB1A8C3FCC1EED0 +:10713000BBD8B8B40D0A000008D0000004D000008D +:107140004E65742055445020496E5F5365726961E5 +:107150004E65745265706F727465645F436D642030 +:1071600052656C6179210D0A000000004E657420A3 +:1071700055445020435243204552524F52210D0A4C +:10718000000000005446545020C9FDBCB6C3FCC1E9 +:10719000EE0A0000CAFDBEDDB3A4B6C8B2BBB6D4C9 +:1071A0000A000000D4C6B6CB5446545020C9FDBCDA +:1071B000B6C3FCC1EE0A0000B7FECEF1C6F7CFC2DF +:1071C000B7A2C9E8B1B8BFD8D6C6CAFDA3BA25646C +:1071D0002CCAFDBEDDB3A4B6C8A3BA25640D0A004F +:1071E0000CD8000010D80000FFB504464018203825 +:1071F000827FC07F891E0002101885B289B089B2D3 +:107200002046FBF797FDA84202D0F0200DB0F0BD5C +:10721000002612210696039601960296049605967C +:107220000891A17A607A0902401880B2024607905C +:1072300035463CA10120F8F7A5FC207C434F0128EE +:107240000CD0E17B88420BD24148FDF7D5F80546CA +:10725000B8421BD23F48854217D817E03D4615E09B +:10726000884212D1012006903948FDF7C5F805463D +:107270003748FDF7C1F8024637A10120F8F782FC34 +:10728000BD4203D23348854200D902260095237CB3 +:10729000E27B3AA10120F8F775FCE078A1780002C2 +:1072A0001338081887B2FF20EB30874220D8022E0F +:1072B0001ED020462A4639461130FCF7DDFF244C0B +:1072C000E8192146FDF788F92046FDF795F80246B2 +:1072D00021A10120F8F756FC0698002806D0FFF7F8 +:1072E00027FD024632A10120F8F74CFC012400E002 +:1072F00002241222D22101A8079BFFF793F96846C6 +:10730000C474122101A8FBF7F1FC0C9800903048DE +:1073100008AA007B01A90B9BF8F796F900200DB095 +:10732000F0BD0000424C56436F6E6669675F507255 +:107330006F63657373207061636B5F6672616D6507 +:10734000203A2025303458200D0A0000006708003C +:1073500000660800FFE50800424C56436F6E666900 +:10736000675F50726F63657373207772697465200D +:10737000616464723A253038580D0A00424C564315 +:107380006F6E6669675F50726F63657373204E55E9 +:107390004D203A2564207061636B5F6E756D203AF5 +:1073A00020256420616464723A253038580D0A0043 +:1073B0005564705F436F6E6669675F5372616D5F9E +:1073C000746F5F466C617368207265763A2564005D +:1073D000AA000020FFB5044640182038827FC07FF5 +:1073E000891E0002101885B283B01E4689B220465D +:1073F000FBF7A0FCA84202D0F02007B0F0BDF8F7E0 +:107400007BFE05464000281812300190801C009039 +:1074100004F0E6FB07460099F0F79BFEA17A607A3C +:107420000902401883B20198D12182B23846FFF791 +:10743000F9F83846FD7329461030F9F757F90198E5 +:1074400081B23846FBF752FC06480096007B01AA41 +:107450003946059BF8F7F8F8384603F00FFC002092 +:1074600007B0F0BDAA000020614862490068CA69FF +:10747000821A0A2A77D9F8B5C8611B20C002FCF726 +:10748000BBFF5D49002688426ED0081FFCF778FFDD +:1074900000250746002868D92C4606204443564854 +:1074A0002018FCF76DFF012804D0052823D00728F9 +:1074B00047D17CE00021F120F8F7E8FD00909F2102 +:1074C000FF380902013888427CD24C482018FCF76A +:1074D00057FF06464A482018FCF752FF0446034669 +:1074E000324648A10120F8F74DFB761EF6B222463F +:1074F0003146009857E00021F120F8F7C7FD024619 +:10750000FF389F2101380902884204D34DA1012090 +:10751000F8F738FB60E03A482018FCF731FF0446E2 +:107520000346324637A10120F8F72CFB0720400321 +:10753000FCF726FF0646012C04D0022C16D0062CA0 +:1075400025D049E00021F120F8F7A0FD7D23044675 +:10755000DB0001220C21F6F73DFA02220D21204624 +:10756000F6F7D7F938E042E040E03AE00021F120B8 +:10757000F8F78CFD044602220C21F6F7CAF97D23A8 +:10758000DB0001220D212046F6F724FA24E0002139 +:10759000F120F8F77BFD044602220C21F6F7B9F939 +:1075A00002220D212046F6F7B4F915E00AE0012188 +:1075B0000720F8F76BFD00909F21FF380902013882 +:1075C000884201D3009AA1E70D482018FCF7D8FEA5 +:1075D00001460098F5F7B0FD6D1CEDB2BD4200D23A +:1075E0005AE71B210448C902FCF7F6FFF8BD7047B3 +:1075F00010000020F800002010D8000012D8000071 +:1076000014D800005564705F496E7465726E616CC9 +:107610005F4465765F436F6E74726F6C20433549CB +:107620004F204C6F6F703A253032582020737461B0 +:1076300072743A253032582D2D2D2D2D2D2D2D0DD6 +:107640000A0000005564705F496E7465726E616C6B +:107650005F4465765F436F6E74726F6C204465762D +:1076600061646472204661696C25303858202D2D84 +:107670002D2D2D2D2D2D0D0A00000000F0B50446F6 +:1076800091B000200490059006900790089016464F +:1076900009900A900B900C900D90A27A607A1202D9 +:1076A000801880B20090262003271D4610902929BB +:1076B00006D049A10120F8F765FA384611B0F0BDAF +:1076C0004948290A05734173317881717178C17114 +:1076D000B1780172F1784172307808A90876707833 +:1076E0004876B0788876F078C8760D77280A48779B +:1076F0003E4A06210EA8FCF7BFFD3D4FFD80F8680D +:10770000002806D1A62004F06BFAA621F860F0F755 +:1077100020FDF868017D8908890001752146203126 +:107720008B794A791B02D2180274120A4274227EA3 +:107730000270E27D4270A27D8270627DC270227F03 +:107740000271E27E4271A27E8271627EC2710A780B +:107750000272E27F4272A27F8272627FC2720A79F3 +:107760000273CA7842738A7882734978C173217A26 +:10777000262204A8009BFEF755FF00206A46F96800 +:10778000D077087DCF22104010308006800E403028 +:107790000875012408A811221649F0F7C1FC26211A +:1077A00004A8FBF7A3FAF078B178727801910290FF +:1077B00003950092104F33783A7B10A10120F8F71F +:1077C000E1F90095387B334610AA04A9F7F73CFF8E +:1077D000204611B0F0BD0000CAFDBEDDB3A4B6C89E +:1077E000B2BBB6D40A000000BA00002000E60800D0 +:1077F000F800002010660100AA000020536F636BA0 +:10780000657449643A2564202C2049503A25642E39 +:1078100025642E25642E2564202C20706F72743A06 +:1078200025640A00F0B5074683B011201C461546B2 +:107830000E46029004F0D4F901900EA10120F8F751 +:10784000A1F90298334682B239460198FEF7EAFE62 +:10785000029881B20198FBF749FA0F480094007B27 +:107860002B4602AA0199F7F7EFFE019803F006FAFA +:1078700003B0F0BD5564705F496E7465726E616CE3 +:107880005F50726F636573735F41636B202D2D2DA5 +:107890002D2D2D2D2D0D0A00AA000020FFB5064626 +:1078A00040182038827FC07F891E0002101884B2E1 +:1078B00083B089B23046FBF73DFAA04202D0F020F7 +:1078C00007B0F0BDF07B0121C00012300025490255 +:1078D0000290884200D90291029CA41C204604F028 +:1078E0007FF921460190F0F734FCB17A707A0902F1 +:1078F000401883B20298302182B20198FEF792FEBE +:10790000F07B232803D901982321C17301E0019959 +:10791000C8730198C07B00282ED9A8008019C17CAB +:10792000827C0B021A431302427CEC001A431302BE +:10793000027C1A43019BE418E174817CA174417CB0 +:107940006174007C2074164810180090FCF754FDF8 +:107950000746034613A10120009AF8F713F9380EE1 +:10796000E075380CA075380A6075277501986D1C94 +:10797000C07BEDB2A842D0D8029881B20198FBF743 +:10798000B5F9069800900E4802AA007B059B019964 +:10799000F7F75AFE019803F071F9002007B0F0BD27 +:1079A00000E8080074656D705F6F66667365743A11 +:1079B0002530385820646174613A25640000000065 +:1079C000AA00002070B590B00020049005900690A9 +:1079D0000790089009900A900B900C900D900E90D3 +:1079E00026200F901D4E1E4A04210EA8FCF79AFC7B +:1079F0001C48FCF7C5FC05461B48FCF7C1FC04020B +:107A00001A482C43C480334626220A2104A8FEF7D4 +:107A100009FE01206A46D07708A811221449F0F720 +:107A20007FFB262104A8FBF761F908AAD07E917E8E +:107A3000527E009201910290039408AA0D4D137E8C +:107A40002A7B0DA10120F8F79DF80094287B0EAB4E +:107A50000FAA04A9F7F7F8FD10B070BD018000006F +:107A600000E6080004E6080005E60800F80000202B +:107A700010660100AA000020536F636B65744964AF +:107A80003A2564202C2049503A25642E25642E2561 +:107A9000642E2564202C20706F72743A25640A00CD +:107AA000FFB597B00D4604463C2101A8F0F751FB05 +:107AB0000320112D01D01C2D36D1A17A607A090244 +:107AC000401886B228465B4D5B4F112802D01C2817 +:107AD0007ED124E059A10120F8F754F85B4B3878A7 +:107AE0009E4203D1C007C00F001D02E0C007C00FB7 +:107AF000801C38701122022110A8FEF793FD11217D +:107B000010A8FBF7F3F811201690F87BB97B000260 +:107B100008430090287BBB1C16AA10A95FE0012037 +:107B2000C003864202D302201BB0F0BD617E207EDE +:107B300009024018E17C80B2012955D044A10120FE +:107B4000F8F720F8414B3C22012101A8FEF76AFD1D +:107B5000B8786946C874F8780875387948757879BE +:107B60008875287AC875687A0876A87A4876E87A97 +:107B700088762879C87668790877A8794877E87987 +:107B80008877374808A902784A7042788A708278E4 +:107B9000CA70C2780A7102794A71407988710D20E1 +:107BA0006946C87708A90870C81D11222D49F0F749 +:107BB000B7FA2D4808A94278CA7682780A77C07841 +:107BC00048773C2101A8FBF791F83C20159000E094 +:107BD00007E01A980090287B15AA01A9199BF7F7CE +:107BE00033FD01201BB0F0BD217DBA78914211D147 +:107BF000617DFA7891420DD1A17D3A79914209D106 +:107C0000E17D7A79914205D1F97BBA7B0902114372 +:107C100081420AD0B873000AF873207DB870607D85 +:107C2000F870A07D3871E07D787110A10120F7F720 +:107C3000A9FF87E7AA000020BA000020D7A2B2E17E +:107C4000C3FCC1EEBBD8B8B4A3A10000FFFF000085 +:107C5000CAD5B5BDCBD1CBF7C3FCC1EEA3A1000003 +:107C6000A40000201066010010010020CAD5B5BD97 +:107C7000B7FECEF1C6F7CBD1CBF7C3FCC1EEA3A1C3 +:107C800000000000FFB58BB004460C982018203887 +:107C9000817FC07F0002081885B20C98801E81B2D7 +:107CA0002046FBF747F8A84202D0F0200FB0F0BD05 +:107CB00000200390049005900690079013200890F0 +:107CC000A17A607A0902401880B20990AA4A042178 +:107CD0000D98FCF7D1FAA9490E98FCF792FC0D9883 +:107CE0000E9AC1788078009001910D9802924378A5 +:107CF0000278A3A10120F7F745FFE07BB04FB14D1B +:107D0000B14E012804D0022847D0032844D101E114 +:107D10001322702103A8099BFEF784FC0120694609 +:107D2000C876207C012804D002280FD003281AD05E +:107D300025E0A64800780877A54800683070010A59 +:107D40007170010CB170000EF07018E0A14800785D +:107D500008779F4800682870010A6970010CA970B3 +:107D6000000EE8700BE09C4800780877984800689F +:107D70003870010A7970010CB970000EF870132187 +:107D800003A8FAF7B3FF0E980090944808AA007B66 +:107D900003A90D9BF7F758FCEAE01322702103A812 +:107DA000099BFEF73FFC02216A46D176012010773D +:107DB000207C4B23DB01012805D0022833D0032887 +:107DC0007DD01177DBE7607CFEF786FD3074010A19 +:107DD0007174010CB174010EF17498420DD014212C +:107DE00072181378194653781B0219439378D27886 +:107DF0001B041943120611438847A07C40003071D0 +:107E0000010A7171010CB171000EF0716F48E17CD3 +:107E100001706F4800683070010A7170010CB17018 +:107E2000000EF070ABE7607CFEF756FD2874010A87 +:107E30006974010CA974010EE97498420DD01421E3 +:107E40006A181378194653781B0219439378D2782D +:107E50001B041943120611438847A07C4000287177 +:107E6000010A6971010CA971000EE871E07C594C9E +:107E70002070574800682870010A6970010CA970C9 +:107E8000000EE8701020281801780A46417809028F +:107E90000A438178C07809040A430006024350A1CE +:107EA0000120F7F76FFE2979E8790A466979090216 +:107EB0000A43A97909040A430006024300E009E0E5 +:107EC0004DA10120F7F75EFE227853A10120F7F7BC +:107ED00059FE54E7607CFEF7FFFC3874010A7974A0 +:107EE000010CB974000EF874A07C40003871010ACE +:107EF0007971010CB971000EF8713748E17C01709D +:107F0000334800683870010A7970010CB970000EAE +:107F1000F87034E7207C012804D002280CD0032814 +:107F200014D01CE02A4800683070010A7170010CFE +:107F3000B170000EF07012E0254800682870010A48 +:107F40006970010CA970000EE87008E02048006814 +:107F50003870010A7970010CB970000EF8700C9835 +:107F60002246143883B2617C207C123200F09EFBE2 +:107F700000200FB0F0BD000000E6080004E6080095 +:107F80005564705F496E7465726E616C5F536572A3 +:107F900069614E65745F50726F63657373204950F9 +:107FA0003A253032582E253032582E253032582E70 +:107FB0002530325820506F72743A25640D0A000043 +:107FC0005929002094290020CD290020CB29002008 +:107FD000140000209229002057290020AA00002028 +:107FE0004163743438355F496E666F2E6261756423 +:107FF0003A2564200D0A00004163743438355F4926 +:108000006E666F2E706173735F6F757474696D65E2 +:108010003A2564200D0A00004163743438355F4905 +:108020006E666F2E706F72745F6D6F64653A256453 +:10803000200D0A0070B5132484B02046019403F08B +:10804000CFFD05460020029021462846F0F781F832 +:108050001D4C607C217C000208430121C903421AA7 +:108060008B1E9A4203D2401C2074000A01E0217446 +:10807000080A6074154A042102A8FCF7CFF81448D6 +:10808000FCF7CFF90646607C217C030201980B4384 +:1080900082B270212846FEF7C5FA0320E8732874DF +:1080A000019881B22846FAF721FE0A480096007B23 +:1080B00002AB01AA2946F7F7C7FA284602F0DEFD0F +:1080C000002004B070BD0000BA00002000E60800E7 +:1080D00004E60800AA000020F7B586B01646104650 +:1080E000FCF79FF9FF21E1310390884200D9039109 +:1080F0000398054603F074FD0446002004902946C9 +:108100002046F0F726F82C4D687C297C00020843B5 +:108110000121C903421A8B1E9A4203D2401C2874C3 +:10812000000A01E02974080A6874244A042104A89A +:10813000FCF774F82248FCF774F907466846C17CDE +:10814000807C0191009002976846437C027C1D4927 +:108150000120F7F717FD0398B21C81B220461130B9 +:10816000FCF75CF818A10120039AF7F70BFD0398C0 +:1081700013300390697C2A7C0B02134382B2712175 +:108180002046FEF74FFA0698E0730798FEF76EFA5E +:108190002074039881B22046FAF7A8FD154800978D +:1081A000007B04AB03AA2146F7F74EFA204602F003 +:1081B00065FD002009B0F0BDBA00002000E608000F +:1081C00004E6080094F901005564705F496E746517 +:1081D000726E616C5F53657269614E65745F557054 +:1081E0006C6F6164696E67204C656E3A25640D0A98 +:1081F00000000000AA000020FFB507461333FF204F +:1082000083B0E13015460193834200D90190019E6D +:10821000761C304603F0E4FC044600200290314610 +:108220002046EFF796FF244E707C317C0002084315 +:108230000121C903421A8B1E9A4203D2401C30749A +:10824000000A01E03174080A70741C4A042102A873 +:10825000FBF7E4FF1A48FCF7E4F80090707C317CEF +:10826000030201980B4382B271212046FEF7DAF92E +:10827000E7730498FEF7FAF9207401990020132996 +:1082800008D0295C221851740199401C80B213391E +:108290008842F6D3019881B22046FAF727FD0948B3 +:1082A00002AB007B01AA2146F7F7CEF9204602F087 +:1082B000E5FC002007B0F0BDBA00002000E6080091 +:1082C00004E60800AA000020F0B5022789B01D4688 +:1082D00016460446292902D0384609B0F0BD434865 +:1082E000290A05734173317881717178C171B17850 +:1082F0000172F1784172307869460871707848717E +:10830000B0788871F078C8710D72280A4872384ABE +:10831000062101A8FBF7B0FF3648C580C0680028D9 +:1083200007D1A62003F05CFC3249C860A621EFF714 +:1083300010FF3048A17CC0680170617C4170217CD5 +:108340008170E17BC170A17D0171617D4171217DF1 +:108350008171E17CC171A17E0172617E4172217ED9 +:108360008172E17DC172A17F0173617F4173217FC1 +:108370008173E17EC173E17F203422781202891873 +:1083800089B201740A0A4274027D491E9208920061 +:10839000521C02753F2909D8CF210A40103291069C +:1083A00001270024890E4031017500E003240020DC +:1083B000039004900590069007900F4B1222A22183 +:1083C00003A8FEF72FF96846C476122103A8FAF72E +:1083D0008DFC1220089009480095007B334608AABE +:1083E00003A9F7F731F9384609B0F0BDBA0000200B +:1083F00000E60800F8000020FFFF0000AA000020AF +:10840000F8B53E4C3E4E20783E4D002806D001285F +:108410001CD0022801D1F9F791F9F8BDF6F7DCFC80 +:108420000228FAD338480078C007F6D037A10120D7 +:10843000F7F7A8FB3F4A40494048FEF7C1F83068CB +:10844000A060012020702946002028E03068A16843 +:10845000411A0A29E1D33A4FA0603846FBF790FF52 +:108460000226012806D03846FBF78AFF022823D0CF +:108470002670F8BD33A10120F7F784FBFFF7A2FABD +:1084800000280FD034A10120F7F77CFB2846FBF72A +:1084900077FF052800D32670401CC0B22946FCF7A0 +:1084A00071F8F8BD2FA10120F7F76CFB3946FF20CA +:1084B000FCF768F82670F8BD2DA10120F7F762FBE4 +:1084C000F7F728FA00280FD023A10120F7F75AFB6D +:1084D0002846FBF755FF052800D32670401CC0B284 +:1084E0002946FCF74FF8F8BD27A10120F7F74AFB12 +:1084F0003946FF20FCF746F82670F8BDF80000204A +:10850000A000002007E60800BA00002020CDF8C235 +:10851000E7B3F5CABCBBAFCDEAB1CF20A3AC20BF57 +:10852000AACABCB4B4BDA8CCD7BDD3D7D62E2E2EE4 +:1085300020000000D56301000D0D0000B6000020F2 +:1085400006E60800BBD8B8B42DCDF8C2E7C9FDBC1B +:10855000B6B3C9B9A62E2E00BBD8B8B4CAA7B0DC32 +:10856000A3A10000BBD8B8B4B3C9B9A6A3A10000A9 +:10857000BBD8B8B42DD4C6B6CBCDF8C2E7C9FDBCC4 +:10858000B6B3C9B9A62E2E00BBD8B8B4B3C9B9A624 +:10859000A3A10A00FFB5054640182038827FC07F9E +:1085A000891E0002101884B285B089B22846FAF7F5 +:1085B000C1FBA04202D0F02009B0F0BD1220142669 +:1085C00002900024304603F00BFB31460190EFF798 +:1085D000C0FDA97A687A0902401883B20298312155 +:1085E00082B20198FEF71EF801200090EE7B232E48 +:1085F00000D92326002E2DD9E0004019C17C077D2B +:108600000A02817C11430A02417C11430A02017C67 +:108610001143C27D1302827D1A431302427D1A4820 +:108620001A43120208181743024603903B4617A14B +:108630000120F7F7A7FA38460399FBF7CDFF039817 +:10864000FBF7DAFEB84201D002200090641CE4B2CD +:10865000B442D1D3FBF73AFC01990098C873029851 +:1086600081B20198FAF742FB089800900E4802AADE +:10867000007B079B0199F6F7E7FF019802F0FEFAED +:10868000002009B0F0BD000000E8080074656D70BE +:108690005F6F66667365743A25303858206461747C +:1086A000613A256400000000AA000020FFB5012502 +:1086B000AD0281B01E460F4600285CD001287DD057 +:1086C00002287CD0032854D1A74C1C202018027803 +:1086D00011464278120211438278C0781204114385 +:1086E000000601431846FBF78CFF1C202018027877 +:1086F00011464278120211438278C0781204114365 +:10870000000601433846891CFBF73CFF1C2020185B +:1087100001780A46417809020A438178C078090441 +:108720000A43000602433146D21C0398FBF7A4FD1E +:108730001C2021180A7810464A78120210438A78C1 +:10874000C978120410430906084340192077010A2A +:108750006177010CA177010EE1778449884208D93D +:10876000972000032077010A6177010CA177000EA2 +:10877000E07705B0F0BD7E4C082020180278114645 +:108780004278120211438278C07812041143000625 +:1087900001431846FBF735FF0820201802781146E0 +:1087A0004278120211438278C07812041143000605 +:1087B00001433846891CFBF7E5FE01E035E083E024 +:1087C0000820201801780A46417809020A43817876 +:1087D000C07809040A43000602433146D21C0398BC +:1087E000FBF74AFD082021180A7810464A78120241 +:1087F00010438A78C97812041043090608434019C7 +:108800002072010A6172010CA172010EE1725949D4 +:108810008842AED9912000032072010A6172010CD6 +:10882000A172000EE07205B0F0BD534C2279E079E0 +:1088300011466279000612021143A2791204114313 +:1088400001431846FBF7DDFE2279E0791146627993 +:10885000000612021143A279120411430143384663 +:10886000891CFBF78FFE2179E0790A4661790006C1 +:1088700009020A43A17909040A4302433146D21C82 +:108880000398FBF7F9FC2279E17910466279090631 +:1088900012021043A27912041043084340192071B8 +:1088A000010A6171010CA171010EE1713349884225 +:1088B000B9D9932000032071010A6171010CA171E3 +:1088C000000EE07105B0F0BD2D4C2278E078114625 +:1088D0006278000612021143A27812041143014388 +:1088E0001846FBF78EFE2278E07811466278000683 +:1088F00012021143A2781204114301433846891C25 +:10890000FBF740FE2178E0780A466178000609020C +:108910000A43A17809040A4302433146D21C039852 +:10892000FBF7AAFC2278E178104662780906120269 +:108930001043A27812041043084340192070010A22 +:108940006170010CA170010EE1700E498842B9D925 +:10895000952000032070010A6170010CA170000EC7 +:10896000E07005B0F0BD0000C4120020FF7F0900D8 +:1089700087060020FF1F0900A60A0020FF3F09000C +:10898000C50E0020FF5F09000FB410B503A9044B0A +:10899000044A029800F032F910BC08BC04B0184731 +:1089A0006DAC0100780200200FB41CB50246002017 +:1089B00007AC00290BD0491E01910092064B6A4674 +:1089C0002146069800F01AF9009A002111701CBC8B +:1089D00008BC04B018470000359301000FB410B56F +:1089E00004A9074B02AA039800F008F9044602A95B +:1089F000002000F0AAFC204610BC08BC04B01847B8 +:108A00004B93010010B5024B024A00F0F7F810BD7D +:108A10006DAC0100780200202021020C01D0102151 +:108A20001046020A01D010460839020901D010464A +:108A3000091F820801D01046891E420801D0881EF5 +:108A40007047081A7047002101608180817170476A +:108A500030B47446641E2578641CAB4200D21D46B7 +:108A6000635D5B00E31830BC184702E008C8121FC2 +:108A700008C1002AFAD170477047002001E001C107 +:108A8000121F002AFBD17047F0B51FB486B00998B9 +:108A9000089A030D0021024314D05148514A181876 +:108AA000504305141198012810981AD0281A401C18 +:108AB00000264D4F4D49009601910490002812DA8E +:108AC000444211E01198012449A3012801D11098D2 +:108AD000C1430698119A84600360C26041600BB084 +:108AE000F0BD4042E4E70446210500203F4A001C57 +:108AF00051410391029012E0E00707D032463B4615 +:108B000001990098EFF74CFC0191009032463B46EA +:108B100010461946EFF744FC06460F466410002C39 +:108B2000EAD10498039B0028029A0999089806DA6A +:108B3000EFF736FC019B009AEFF732FC05E0EFF708 +:108B400097FC019B009AEFF793FC04460E46002227 +:108B5000284BEFF725FD03D80020C043014607E06E +:108B60000022254B20463146EFF768FBEFF7F8FC73 +:108B7000102409E0002C0ADB0A220023EFF72EFB69 +:108B8000079B30321A55641E02460A43F2D1112265 +:108B9000641C079B121B1C19119B012B03D0012382 +:108BA00008430ED10AE0084304D0112010900020A1 +:108BB000119077E71098151A6D1E0BE010988242FD +:108BC00002DD00236D1C03E0824201DA00236D1EEA +:108BD000002BEED0069811998260C16030C07EE70C +:108BE00001FCFFFF104D0000000014400000F03FAA +:108BF000300000000000F0430000E03FFFB597B0F8 +:108C00000646002518E2252877D100242746FD498D +:108C1000049400E00443761C32780120203A90400E +:108C20000842F7D130782A280ED002223078014647 +:108C30003039092916D804990A2359433039401884 +:108C40001443761C0490F1E7189802C80491189018 +:108C5000002904DA01204003044348420490022022 +:108C60000443761C30782E2814D1042004437078F5 +:108C7000761C2A2809D11898761C80C8189009E01B +:108C80000A214F43303FC719761C307801463039EE +:108C90000929F5D930786C2810D006DC4C281AD078 +:108CA00068280ED06A2817D104E0742813D07A28D7 +:108CB00012D110E00120400504430CE00121090518 +:108CC00001E0032109050C437178814203D10120A1 +:108CD00000052418761C761C3078119066280BD07D +:108CE00013DC58287DD009DC00287BD04528F6D03D +:108CF0004628F4D047281AD1A5E118E0632835D0DA +:108D0000642870D0652812D19DE170286CD008DCF1 +:108D10006728F1D069287BD06E280DD06F2806D146 +:108D2000BAE073282ED0752871D0782859D01A9AB5 +:108D3000199990476D1C7EE16002400F022809D00E +:108D400003280DD00428189801680DD00D60001D6F +:108D5000189070E11898EA1701680D604A60F6E70C +:108D6000189801680D80F2E70D70F0E718986A46D0 +:108D700001781172001D18900020507202A8009016 +:108D8000012005E0189802C8189000200091C04307 +:108D900061070DD5002101E00199491C0191B942FB +:108DA00012DA8142F8DB009A515C0029F4D10BE021 +:108DB000002101E00199491C01918142FADB019AED +:108DC0000099895C0029F5D1019904981A9B471AEA +:108DD00021463846199A00F097FA0199401945182A +:108DE0000BE04FE02CE113E04EE000980099007892 +:108DF000491C00911A9A199990470198401E0190B8 +:108E0000401CF2D1214638461A9B199A10E137E0EE +:108E10000A200021009001916002410F022907D031 +:108E2000189A01CA1892C2179446032908D00AE07A +:108E30001898C01DC108C90005C91891944607E0DB +:108E400000B2C2179446042902D140B2C1178C4621 +:108E500000226146944506DA0A46002140429141CB +:108E60008C462D2102E0210504D52B216A46117381 +:108E7000012103E0E10701D02021F7E7029155E04D +:108E80000A200AE0102008E01020009000210420B1 +:108E900004430191082703E008200021019100907C +:108EA0006002410F022907D0189A01CA18920022C5 +:108EB0009446032908D008E01898C01DC108C900CD +:108EC00005C91891944603E080B2042900D1C0B2CC +:108ED00000210291210729D51199702906D0009A05 +:108EE0001021019B4A401A4305D00EE040216A46FA +:108EF0001173012108E06146014306D030216A4622 +:108F000011731199517302210291009A0821019B5A +:108F10004A401A430AD16146014301D1610705D590 +:108F200030216A46117301217F1E0291119958293F +:108F300004D035A10E910DA90D910DE037A1F9E7EF +:108F40006146019B009AEFF749F90E9B8C469B5CAA +:108F50000D9A521E0D92137061460143F0D10D9887 +:108F600005A9081A20300190600703D501200004EC +:108F7000844300E001270198874201DD381A00E0B0 +:108F80000020019900904118029809180498401A8D +:108F90000490E00306D421461A9B199A049800F025 +:108FA000B3F94519002706E003A81A9AC05D19997C +:108FB00090476D1C7F1C02988742F5DBE0030CD5BF +:108FC00021461A9B199A049800F09EF9451904E06D +:108FD0001A9A3020199990476D1C0099481E0090EC +:108FE0000029F5DC08E00D980D990078491C0D91D9 +:108FF0001A9A199990476D1C0199481E01900029F1 +:10900000F1DC63E109280100303132333435363781 +:1090100038396162636465660000000030313233C4 +:109020003435363738394142434445460000000064 +:1090300000F05AF94519761C3078002800D0E2E596 +:1090400028461BB0F0BD600700D406271898C01D45 +:10905000C108C90048680A680831C30FDB071891C6 +:10906000190001D09CA108E0210501D59BA104E0D5 +:10907000E10701D09AA100E09AA1430011985B0892 +:10908000109165280CD006DC452809D046281DD053 +:10909000472841D141E0662818D067283CD13CE000 +:1090A0000021112F01DB112000E0781C01910090BC +:1090B00008A911A8FFF7E8FC139905910021119A5E +:1090C00015927F1C12980197009150E00120C00773 +:1090D00003900120019008A9009711A8FFF7D4FC84 +:1090E000139A149905920022119B009212981593DD +:1090F000059A0192002901D0104602E0791C40181F +:109100000190381A01D5019804E04042401E0090B9 +:10911000781C0190C01B029043E0012F00DA012768 +:109120000021112F01DD112000E03846019100904F +:1091300008A911A8FFF7A8FC13990591119A00211D +:10914000129815920091019721070CD40599B94204 +:1091500001DB019900E00191012904DD159A491E06 +:10916000515C302906D0B84201DA011D05DA01212F +:10917000029115E00199491EEDE7002805DC0099F0 +:10918000411800910199091A03E0019A411C91428A +:1091900000DD01910099401A401C02900120C00797 +:1091A0000390200706D402990198814202DB002037 +:1091B000C043029000206946C87707AF0121039899 +:1091C0000337C907884224D0022011902B20129027 +:1091D000039800280CDA404203902D20129007E0FB +:1091E0000A210398EEF772FF30317F1E0390397029 +:1091F0001199481E11900029F2DC03980028EFD144 +:10920000791E129808703078202108404530BF1E22 +:10921000387006A8C01BC01D039010980078002865 +:1092200000D00120019941180298C017091803982D +:1092300009180498401A401E0490E00306D4214601 +:109240001A9B199A049800F05FF845191098007855 +:10925000002803D01A9A199990476D1CE00324D571 +:1092600021461A9B199A049800F04EF845191CE003 +:109270000098002807DB00990598884203DD1598BF +:10928000405C199901E0199930201A9A904700988A +:109290006D1C401C00900298401E0290002804D1D2 +:1092A0001A9A2E20199990476D1C0199481E019019 +:1092B0000029DDDC05E038781A9A7F1C199990475F +:1092C0006D1C0399481E03900029F4DC21461A9B6B +:1092D000199A0498ACE600002D0000002B00000055 +:1092E0002000000000000000F8B5044600251E46DE +:1092F0001746880404D405E039462020B0476D1C89 +:10930000641EF9D52846F8BDFFB50446002581B096 +:109310001E46C80301D5302700E02027880404D565 +:1093200005E038460399B0476D1C641EF9D5284600 +:1093300005B0F0BD4A68002A06D00A68531C0B60CD +:1093400010704868401E486070470A68531C0B60E4 +:1093500010707047F7B53049034648682E4C81B00D +:109360004978A5780095A66865688646AF19E568CE +:10937000246900202E19009C8446002913D0002C5B +:1093800013D126498869186049690120491EA942FC +:1093900013D38E4211D3029C012C0ED902205960A6 +:1093A00001218C4609E0002C07D07146724501D29C +:1093B0000A4602E0974200D23A460097974229D9DE +:1093C0001168CC0722D0491EA9421FD38E421DD35B +:1093D00010281BD20C1F27886488BE46E70A1F2F5F +:1093E00003D17746FF0A1E2F02D0240A472C0DD145 +:1093F000029CA0420AD2022805D16446002C02D069 +:109400005C688C4202D084001951401C0099121DE6 +:109410009142D5D804B0F0BD64000020082B002094 +:10942000F0B545480C468BB0466C056CC26C816C3F +:109430005030009202910FC806AF0FC73F48017825 +:1094400000290BD04178002911D03D4A3DA140A010 +:10945000FFF79AFA46A0FFF797FAFEE7384A45A1C8 +:109460003BA0FFF791FA42A0FFF78EFAFEE73348E0 +:109470000121417041A0FFF787FA3DA0FFF784FA70 +:109480003F4F404B404A41497868FFF77DFA4048DA +:10949000FFF77AFAF86AFFF777FA35A0FFF774FA60 +:1094A0002046203005902548807800283ED1386B32 +:1094B000FFF76AFA2EA0FFF767FA2068354F844657 +:1094C000386061687960A068B860E368FB60226911 +:1094D0003A6162697A61A269BA61E269FA61029AE3 +:1094E000009C0493019200910290039433466246DB +:1094F000294629A0FFF748FA1DA0FFF745FA08986A +:10950000FB69099AB96901AC0FC478690090079B9F +:109510003A6921A00699FFF737FA15A0FFF734FA48 +:1095200028A0FFF731FA12A0FFF72EFA059803F0F2 +:1095300011F80BB0F0BD000030F201006400002013 +:109540005CF20100216F6E5F6661756C7400000053 +:1095500028257329206861732061737365727420F4 +:109560006661696C65642061742025732E000000BB +:109570000D0A0000696E69745F6F6B0000000000E7 +:10958000B0F10100582A0020382A0020182A0020B3 +:109590002C960100082B0020202025733A2025302E +:1095A0003878202025733A202530387820202573FC +:1095B0003A2025303878202025733A202530387815 +:1095C000000000003D3D3D3D3D3D3D3D3D3D3D3DBF +:1095D0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DBB +:1095E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DAB +:1095F0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D9B +:109600003D3D000010B50548054B4068054A064938 +:10961000FFF7BAF905A0FFF7B7F910BDB0F10100E7 +:10962000582A0020382A0020182A00200D0A00009D +:1096300070B50D461446014620221248EEF794FDFF +:10964000202229461048EEF78FFD202221460F48A0 +:10965000EEF78AFD0F4A0E480F495060081A0F496D +:109660000F4BD160591A90601161002802D001207F +:10967000107070BD0B480068FFF786F90AA0FFF76D +:1096800083F970BD182A0020382A0020582A0020AB +:10969000405C002064000020406C0020008000003E +:1096A00000FB0100B0F101000D0A000070B50400DC +:1096B0000ED0256A002D0BD0A87C082808D10846BA +:1096C000EEF779FDA96A884202D1204600F092F9AE +:1096D00070BD0000F1B582B00298002600287DD050 +:1096E000046A002C7AD0A06C504D411C012700293F +:1096F0000BD03C211E30EEF7E9FCA84200D92846E9 +:109700000004000C208400D12784E06C411C0BD0A5 +:109710003C211E30EEF7DAFCA84200D928460004AE +:10972000000C608400D1678420462C3000D0E06AB1 +:10973000009000280ED102F07BFC000E7F2802D89A +:10974000FF20000603E0C0280CD3FF20C04301F037 +:10975000BFFA00902046303000D0206B01900028E6 +:1097600003D00CE03148C043F1E7A06A00990840FB +:109770000190012001F0ACFA0199084301902146C3 +:1097800028310D46029802F0F7FB2946284DA26ABF +:109790002868824200D001260878287048786870CE +:1097A0008878A870C878E8706946029802F026FCAC +:1097B000A8680099814200D0012668460078287286 +:1097C00068464078687268468078A8726846C078B3 +:1097D000E87201A9029802F0C3FB00E01CE068688F +:1097E0000199814200D001266846007928716846B7 +:1097F0004079687168468079A8716846C079E871D7 +:10980000029802F006FC0A21204600F0FDFD002E21 +:1098100003D00020F5F76AFAFEBD064C2078002838 +:10982000FAD1F5F763FA2770FEBD0000FFFF0000D4 +:10983000AC4D00206001002070B5046A0546082187 +:10984000204600F0E1FD214600222831284600F0A4 +:10985000F5FFE07C401CE0740120E08370BD000057 +:1098600010B51648046826E0216A002922D0488CE9 +:10987000421E4A84012806D0216A088C421E0A84AE +:1098800001280CD016E0216A2046897C012903D0EA +:109890000A2901D005290DD100F026FB0AE0216A32 +:1098A0002046897C012903D00A2901D0052901D14C +:1098B00000F0C4FC2468002CD6D110BD900100201B +:1098C000F8B5050010D02C6A002C10D00022FF2122 +:1098D0003531104602F054FC606100280AD0E27C69 +:1098E0004249002A09D00BE00920C043F8BD0820F6 +:1098F000C043F8BD0020C043F8BD4A68521C4A600E +:109900004968216041680120A1610870A1690026B1 +:109910004870A16906208870A069C670206801F0AF +:10992000D7F9A169091DEEF750FCA069310A06724A +:109930004172A069310A8672C172A16900200C319E +:10994000EEF743FCA07C0A2803D0052801D00428A8 +:1099500004D1A16968680C31EEF737FCA1690020D9 +:109960001031EEF732FCA16900201431EEF72DFC26 +:10997000A16900201831EEF728FC0020294620318B +:109980008A7A824203D92A182032D27A00E0002251 +:1099900007461C37A369401C80B2DA551028EFD364 +:1099A000002001462C31A269401C80B25654402848 +:1099B000F7D3002001466C31A269401C80B2565496 +:1099C0008028F7D30A4801F083F9A169EC31EEF75A +:1099D000FCFBA68300200146A269F0315054401CD4 +:1099E00080B24428F7D30020F8BD000060010020B9 +:1099F00063538263F8B50546046A002000900C2189 +:109A0000204600F001FD2846FFF75AFF060046D128 +:109A100001223521204600F0CBF90421204600F038 +:109A2000D7F904223221204600F0C2F9A06A02F0E0 +:109A3000FFFA0146204600F0D3F9042236212046E1 +:109A400000F0B6F9606A02F0F3FA0146204600F031 +:109A5000C7F907223D21204600F0AAF929462B31FB +:109A6000204600F0DEF9204600F026FAA08BF03008 +:109A700081B2606902F007FDA169A06A0C31EEF7BE +:109A8000A4FB6F680098686000954323074A6169EA +:109A9000606805F0BAFA28466F6000F009F8E07CCB +:109AA000401CE0740420E0833046F8BDBFF20100A2 +:109AB00010B500280AD0046A002C07D0606900287D +:109AC00001D002F08BFC00206061A06110BD00009D +:109AD000F8B505460020009031482C6AEEF76BFB84 +:109AE000A0620621204600F08FFC2846FFF7E8FE22 +:109AF00006003DD101223521204600F059F901210F +:109B0000204600F065F902223921204600F050F984 +:109B1000298D204600F0BFF904223721204600F0AD +:109B200047F90121204600F053F90321204600F0B7 +:109B30004FF91C21204600F04BF90621204600F089 +:109B400047F9204600F0B8F9A08BF03081B2606987 +:109B500002F099FC6F680098686000954323114AF1 +:109B60006169606805F051FA28466F60FFF7A0FF51 +:109B7000E07C401CC0B2E074062802D20121814082 +:109B800000E03C217D20C000414388B2FF21FF302E +:109B9000F531F430EEF79AFAE0833046F8BD000074 +:109BA000BBF20100BFF2010070B510480025052688 +:109BB000046817E0216A002913D0C88B012802D954 +:109BC000401EC8830DE001280BD1CD83204600F054 +:109BD0008DFC0120F5F78AF8206AC18B052900D990 +:109BE000C6832468002CE5D170BD000090010020E0 +:109BF00070B5044680680025002802D002F026F8DF +:109C0000A560E068002803D002F020F8E560258216 +:109C100070BD01780A064178090411438278C07842 +:109C200012020A431043704770B5C3680024002B2A +:109C30003BD0068A002E38D0002210E0342D03D00D +:109C40008D4206D1981870BD921C92B29C5C521C39 +:109C500004E0521C92B29D5C521CAA1892B2964229 +:109C600002D99D5CFF2DE9D1002C1ED0012C06D01D +:109C70008068022C08D0C02300222C3012E08068BB +:109C8000802300226C300DE04023F5E78C4201D1A7 +:109C9000801870BD521C92B2845C521CA21892B201 +:109CA0009A4202D2845CFF2CF0D1002070BD0000EB +:109CB000F8B5046A0020E062206360633321204627 +:109CC000FFF7B2FF002803D0801CFFF7A2FF6064FB +:109CD0003A212046FFF7A8FF002803D0801CFFF799 +:109CE00098FF01E0606C4008A0643B212046FFF72C +:109CF0009BFF002803D0801CFFF78BFF00E0606C07 +:109D0000E064A0680146103136D01030EEF753FA07 +:109D1000A06201212046FFF787FF002805D0801CA4 +:109D2000FFF777FF00F0D4FFE06203212046FFF742 +:109D30007BFF002805D0801CFFF76BFF00F0C8FFF9 +:109D400020631C212046FFF76FFF002805D0801CF0 +:109D5000FFF75FFF00F0BCFF606306212046FFF7BE +:109D600063FF060020D070788008A063022801D924 +:109D70000220A063002510E00020C9E7AF00B81959 +:109D8000801CFFF746FF00F0A3FF3919C86328467F +:109D90003C3100F01DFC6D1CEDB2A06BA842EDD86B +:109DA0000249284600F014FCF8BD0000BBF2010097 +:109DB00010B5838B8469E4185B1C8383E0342174C1 +:109DC000818B83695B18491C8183E0331A7410BD51 +:109DD000828B83699B18521C8283E033197470470D +:109DE00010B5828B83690C0E9B18521C8283E03362 +:109DF0001C74828B84690B0CA418521C8283E0347F +:109E00002374828B84690B0AA418521C8283E03469 +:109E10002374828B83699B18521C8283E0331974EC +:109E200010BD10B5828B836901249B18521C82835C +:109E3000E0331C74828B83690C789B18521C8283DC +:109E4000E0331C74828B83694C789B18521C82838C +:109E5000E0331C74828B83698C789B18521C82833C +:109E6000E0331C74828B8369CC789B18521C8283EC +:109E7000E0331C74828B83690C799B18521C82839B +:109E8000E0331C744B79818B82695218491C8183A1 +:109E9000E032137410BD10B5828B83690C0A9B18D5 +:109EA000521C8283E0331C74828B83699B18521C82 +:109EB0008283E033197410BD002814D0818B82692D +:109EC000FF235218491C8183E0321374002305E0FC +:109ED00082695218491C8183E0321374818B4429B2 +:109EE000F6D38A07F4D17047F8B5046A074604210F +:109EF000204600F089FA3846FFF7E2FC060037D129 +:109F0000012235212046FFF753FF03212046FFF7AA +:109F10005FFF022239212046FFF74AFF398D204694 +:109F2000FFF7B9FF7D6A002D0FD02846EEF733F911 +:109F3000C2B20C212046FFF73BFF03E020466D1C18 +:109F4000FFF746FF29780029F8D12046FFF7B4FF34 +:109F5000A08BF03081B2606902F095FA009743233C +:109F60000E4A6169606805F050F83846FFF7A0FDB9 +:109F7000E07C401CC0B2E0740A2803D27D21C900F5 +:109F8000484300E00648FF2180B2FF30F531F4304D +:109F9000EEF79CF8E0833046F8BD0000BFF2010008 +:109FA00010270000F8B5046A06460321204600F099 +:109FB0002BFA3046FFF784FC050031D10122352110 +:109FC0002046FFF7F5FE03212046FFF701FF02229E +:109FD00039212046FFF7ECFE092189012046FFF7D1 +:109FE0005AFF042232212046FFF7E2FEA06A02F067 +:109FF0001FF801462046FFF7F3FE2046FFF75CFFFF +:10A00000A08BF03081B2606902F03DFA00964323E4 +:10A010000E4A6169606804F0F8FF3046FFF748FDBA +:10A02000E07C401CC0B2E0740A2803D27D21C90044 +:10A03000484300E00648FF2180B2FF30F531F4309C +:10A04000EEF744F8E0832846F8BD0000BFF20100B7 +:10A0500010270000F8B50446056A50895168164675 +:10A060002C282DD3087802282AD100202A22125D1C +:10A0700008E0231820330F18DB7A3F7FBB4276D1EC +:10A08000401CC0B28242F4D8081DEEF794F801F0EB +:10A09000CFFF296888426AD13146284600F062FA2B +:10A0A000002864D135212846FFF7BEFD00285ED088 +:10A0B00080780027052804D0062819D0022839D036 +:10A0C00055E0A87C012806D003280CD004280AD02B +:10A0D000052808D04BE02046FFF7EAFDEF83204635 +:10A0E000FFF7AAFB43E0EF832046FFF7F3FA3EE0D9 +:10A0F000A87C032805D0012803D0042801D0052816 +:10A1000035D1EF832046276A01F022FF1C49204603 +:10A1100001F032FF1A49204601F022FF184920467B +:10A1200001F06CFF0C21384600F06EF92046FFF775 +:10A13000CFFC1CE0A87C062819D1EF832746246AAF +:10A1400036212046FFF770FD002810D0801CFFF755 +:10A1500060FD00F0BDFD6062A068014610310DD0C9 +:10A160001030EEF728F8A062384600F0C3F8284611 +:10A17000FFF73EFD304602F031F9F8BD0020F2E76E +:10A18000BBF20100F8B5046A05460D21204600F037 +:10A190003BF900206062E062A06260632063E064DB +:10A1A000A0646064A0632846FFF78AFB06001CD108 +:10A1B000012235212046FFF7FBFD07212046FFF74E +:10A1C00007FE2046FFF778FEA08BF03081B2606971 +:10A1D00002F059F9009522464323243261696068F0 +:10A1E00004F013FF2846FFF763FCE07C401CC0B27C +:10A1F000E0740A2803D27D21C900484300E00D48DD +:10A20000FF2180B2FF30F531F430EDF75FFFE083DE +:10A21000284601F09DFE0849284601F0ADFE06499A +:10A22000284601F09DFE0449284601F0E7FE30462D +:10A23000F8BD000010270000BBF20100F8B5046A69 +:10A2400007460521204600F0DFF83846FFF738FBC7 +:10A25000060038D1012235212046FFF7A9FD032150 +:10A260002046FFF7B5FD022239212046FFF7A0FD69 +:10A27000398D2046FFF70FFE7D6A002D0FD028464E +:10A28000EDF789FFC2B20C212046FFF791FD03E0F4 +:10A2900020466D1CFFF79CFD29780029F8D1204647 +:10A2A000FFF70AFEA08BF03081B2606902F0EBF894 +:10A2B00000972246432324326169606804F0A5FEBA +:10A2C0003846FFF7F5FBE07C401CC0B2E0740A287A +:10A2D00003D27D210901484300E00548FF2180B2F7 +:10A2E000FF30F531F430EDF7F1FEE0833046F8BD94 +:10A2F000204E0000F8B5046A06460121204600F011 +:10A3000083F83046FFF7DCFA070064D101223521DB +:10A310002046FFF74DFD03212046FFF759FD02229D +:10A3200039212046FFF744FD318D2046FFF7B3FD6C +:10A33000042232212046FFF73BFDA06A01F078FE9F +:10A3400001462046FFF74CFD042236212046FFF748 +:10A350002FFD606A01F06CFE01462046FFF740FDCC +:10A36000042237212046FFF723FD01212046FFF775 +:10A370002FFD03212046FFF72BFD1C212046FFF770 +:10A3800027FD06212046FFF723FD756A002D0FD01B +:10A390002846EDF700FFC2B20C212046FFF708FD6A +:10A3A00003E020466D1CFFF713FD29780029F8D142 +:10A3B0002046FFF781FDA08BF03081B2606902F08A +:10A3C00062F8009643230F4A6169606804F01DFE3D +:10A3D0003046FFF76DFBE07C401CC0B2E0740628FD +:10A3E00002D20121814000E03C217D20C000414398 +:10A3F00088B2FF21FF30F531F430EDF767FEE083DE +:10A400003846F8BDBFF20100827C8A4202D08174D6 +:10A410000021C17470470000F8B5040035D026460D +:10A420002036707CF7210840256A7074208D092140 +:10A4300000278901FF43884225D3002D28D0686872 +:10A44000002801D004F0ACFD50212846EDF781FE34 +:10A4500004F096FD6860002821D04422154904F0DC +:10A46000EBFB43221349686804F034FC224612498E +:10A47000686804F092FD2046FFF72AFB002814D0FC +:10A48000204600F01BF83846F8BD0920C043F8BD4F +:10A49000502001F019FC0500F5D02562D4E72846CC +:10A4A00001F0D4FB00202062EDE7717C082211430B +:10A4B0007174F8BDBBF2010055A0010070B5040035 +:10A4C000256A12D020462030417CF7221140417489 +:10A4D000002D0AD068680026002802D004F060FD34 +:10A4E0006E60284601F0B2FB266270BD10B5026AAC +:10A4F0000446917C0C2912D0062910D0012911D0D4 +:10A5000008291BD0052923D0042924D0032905D1EB +:10A51000D07C022810D22046FFF744FD10BDFFF783 +:10A52000D7FA10BDD07C052803D82046FFF7E2FEFD +:10A5300010BD2046FFF726FE2046F0E7D07C01281C +:10A54000204602D8FFF778F910BDFFF7C3F810BD19 +:10A55000FFF774FE10BDD07C0828EAD82046FFF72C +:10A56000C3FC10BDF8B50E46040023D0FFF740FB36 +:10A57000308900256F1EF02807D9F03880B220827C +:10A5800001F0A2FBE060002817D0F02001F09CFB56 +:10A59000A060011E13D00023F022304601F0E9FE36 +:10A5A000E168002904D0228AF023304601F0E1FE60 +:10A5B0000020F8BD0920C043F8BD258206E0E06810 +:10A5C000002803D001F042FBE560F6E73846F8BD0D +:10A5D00070B505460C46022812D20A484068002889 +:10A5E0000ED0002C0CD00846EDF7E5FD002807D072 +:10A5F0000449A8000831401804222146EDF790FDD7 +:10A6000070BD000034020020F7B584B006007DD094 +:10A61000069840892B287AD30698456801202C4655 +:10A620000F3400F057FB6178227809021143884209 +:10A630007CD1414800F04EFB01466079227900024E +:10A640001043814272D10120C00200F043FB014659 +:10A65000E078A27800021043814267D1374800F0C9 +:10A6600039FBAA7B6B7B1102194388425ED12146DC +:10A670000E31042202A80091EDF752FD2146183157 +:10A68000042203A80191EDF74BFD7068002805D066 +:10A690000399814202D101273B4601E000273B4656 +:10A6A0002246083202A9304604F024FDE079A1795F +:10A6B0000002084300F00EFB012802D0022835D129 +:10A6C00026E0002F32D0022000F004FBA071000A27 +:10A6D000E071042200990198EDF722FD0422311D5A +:10A6E0000098EDF71DFD0621491EC9B26018027AD7 +:10A6F00082746B185A70059A0029525C0272059890 +:10A70000405CD871F0D1B26906990DE011E00DE01E +:10A7100002A93046FEF7CAFF09480168002905D0A2 +:10A72000C268002A02D002A930469047069801F07C +:10A7300055FE07B0F0BD000004060000060800004A +:10A74000104E002070B5050011D04C6820461B301B +:10A750000646EDF730FDA9686A6808400A40904255 +:10A7600005D10023E21D3146284604F0C3FC70BD2C +:10A77000FEB50E46044615460F21304601F050FE48 +:10A78000002802D00120C043FEBD2146284600F02B +:10A7900039FC002801D0284B2FE02846EDF70BFDAF +:10A7A00007460F20000701F043FC07400720400741 +:10A7B00001F03EFC874227D101216846017000214B +:10A7C00041705E2181702846EDF7F5FC01F030FC08 +:10A7D0004002410E6846C1702846EDF7ECFC01F0DE +:10A7E00027FC010A684601712846EDF7E4FC01F0F8 +:10A7F0001FFC0146684641716B4622462B323146AA +:10A80000204600F0E1F8FEBD2846EDF7D4FCA16833 +:10A81000626808400A40904204D0E068002807D0EF +:10A8200025460C3532462946204600F007F8FEBD85 +:10A830000320C043FEBD0000C3F20100F7B586B09F +:10A8400006980D462B3000900020C043019014461E +:10A850002846069900F0D6FB002827D12846EDF7B8 +:10A86000AAFC06460F20000701F0E2FB0640072085 +:10A87000400701F0DDFB864218D0002D16D0284697 +:10A88000EDF799FC002811D00121284600F066F967 +:10A8900000280DDB144E070170683918887A0028EB +:10A8A00008D0012808D0002C06D00EE00920C043B3 +:10A8B00009B0F0BD01208872F7F7AAFB2946069877 +:10A8C00000F070F80190002C0BD070683B18987A5B +:10A8D000022806D121461B1D009A069800F074F844 +:10A8E00001900198E4E70000E8010020FFB581B085 +:10A8F0001F4600222B21032001F042FC06004AD013 +:10A9000075680D982C460F3400F0E4F9A071000A28 +:10A91000E0710620401EC0B23A5C21180A720B9A00 +:10A92000125C8A7403990A5C29184A70029A0028FA +:10A93000125CCA71EED1204604220E300A99EDF75E +:10A94000EFFB2046042218300C99EDF7E9FB0120BB +:10A9500000F0C0F92070000A60700120C00200F011 +:10A96000B9F9A070000AE0700C4800F0B3F920714A +:10A97000000A60710A4800F0ADF96873000AA87314 +:10A9800001983146826990470446304601F026FD21 +:10A99000204605B0F0BD0020C043FAE704060000E1 +:10A9A000060800001FB501230393064C021D034651 +:10A9B000009202912B3301941946A21FFFF796FFD4 +:10A9C00004B010BDC9F20100F8B54D680E46074647 +:10A9D0000624641EE4B22819195D4170115DC1712D +:10A9E000002CF6D10120C00200F074F96873000A4F +:10A9F000A873BA69314638469047F8BD30B50F495B +:10AA000000200F4C4B6814E00101C918CA7A521C8F +:10AA1000D2B2CA728D7A022D02D0012D03D006E087 +:10AA2000F02A02D203E0022A01D300228A72401CDB +:10AA3000C0B2E1688142E7D830BD0000E8010020E3 +:10AA4000F04D002070B5044640680D46817B427B86 +:10AA50000802104300F03EF90121C902401A04D057 +:10AA6000062816D00F49C8420AD121462846FFF7CA +:10AA700069FE0E21C943204601F0D2FC002803D014 +:10AA8000204601F0ABFC0AE02946204600F084FB9A +:10AA900005E0294622462B312846FFF7B5FD002068 +:10AAA00070BD00004F66FFFF10B5FFB081B00446D7 +:10AAB00068460B496062EDF775FB20466521203042 +:10AAC000E56181746E21C174064860610648A06129 +:10AAD000204600F051FD7FB0002001B010BD000005 +:10AAE0008054002071A701000DB7010070B5054624 +:10AAF0001648C16B002927D0154A5178491C51705E +:10AB0000144A80211160C06B134A0006000E1160C8 +:10AB10001AD0284600F08EFD040015D06068817BB5 +:10AB2000427B0802104300F0D5F80121C902401A07 +:10AB300001D0062805D12A692946204690470028D9 +:10AB400002D0204601F04AFC70BD000034550020C0 +:10AB5000F001002080E100E000E100E0F3B54148B1 +:10AB600087B0C76800247DB202943F4901950394E1 +:10AB7000009507984E6800284DD00846007805904B +:10AB8000000104908019807A022844D10798EDF7DB +:10AB900012FB0499715888423DD1059840B209B022 +:10ABA000F0BDAF4204D120018019807A002809D07D +:10ABB0002001059080190490807A012804D0022891 +:10ABC00016D026E065B224E00798002807D0EDF7FC +:10ABD000F2FA05997158884201D123483FE0049860 +:10ABE0000399C07A884214D361B20191039010E0B6 +:10ABF0000798002805D0EDF7DEFA059971588842CC +:10AC0000EBD004980299C07A884202D361B20091D5 +:10AC10000290641CE4B2A742C3D80020C043AF42F4 +:10AC200002D10899C907BAD008998907B7D4AF42A9 +:10AC300001D9ECB206E000998F4202D801998F4207 +:10AC4000ADD9CCB227010020BD19A8720798002801 +:10AC500002D0EDF7B0FAF05100210348E972047018 +:10AC600060B29CE7F04D0020E80100200249CA7A5A +:10AC7000082AFCD0087270470030004010B5002848 +:10AC800023D0124B0022001F196803E0814203D831 +:10AC90000A4649680029F9D1002A0AD01368841AA3 +:10ACA0009C4204D1006818181060104602E0506001 +:10ACB00000E01860002907D002680B1A934203D104 +:10ACC0000B68D21802604968416010BD7C02002008 +:10ACD00000BA704740BA704710B50A46032100F029 +:10ACE000FBF810BDF3B54568044668782978000282 +:10ACF00089B0084301F09EF90005000F8000414231 +:10AD000007900091204601F08BFB002824D1208978 +:10AD1000042821D366683078032802D00828F5D1AA +:10AD20001BE0707C327C0002104331460831377AD8 +:10AD3000000A0D4601900422103103A8EDF7F0F946 +:10AD40003807800E28188178C0780902014373788B +:10AD5000019A0398F7F79AF9B6E0284610300126D1 +:10AD60000490EDF728FA07460F20000701F060F97C +:10AD700007400720400701F05BF9874200D1002619 +:10AD80000A99049800F03EF9002802D0F8F740FE36 +:10AD90009AE0F8F73DFE00287ED0002E7CD0208976 +:10ADA000082879D3204600F0D2F8002874D1222157 +:10ADB000204601F035FB00281DD02046079901F000 +:10ADC0002FFB002868D121890022022001F0D8F948 +:10ADD000060079D0214601F082FA002874D1756806 +:10ADE0003046009901F01CFB00286DD1204601F08F +:10ADF000F5FA344606E02121C943204601F010FB54 +:10AE0000002861D128460C30666806900490EDF762 +:10AE1000D2F907460390284610300090EDF7CBF9A1 +:10AE20000499EDF7D2F938460099EDF7CEF90027ED +:10AE300037702848FFF74EFF0146F078B2780002DD +:10AE400010430122D2028142104607D8FFF742FF89 +:10AE5000F178B27809021143401C05E0FFF73AFF90 +:10AE6000F178B278090211434018B070000AF0700E +:10AE7000687A297A0002084301F0DCF80121C0B2A7 +:10AE8000C9034018FFF726FF2872000A6872380AC3 +:10AE9000AF72E872142100E016E0284600F051F885 +:10AEA000A872000AE8722046079901F0B9FA002852 +:10AEB0000AD10A9801210191029080230022009773 +:10AEC0002046069900F0A8FA204601F087FA0BB058 +:10AED000F0BD0000FFF70000F7B50E4682B000227B +:10AEE0002421012001F04CF9050028D002986C685B +:10AEF0004768267004986070002626716671A671F6 +:10AF0000E67102981C22416868680830EDF708F97C +:10AF1000A670300AE0706989204600F012F8A0702F +:10AF2000000AE07001203A46019080230C32002193 +:10AF30000096284600F056FA284601F04FFA05B070 +:10AF4000F0BD10B500F042FCC04380B210BDF8B5B2 +:10AF500000252E46044601270FE06189606800F055 +:10AF600035FC4019010C80B20D18A07AC00703D03F +:10AF7000B81BC6B268BA85B22468002CEDD1002E89 +:10AF800001D068BA85B2E84380B2F8BDFFB50025AC +:10AF900081B02E46044601270FE06189606800F009 +:10AFA00015FC4019010C80B20D18A07AC00703D01F +:10AFB000B81BC6B268BA85B22468002CEDD1002E49 +:10AFC00001D068BA85B20298EDF7F5F881B2491957 +:10AFD000000C44180398EDF7EEF881B20919000C43 +:10AFE00044180498FFF776FE04190A98FFF772FEDA +:10AFF0000019010C80B20818010C0818C04380B277 +:10B0000005B0F0BD10B50C46EDF7D5F80246411C71 +:10B0100013D0002A11D03121095D89070BD5616851 +:10B02000914208D0A0681346034001408B4202D1F0 +:10B030001043401C01D0002010BD012010BDF7B509 +:10B040008EB004460F981426008D0090606807901B +:10B05000C179827908020025104300F0EBFFC1049A +:10B06000C90C05910121490308400A902089143830 +:10B0700087B200981438C117490F08900818400388 +:10B08000000C09907FE00898874201DC012000E075 +:10B09000002005990A9AC904C90C11430B91002894 +:10B0A0001AD0384680B2069000221421022001F006 +:10B0B00067F80490002817D0406814220799EDF72C +:10B0C0002FF8049840680C9060688019606060896F +:10B0D000801B6081069E26E0084601214903084343 +:10B0E0000B900998C000DDE70020C04311B0F0BD0F +:10B0F0006589B54200D93546002D13D002220021C2 +:10B10000032001F03DF8010042D0606848600D81E5 +:10B110004D81049801F0BEF8701B0604360C04D073 +:10B120002468E5E72468002EE2D12E460B98FFF74D +:10B13000D1FD0C998871000AC8710698143080B24C +:10B14000FFF7C8FD01460C988170090AC1700C9880 +:10B1500000218172C17214210C98FFF7F2FE0C9944 +:10B160008872000AC8720F98109A43690499984728 +:10B17000049801F033F906980999381A87B20598AE +:10B18000401880B20590002F00D07CE70020ADE78A +:10B19000049801F023F9A7E7F3B585B001200390E7 +:10B1A00005980E464568687829780002084300F043 +:10B1B00041FF000B042803D0059801F00FF906E1C8 +:10B1C000687829780002084300F034FF0005000F7A +:10B1D00080000090E878A9780002084300F02AFF78 +:10B1E00004460598418900988142E5D30598008975 +:10B1F000A042E1D328460099FFF7A3FE0028DBD147 +:10B200002146059801F03FF9012002900F203446B5 +:10B21000000700F00DFF0720400700F009FF20465F +:10B2200000F07CFE002820D0201D1ED06768002F73 +:10B230001BD0284610300190ECF7BDFFB84223D058 +:10B2400021460198FFF7DEFE00281DD10198ECF79A +:10B25000B2FF07460F20000700F0EAFE0740072074 +:10B26000400700F0E5FE87420ED00298002804D087 +:10B27000002002905748046800E02468B44200D1DE +:10B280002468002CCBD101E0002C2DD1687A297ADA +:10B290000002084300F0CEFEC0B211280ED1009883 +:10B2A0002918C87889780002084300F0C3FE4428B2 +:10B2B00004D1002034460390002E15D1687A297AF3 +:10B2C0000002084300F0B6FEC0B211280CD100986D +:10B2D0002918C87889780002084300F0ABFE3E497F +:10B2E000884201D134461FE0039800281CD028462C +:10B2F0000C300746ECF75FFF002815D03146384682 +:10B30000FFF780FE002800D056E73846ECF753FFE1 +:10B3100007460F20000700F08BFE0740072040077C +:10B3200000F086FE8742EFD0002CEDD02B48FFF7CF +:10B33000D1FCE979AA79090211430842E4D1284CE9 +:10B3400031466660A560059801F064F900283BD19C +:10B35000687A297A0002084300F06CFEC0B2012826 +:10B3600015D006280ED01128314607D028461030B7 +:10B370000646FFF747FE00280ED022E0059803F0AE +:10B38000EDFC21E03146059801F0EEFD1CE0314670 +:10B390000598FFF7A7FC17E03046ECF70CFF0646D0 +:10B3A0000F20000700F044FE06400720400700F091 +:10B3B0003FFE864205D00598022145600598FFF7BB +:10B3C0008BFC059801F00AF800206060A060002066 +:10B3D00007B0F0BD900100206C070000FF3F0000A7 +:10B3E0006C020020FFB583B01F46164610460C9D28 +:10B3F0000D9C00F097F800280AD002903B46324698 +:10B40000009501940499039800F006F807B0F0BD88 +:10B410000320C043FAE70000FFB581B00646039859 +:10B420000C9D1F46002865D0142001460090304630 +:10B4300000F0F6FF002803D00120C04305B0F0BDA6 +:10B440007468607A217A0002084300F0F3FDC0B20C +:10B4500039020843FFF73EFC2072010A617200F0D6 +:10B46000E9FD000A0B9900020843FFF733FC207244 +:10B47000000A60720398ECF79EFE21461031ECF74B +:10B48000A4FE05200A99000208430121890308430C +:10B4900080B2FFF71FFC2070000A60703089FFF750 +:10B4A00019FCA070000AE0700020A0711C4FE07130 +:10B4B0003888FFF70FFC2071000A60713888401C43 +:10B4C00038800298002803D0ECF775FE002802D1DE +:10B4D000281D00D0686821460C31ECF776FE00206C +:10B4E000A072E07220460099FFF72BFDA072000ABF +:10B4F000E07202E0706810300390288D002808D0B8 +:10B500003189814205D929463046039AFFF797FDD4 +:10B5100094E76B6931462846039A98478EE7000006 +:10B520006C02002070B505461148046811E0204601 +:10B5300000F0F4FC00280BD02846ECF73CFE014656 +:10B54000A068626801400240914201D1204670BD6E +:10B550002468002CEBD1074C2068002805D000F0AF +:10B56000DDFC002801D0206870BD002070BD000007 +:10B570009001002094010020F8B5044625460620DD +:10B5800020352249A8720A6A00202618135C20364A +:10B59000401CC0B2F3720628F7D31E4F1C480F633D +:10B5A00088633846203848631B48C8631B49002617 +:10B5B0000E601B4A3046127804E083005B185E6020 +:10B5C000401CC0B29042F8D3002004E083005B1816 +:10B5D000DF60401CC0B29042F8D31048C421C43888 +:10B5E000ECF7B7FD0D480121443801640D49218570 +:10B5F00033216974806B0C49098848430449401819 +:10B600000A4988810A480660F8BD0000F001002060 +:10B61000902B0020804E0020502B002078550020D9 +:10B620006B010020DC050000F04D00200090004080 +:10B6300078010020F8B50027304880213D460160A0 +:10B640002F4C606B621A80008018C06B636B80B2F5 +:10B650009B009B189B6F636B9B00D258D2B20092E9 +:10B66000264A803A1160009A022A19D1002817D080 +:10B67000401C81B20322104600F082FD05003AD042 +:10B68000791E00F0CDFE2E467F1CFFB2052F01D99A +:10B690000020F8BD7068F4F71FFC3668002EF3D167 +:10B6A000164880210160E26B00231648002A02D070 +:10B6B000009A022A0FD00278134E521CD2B20270A6 +:10B6C0003678B2420ED30370E06B401EE063E06B4D +:10B6D000002805D006E00370E06B401EE06301E047 +:10B6E000A06B6063054880380160002D03D0012104 +:10B6F000284600F095FE2846F8BD000080E100E0F5 +:10B7000034550020F00100206A010020F3B5002527 +:10B7100081B02C46691E029800F082FE20481E4F20 +:10B72000016A1E4A1F4804E0641C944206D801299D +:10B7300004D00368002BF7D1029C0EE000210160C9 +:10B740000B20C043FEBD66896168A81985B23246E8 +:10B750003846ECF7E5FC2468BF19002CF3D1124AF7 +:10B760000D48136801219B009B1859601168491C02 +:10B77000116011680D4B1B78994201D300211160B3 +:10B780003C2D00D23C252946F4F7D6FB0121029836 +:10B7900000F046FE0020FEBD804E0020FFFF0000AE +:10B7A000AC4D002078010020785500206B0100206E +:10B7B00010B500F061FA00F057FB034880680028DC +:10B7C00000D0804710BD00009855002010B5002221 +:10B7D00007E00378891E1C02437889B22343D218FC +:10B7E000801C0129F5D8002902D000780002121827 +:10B7F000100C91B24018010C02D0010C80B2081854 +:10B8000080B2FFF767FA10BD30B40024002812D9C7 +:10B810007D25ED000023012100BF00BF0A46491E1F +:10B8200089B2002AF8D15B1C9BB2AB42F3D3641CF3 +:10B83000A4B28442EED330BC7047002300280BD959 +:10B84000012100BF00BF0A46491E89B2002AF8D173 +:10B850005B1C9BB28342F3D370470000002806D0E4 +:10B8600010B5024602A10120F4F74EF910BD704751 +:10B870006D53746F7049664572726F723A2025304D +:10B8800032580D0A0000000086B0F9F799FA10212D +:10B890000120F7F79FFD0320FFF7B6FF0220F8F71E +:10B8A000D9FE7F487D4941617E4A0723D16909025B +:10B8B000090A44042143D161002181610361F6F743 +:10B8C0007DF8F8F707F9F8F76FFCF4F765FC7D21D0 +:10B8D00009030020FBF724F873484068734DC00249 +:10B8E00010D473A10020F4F74DF9774E774C2968F6 +:10B8F0002068401AB04278D92068286074A10020DE +:10B90000F4F740F978A10020F4F73CF97DA27FA17B +:10B910007FA0FDF78DFE8148F8F712F9002818D0B6 +:10B920007E4CE37822786178A078029104930392A8 +:10B930000190207900906379A27979A10020F4F731 +:10B9400021F92078F8F7BEF87D21C90048437E49E7 +:10B9500008607E490020F8F715FE7D490020F8F7C1 +:10B9600011FE7C490020F8F70DFE7B490020F8F716 +:10B9700009FEF8F775FA7948F8F73EFD784C794AF0 +:10B98000206004217848F8F7CDFC78A100202268D7 +:10B99000F4F7F8F87448C2788178009101924378FE +:10B9A000027876A10020F4F7EDF8EFF78DFB7948E7 +:10B9B000F8F7E4FE784E794869680068421AE12198 +:10B9C00009018A4250D3686075A10020F4F7DAF8C3 +:10B9D000F8F780FC0746F4F751FE0446A74243D02F +:10B9E000306800280DD010E0FFE7F8F773F9F9F799 +:10B9F000F7FFEFF7FBFA012800D078E7206828600E +:10BA000075E7A62000F0ECF83060A621ECF7A1FB6A +:10BA10003068C022017D23461143CF2211401031EE +:10BA200001754475210A8175210CC175210E0176BD +:10BA30003A4661A10020F4F7A5F83846F8F724FD4E +:10BA400030681421401C41180A7810464A781202C6 +:10BA500010438A78C9781204104309060843F8F79E +:10BA6000EBFC5E4901200870F8F734F9F7F780F92C +:10BA7000FCF7C6FCF5F7C0FFF9F7B2FFFAF704F9D7 +:10BA8000FAF75EFAFAF7BEFBEDF7E8FDF0F79CF97E +:10BA9000EDF75CFAF3F7AEFF8DE700007F0C0000D6 +:10BAA00000E000E004ED00E0C010004000000020D5 +:10BAB000424C595F43315F544553542053544152D3 +:10BAC000542E2E2E2E0D0A0030750000100000207E +:10BAD000424C595F43315F5445535420454E4421F5 +:10BAE00021210D0A00000000424C595F43315F41A3 +:10BAF00050502056303520544553542E2E2E2E0DA6 +:10BB00000A000000312E303300000000312E3000DA +:10BB1000424C565F43315F415050000028000020E6 +:10BB2000525443CAB1BCE43A20323025582D25582E +:10BB30002D25582025583A25583A255820D0C7C6D3 +:10BB4000DA25580D0A0000001800002002E000006D +:10BB500001E0000005E0000004E0000034E8080017 +:10BB60000C0100203CE808001001002050726F6AB0 +:10BB7000656374436F64653A2564000056657273AB +:10BB8000696F6E733A25642E25642E25642E256414 +:10BB90000000000020000900040100201400002023 +:10BBA00054465450204C6F672073746172742E2E6B +:10BBB0002E2E0D0A000000006C6F675F61646472D6 +:10BBC000733A25303858206C6F675F616464727314 +:10BBD000313A25303858200D0A000000600000205E +:10BBE000F0B50B30C108C900144F0026144A0FE00D +:10BBF00003688B420BD38B4205D95C1A4318456806 +:10BC000030C3083B00E04368136002C004E0021D3B +:10BC100010680028ECD13046002803D1386800288D +:10BC200001D00020F0BD064A06481060064A121AEC +:10BC3000D208D20044C001203860D7E7800200203B +:10BC40007C02002044580020405C002010B50028F1 +:10BC50000FD008494A6890420BD38A68904208D2B4 +:10BC6000002208380271CA68904200D2C86000F011 +:10BC700047FC10BD7C01002030B51049104A08680F +:10BC8000104CC01C80088000486013890125DB1C13 +:10BC9000234003800023438003719368DB1C9B08CF +:10BCA0009B001B188B601D711589ED1C25401D80A4 +:10BCB0001289D21C22405A80C86030BD7C0100200D +:10BCC000F04D0020FCFF0000F0B500284AD02849C4 +:10BCD000C31C0B400C2B00D20C23264CA068C01CAC +:10BCE0008508AD009D4241D32348C6684268B11A19 +:10BCF00089B2EC1A38E050180579002D33D1058847 +:10BD00006D1A083D9D422ED304881F46641A1437CD +:10BD10000125083CBC4215D3CB1808339CB213193B +:10BD200000271F7107881F805980048005711988BA +:10BD3000104B9B68DB1C9B089B00994203D0931C13 +:10BD4000CC5200E005710C49B0420AD18C68CB6836 +:10BD50001D79002D05D0A34203D01B889B18CB6012 +:10BD6000F6E70830F0BD515A8C42C4D80020F0BD2F +:10BD7000FCFF0000F04D00207C010020F8B5324AA5 +:10BD8000C91C11400C2900D20C21304A9268D21CE7 +:10BD9000920892008A4210D32D4B5C68A0420DD3CA +:10BDA0009A6890420AD20246083A131B15889BB241 +:10BDB000EE1A083EB6B2B14201D90020F8BDB14238 +:10BDC000FCD02D19AC462F79214DED68AE46204DA3 +:10BDD0006D68AD1C002F1BD00F461437B742EDD84D +:10BDE000591808318EB21A4FA119714500D2F96065 +:10BDF00000240C7114880C804B801680134A09882B +:10BE00009268D21C920892009142D7D04E53F8BD4E +:10BE1000591866460831368889B20096E64502D13F +:10BE20000B4E6718F760641800262671009E268066 +:10BE30006380064B11809B682288DB1C9B089B005B +:10BE40009A42E4D05153F8BDFCFF0000F04D0020B1 +:10BE50007C010020002904D08200024883580B6036 +:10BE6000815070470C580020F0B50020401C80B273 +:10BE70000828FBD30E490F4A8868C01C8408A40018 +:10BE80000020002386009351450007E09759276062 +:10BE900094510F687F5B3C195B1C9BB24F687F5BC2 +:10BEA0009F42F3D8401C80B20828EAD3F0BD0000BE +:10BEB000440200200C580020082801D300207047BD +:10BEC0000349820088580028F9D003688B507047D6 +:10BED0000C580020F8B504460025089F06986560B8 +:10BEE000A56026462036E560757425620A4DE0613E +:10BEF00028783075401C28702046276100F013F820 +:10BF0000079920468847002801D00020F8BD6868BE +:10BF1000206020466C60F8BD8C0100202030407C01 +:10BF2000C007C00F704770B51D461646044600F0A6 +:10BF300023F83146204600F061F82946204600F0FB +:10BF40000FF870BD01498860704700008C01002027 +:10BF50002030417CCA0702D049084900417470472B +:10BF600010B50446002904D00846ECF724F9E06037 +:10BF700010BD0020FBE70000F8B505460F4600267F +:10BF80000846ECF718F96968884228D01948006813 +:10BF90000FE001686A6891420AD10121C46800F08B +:10BFA000F5FB3146761C2046F6B2642901D902E041 +:10BFB000C0680028EDD1104804680EE0002C0BD0BA +:10BFC0002068002808D06968884205D1002F0DD06C +:10BFD0003846ECF7F0F82060E468002CEED1002F32 +:10BFE00006D03846ECF7E7F86860F8BD0020F2E7C5 +:10BFF0000020F9E7AC010020A801002010B504469C +:10C00000002904D00846ECF7D6F8A06010BD002047 +:10C01000FBE710B502462032517CCB0707D1012344 +:10C0200019435174890602D5011DFEF7BBFC10BDF2 +:10C0300000BA704740BA7047F0B5FFB00E4684B002 +:10C04000174604461221ECF784F830787178000224 +:10C0500008182080B078F1780002081880B2020435 +:10C060000121002A00DAA1704204120FE270420599 +:10C0700000D52171820500D56171C20500D5A1717D +:10C08000020600D5E1710007000F20723179707946 +:10C090000902401881B26181B279F07912028018E8 +:10C0A000A081327A707A12028018E081B27AF07A36 +:10C0B00012028018208230460C30002500290ED94B +:10C0C0000146009002AA3046F7F7B6F901460098FB +:10C0D0006D1C40186189ADB2001DA942F0D8002145 +:10C0E0000091A189002932D90546014602AA3046AD +:10C0F000F7F7A2F92D18287869780002081880B29D +:10C100000A350D281BD201007944097949188F445A +:10C110001606101616101610101016161000287895 +:10C12000387068787870A878B870E878F8702D1D45 +:10C1300005E002AA29463046F7F77EF92D18009946 +:10C140002846491C89B20091A2898A42CCD8002095 +:10C15000E18901E0401C80B28142FBD80020218AA5 +:10C1600001E0401C80B28142FBD8207A002803D035 +:10C170007FB0002004B0F0BD7FB0012004B0F0BD5E +:10C18000F8B5002516460F46002806D0012805D030 +:10C19000022804D0032878D102E0142514350E3586 +:10C1A000002E49D0012E5FD0022E5DD0032E6CD11F +:10C1B0000720FFF781FE040067D02673002020606F +:10C1C00060191330B0436060314827814068ED1C2E +:10C1D0003930A908B0438900401AB84200D938461E +:10C1E00080B201216081E1813D1A00941DE00720A9 +:10C1F000FFF762FE00281BD0067300214173016027 +:10C200000099AAB208602249028149683931890837 +:10C2100089008A4200D2294689B202464181103201 +:10C2200042600122C2816D1A0090002DDFDC26E001 +:10C23000204600F0D3F828E0284613308108F81C87 +:10C24000800889008000081880B2FFF73DFD0400D7 +:10C250001BD06019133080088000606027816781DF +:10C260000020206020730AE00620FFF725FE04006E +:10C270000BD0002060602781678120602673012039 +:10C28000E081002060732046F8BD0020F8BD00006A +:10C29000F04D002010B500280FD000290DD004E08B +:10C2A00003890C891B19038110460268002AF7D103 +:10C2B00002890B89D2180281016010BD10B50C46AD +:10C2C000FFF7E8FF204600F007F910BD002102E06B +:10C2D000491C0068C9B20028FAD108467047F8B571 +:10C2E00000270C4605463E46002805D0002C03D00A +:10C2F00028892189884202D20920C043F8BD688973 +:10C30000C11B6089801B814201DB80B200E088B2E2 +:10C3100000906068009A81196868C019EBF700FF07 +:10C320000098381887B20098301886B26889B842E9 +:10C3300001D12D6800276089B04201D82468002609 +:10C34000002C06D060892189884202D1206800280B +:10C3500008D1002D09D068892989884205D128682B +:10C36000002802D00820C043F8BD002CC7D100200F +:10C37000F8BDFFB5002181B016460091002806D017 +:10C380000299002902D00027044621E0002005B0D0 +:10C39000F0BD002B05D06089984202D8181A83B2EC +:10C3A00015E06089C01A85B2B54200D9354660688B +:10C3B0002A46C1180298C019EBF7B2FE009840193E +:10C3C00080B20090781987B2701B86B2002324686F +:10C3D000002E01D0002CDCD10098D8E770B50028E1 +:10C3E00015D00024C189491E0904090CC1810DD151 +:10C3F000017B056803290BD001290CD002290AD042 +:10C40000FFF724FC641CE4B22800EBD1204670BD89 +:10C410000146072001E001460620FFF71BFDF1E77A +:10C4200010B5002909D0002807D0002907DA4A42B0 +:10C4300093B242899A4224D302E0002010BD8BB20D +:10C44000027B4468002A06D0032A04D0022A0AD0BC +:10C45000012A08D015E0621A0346103342609A425E +:10C4600008D244600DE000290BDA42899A4208D3D1 +:10C47000621A426042895218428102895118018130 +:10C48000DBE7012010BD70B502898A4223D98A1AE0 +:10C490000D46044605E0281A85B2208980182081BF +:10C4A00024686089A842F6D3207B00280AD16089DD +:10C4B000A84207D0A088001B401981B22046FFF790 +:10C4C0005DFC0446658125812068002801D0FFF7C6 +:10C4D00085FF0020206070BD002802D0C189491C62 +:10C4E000C1817047C107044803D0FF211F31416259 +:10C4F00070470249FBE70000009000401E01040065 +:10C5000030B5134902884B68D2189C1C90420ED05B +:10C510001579002D0BD18D68AA4208D0CD689542BF +:10C5200000D1C860158805801288C51A1553428845 +:10C53000D21882420BD01579002D08D1CD688542E2 +:10C5400000D1CA60018811800088D11A015330BD22 +:10C550007C010020F0B593B00446402102A8EBF71F +:10C56000F8FD2246102102A8FCF7F4FE0024154F26 +:10C57000054600280ED9A10002A84258E000201864 +:10C58000C61911A13046FCF729FA2020641C30722C +:10C59000AC42F0D30E48002D0CD0E9006B18009788 +:10C5A000006A0CA20D49FCF7EFF90D48FCF7ECF915 +:10C5B00013B0F0BD406AFCF7E7F90948FCF7E4F96D +:10C5C00013B0F0BD782A00202530386C78000000C8 +:10C5D000B0F101002E61786600000000182A0020EA +:10C5E0002C96010010B50446002905D00846EBF74B +:10C5F000E2FD2060002010BD0020FAE710B50446DF +:10C60000002905D00846EBF7D6FD6060002010BD7C +:10C610000020FAE7F3B583B0002000900398466845 +:10C62000707A317A00020843FFF704FDC0B201902E +:10C630001448002504681FE0217C0198814216D12E +:10C640006769002F13D033460C33A0692146039A43 +:10C65000B84700280BD00020039001200090002D47 +:10C6600005D0E068E86007480168E160046025469D +:10C670000098E468002801D1002CDDD1009805B0B5 +:10C68000F0BD00003002002070B505460020FFF725 +:10C6900013FC040009D01C21EBF75BFD25748020FE +:10C6A000E07203480168E1600460204670BD00004C +:10C6B00030020020826141617047000010B50B49D3 +:10C6C0000A6882420AD1D2680A6009E0D16800296A +:10C6D00003D0814201D1C168D1600A46002AF5D158 +:10C6E00001460020FFF7B6FB10BD0000300200201D +:10C6F00010B5021D00F001F810BDF7B50E46044656 +:10C7000084B014213046FFF78BFE0027FF4300283A +:10C710000AD0002211460120FFF732FD05000BD0A0 +:10C720003146FFF7CBFD0AE013213546C9433046B9 +:10C73000FFF776FE002802D0384607B0F0BD069815 +:10C74000FEF7F0FE002817D0002C1DD0216800292C +:10C750001AD02146227CA37A019202900093E37AB8 +:10C760002846069AFEF758FE0446B54202D02846EF +:10C77000FFF734FE2046E0E7B54202D02846FFF737 +:10C780002DFE0320C043D8E7011DE3E7F3B50446BF +:10C79000007C87B00A283ED0A06D0390606A0290AA +:10C7A000002C42D020680490201D00D060680590C5 +:10C7B00094200559278B268C606900902046F5F758 +:10C7C0002DFC21461A4801F02DF9A06F002801D058 +:10C7D00001F0CBFF606F002801D001F0C6FFE06FD1 +:10C7E000002801D001F0C1FF21460220FFF732FBF3 +:10C7F000002D03D00421C9430098A84708980028B9 +:10C8000007D005AB04AA009701960299039801F09E +:10C8100019FF09B0F0BD06482146001D01F002F9DC +:10C8200021460220FFF716FBF3E700200490BDE746 +:10C83000AC010020F8B507460220FFF73DFB3E4C57 +:10C840003E4D060040D1287C400701D40020F8BDB1 +:10C8500000210846A668A26906E0136BF31A8B4212 +:10C8600001D319461046D268002AF6D1002802D01A +:10C870000121FFF78BFF0220FFF71EFB060023D1EB +:10C880007F1E7F20844600206269A168FEB2864632 +:10C8900000910DE0517CB14209D8614507D8176B72 +:10C8A000009BDB1B734502D39E4610468C46D26824 +:10C8B000002AEFD1002802D00121FFF767FF0220F4 +:10C8C000FFF7FAFA060035D0AC21EBF742FC402026 +:10C8D0007074C1013018C18500230386A988318591 +:10C8E0007185B3728021F17243226968D20091424E +:10C8F00000D911463187062101818380C180C91F7B +:10C90000F1860121418200F0F7FD7066B065F064A8 +:10C91000B066A068306334208355304608498030C3 +:10C92000816008490A6882614A68C2618968016257 +:10C93000A92083553046F8BD98010020F04D002015 +:10C94000F1E40100044E002041617047F7B507464D +:10C95000007C82B01446002803D00C20C04305B0F0 +:10C96000F0BD002C02D100F099FD04463548056861 +:10C9700011E0288BA0420DD1002D4BD02E68002E47 +:10C9800048D00398002845D0EBF715FC002841D08B +:10C99000B0423FD0ED68002DEBD12A4D103D6E69BD +:10C9A00013E0308BA0420FD1002E33D030680090BE +:10C9B00000282FD0039800282CD0EBF7FCFB002890 +:10C9C00028D00099884225D0F668002EE9D1EE687B +:10C9D00013E0308BA0420FD1002E1BD030680090A6 +:10C9E000002817D00398002814D0EBF7E4FB0028A8 +:10C9F00010D0009988420DD0F668002EE9D1AE69BA +:10CA00000CE0308BA04208D10398EBF7D4FB3168DF +:10CA1000884202D10A20C043A1E7F668002EF0D177 +:10CA20000398002808D0EBF7C6FB002804D00422A6 +:10CA300038460399EBF774FB3C83E868F860002004 +:10CA4000EF608CE7A801002070B50546007C052644 +:10CA50000300FBF7FDFF08051D2B35354A4A3D4A0B +:10CA60002846F5F7DBFA24480024C168A94201D121 +:10CA7000C96807E0C161002905D0C968A942F9D198 +:10CA8000E968C069C1600020E860294602200AE028 +:10CA900000242846F5F7C2FA17482946103000F05E +:10CAA000C1FF29460320FFF7D5F923E000242846DB +:10CAB000F5F7B4FA10482946143000F0B3FFE4E764 +:10CAC0000121284601F05EFE040009D12E7407E022 +:10CAD0000121284601F056FE040001D109202874E6 +:10CAE000002D07D0002C02D004E0002402E02846EC +:10CAF00000F064FD204670BD9801002010B504468A +:10CB00000846FEF70FFD002808D0008D002805D04C +:10CB1000283880B2844200D220460446204610BD08 +:10CB2000FFB58FB0119919980143129880070143FE +:10CB3000EE4877D01199002902D11099002971D1BE +:10CB40000F98119940300690C28D0F9820300D90AB +:10CB50008A4205D28178802001430D98817050E18E +:10CB60001098029019980991C00701D0042100E0A3 +:10CB700000211998800701D50C2000E0002008183A +:10CB800007900F98876E0698008E0590D8484168E8 +:10CB90000120C003EBF79AFA01460598814202D9B9 +:10CBA000D449884201D90D98D4E7002603960F98FE +:10CBB000018F0798081A0999884200DB084680B25D +:10CBC00000900420FFF778F904006ED0002525605E +:10CBD0006560002E27D00398046018980394C0075E +:10CBE00023D0079900980022401881B21046FFF721 +:10CBF000C7FA60600028E8D0FFF768FB0146059897 +:10CC0000081880B205901098002807D06068009A34 +:10CC10004168079808180299EBF782FA6068406843 +:10CC2000A06026E0EFE00646D7E70022104607990D +:10CC3000FFF7A6FA60600028C7D0FFF747FB014660 +:10CC40000598081880B205900998002811D0012293 +:10CC500003200099FFF794FA010021D00598401CA9 +:10CC600080B20590029848600298A0606068FFF763 +:10CC700011FB9F4841680120C003EBF727FA0146EA +:10CC80000598814211D301469A4881420DD80098F7 +:10CC9000A08114216068FFF7C3FB002805D105E0DF +:10CCA0006068FFF79BFB002060609FE06068406861 +:10CCB00020610F98008BFEF70DF821690870000ABB +:10CCC00048700F98008CFEF705F821698870000AFB +:10CCD000C8703846FDF7FCFF2169091DEBF775FAAE +:10CCE0002069290A8574C17482483C38FDF7F2FF37 +:10CCF00022690546517B127B090211430D401298AF +:10CD0000FDF7E8FF05432069290A05734173199867 +:10CD1000A0732169487B097B00020843FFF78AF969 +:10CD2000079905228908800609031203800E8918D5 +:10CD30000843FDF7CFFF21690873000A4873009983 +:10CD400009987F18401A80B2099002984018029002 +:10CD50000998002800D02AE70F98456F002D72D05F +:10CD600000E0054628680028FBD1002D6BD029691A +:10CD7000487B097B00020843FFF75CF9800700D07D +:10CD80000120A989C84277D02969487B097B000224 +:10CD90000843FFF74FF980076ED11298800702D041 +:10CDA0001298012868D1A889B18941180F98008F7D +:10CDB000814261D8A87BB17B88425DD12869001D82 +:10CDC000EBF7F9F9FFF734F9A98947183069001D25 +:10CDD000EBF7F1F9FFF72CF987424DD1079970680D +:10CDE00014314942FFF71CFB00280ED00D988178C2 +:10CDF000802001430D98002E817002D0304601F052 +:10CE0000B4FC0020C04313B0F0BD70684189002914 +:10CE100009D101687160002101600599491E89B23C +:10CE20000591FFF7DBFA1298C0070DD00120FDF73E +:10CE300051FF29694A7B0B7B12021A431043087386 +:10CE4000000A48730AE014E071686868FFF722FA84 +:10CE5000A889B1894018A88130682860B44202D1FD +:10CE6000A8892C46009031460420FEF7F3FF04E029 +:10CE700002E00F98466700E02E601298800703D00A +:10CE80001198401C80B211901298C00705D00D98DF +:10CE90002021807808430D9988700F98816E119831 +:10CEA00009180F9881660698C18D1198081A06997D +:10CEB000002CC88506990598088614D0009800288B +:10CEC00011D0206900280ED0189880070BD40820B4 +:10CED000FDF700FF21694A7B0B7B12021A431043C6 +:10CEE0000873000A487300208DE70000F6FFFFFF7B +:10CEF000F04D0020FCFF00008030416170470000D1 +:10CF0000F8B518480026446928E0254680352A6887 +:10CF1000002A0FD0AF68002F04D00023214660699B +:10CF2000B84704E000232146184601F0E1FA002842 +:10CF300000D12860761CF6B2642E11D82546203523 +:10CF4000A878C10709D002210843A870204600F044 +:10CF500035FBA87880088000A870E468002CD4D144 +:10CF6000F8BD000098010020F0B50746ED4D87B0F0 +:10CF700040680C46A8604178027808021043FFF729 +:10CF800059F80005000F7968800040186860A968AA +:10CF90004878097800020843FFF74CF80005000FB5 +:10CFA000800041423846FFF73BFA00287ED138899D +:10CFB00014287BD3A86821461030FEF723F80028F8 +:10CFC000F4D1A8681030EBF7F6F804460F200007FC +:10CFD000FFF72EF8044007204007FFF729F88442A6 +:10CFE00064D038890090AA680623114638460C316F +:10CFF0001032FDF7CBFF0028D8D16868417B027B57 +:10D0000008021043FFF716F8000B80004142384633 +:10D01000FFF706FA0028C9D1696848780978000244 +:10D020000843FFF707F8014668680170090A417074 +:10D03000C178827808021043FEF7FCFF0146686859 +:10D040008170090AC170001DEBF7B5F8FEF7F0FF1B +:10D0500069680C46091DEBF7B8F8E860204608300F +:10D06000EBF7A9F8FEF7E4FF69680C460831EBF727 +:10D07000ACF82861E07BA17B00020843FEF7DAFFF1 +:10D08000014668688173090AC173417B027B08020B +:10D090001043FEF7CFFF8006800E28703989800785 +:10D0A00000D0012008186880002600E0B8E09E4803 +:10D0B00004689C480194806801460C31103004904B +:10D0C0009848069145683EE068782A78218C0002ED +:10D0D0001043814235D1E878AA78218B00021043B1 +:10D0E00081422ED10698EBF766F86168884228D114 +:10D0F0000498EBF760F82168884222D1002E05D011 +:10D10000E068F06088480199E1600460002C1CD060 +:10D110008649002008603A898A817A684F608A606F +:10D12000804A0D6150612646507080363268002A70 +:10D130007BD0B568002D7AD0002321466069A847CE +:10D140007AE02646E468002CBED1794804681EE0E7 +:10D1500068782A78218C00021043814216D1E87841 +:10D16000AA78218B0002104381420FD10698EBF779 +:10D1700022F86168884209D10498EBF71CF821680D +:10D18000884203D1204601F077FC49E0E468002C96 +:10D19000DED1684800260468009421E0002C0AD003 +:10D1A00020680690002806D00498EBF704F80146A2 +:10D1B0000698814212D1E878AA78218B00021043A8 +:10D1C00081420BD1002E05D0E068F06059480099EB +:10D1D000E1600460204600F0DDF821E02646E468C6 +:10D1E000002CDBD1687B297B00024E4C0843FEF704 +:10D1F00021FF400714D4616848780A780002104380 +:10D20000CA788B781102194300910190A368618854 +:10D21000E0681A46411810320C33206901F012FA06 +:10D220003846FFF7DBF807B0F0BD08E0FFE7002362 +:10D230002146184601F05CF90028F1D13060394DE3 +:10D240002046AC6100F01CFC401D61D068780107ED +:10D250001BD505A92046F1F7F1FB012802D1207C5E +:10D26000022855D02046F4F7D9FE7269002A03D06F +:10D270000521C9436069904721462B4800F0D2FB45 +:10D2800021460220FEF7E6FD42E0C00603D5204617 +:10D29000F4F7C4FEF0E76C20025B002A05D0736847 +:10D2A000002B02D02146606998476A69002A17D08E +:10D2B0002878000703D5507B012108435073B768D5 +:10D2C000002F04D0002321466069B84704E0002302 +:10D2D0002146184601F00CF9002801D06869306039 +:10D2E00068782F4680060ED5B668002E05D000233C +:10D2F0001A4621466069B04705E000231A462146D8 +:10D30000184601F0F5F80020B861204600F056F903 +:10D310000026064CAE616068002884D0FFF75EF8F6 +:10D32000666080E750020020AC0100202C580020ED +:10D33000B0010020A80100207CB504460022142181 +:10D340000120FEF71DFF050022D0A06D401EFDF755 +:10D35000BFFC034600222946204600F0A3FA0646F9 +:10D36000288900900623221D21462846FDF70EFE3F +:10D370003074000A70740621002001910090E37A55 +:10D38000221D21462846FEF72DF82846FFF726F8ED +:10D390007CBD0000FEB53C4D06462878C10616D57A +:10D3A000696848780A7800021043CA788B781102BD +:10D3B0001943009101906988E868AB6841182869B1 +:10D3C0001A46401C10320C3301F03CF959E080073A +:10D3D00057D5707CFFF72EFA04004BD0AF68384663 +:10D3E000103001D0EAF7E7FE2060308B208338460A +:10D3F0000C3001D0EAF7DFFE60606A68507811787F +:10D4000000020843208403202074E868411C616204 +:10D41000E162D17B937B0A0221461A4340318A8321 +:10D420008A82401E206670696061F069E06130891F +:10D43000FF219A310840208114480168E1600460AE +:10D44000204600F087FA208F211DFFF757FB208729 +:10D45000002001210191024600900146122320463E +:10D46000FFF75EFB050008D000212046FFF78EF98C +:10D470002846FEBD0020C043FEBD204600F09EF8B9 +:10D48000FEBD0020FEBD000050020020AC010020C7 +:10D4900010B54020FFF7CEF910BD000030B515489B +:10D4A000134D44694188491C89B24180A94202D97F +:10D4B0000121090341802146438803E00A8B9A42F7 +:10D4C000F0D0C9680029F9D1826903E0118B994233 +:10D4D000E8D0D268002AF9D1064910310A6803E081 +:10D4E000118B9942DED0D268002AF9D198B230BDB2 +:10D4F000FF7F00009801002002498A684868801870 +:10D500004860704798010020F8B50C46016905464F +:10D51000487B097B00020843FEF78CFD254FC007BE +:10D5200027D0204601F021F9002441E0707B317BB7 +:10D5300000020843FEF77EFDC00716D01E48FDF727 +:10D54000C9FB29690646487B097B0002084306405F +:10D55000FEF770FD8006800E01210843FDF7BAFB3F +:10D5600006432869310A067341732046246801F096 +:10D57000EBF8002C1CD020690646001DEAF71BFEC4 +:10D580000146A089FA680818A9898918081ACDD512 +:10D590002069001DEAF70FFEAA89F9685218121ACD +:10D5A000002A05DD401A81B2A9816868FEF76BFF89 +:10D5B0002C60F8BD50020020C0FF0000F0B504460A +:10D5C0007D4885B00068A04202D1002005B0F0BDC2 +:10D5D0002046403003900399808B498A884200D3CB +:10D5E0000846029020462030656F009080788007C2 +:10D5F00012D5002D0CD02869001DEAF7DCFDFEF7DE +:10D6000017FDE16C401AA98941180298814203D99B +:10D61000204601F0C2F8D9E7A66F002E01D199E0AB +:10D62000064630680028FBD194E0A06F002812D095 +:10D63000009844228078014610420CD1606F002887 +:10D6400006D00268002A06D18089228F904202D239 +:10D65000A020014276D028686067207C022812D082 +:10D660001020FDF737FB01462869427B037B12023D +:10D670001A4311430173090A4173009880788108A5 +:10D680000098890081702146284600F097F82869A3 +:10D69000001DEAF790FDFEF7CBFC29690746487BA1 +:10D6A000097B00020843FEF7C5FC800700D001207B +:10D6B000A98938184018A16D091A00D5A0652969F3 +:10D6C000487B097B00020843FEF7B4FC800701D0C9 +:10D6D000012100E00021A889C14237D00020286044 +:10D6E000A06F002811D02869001DEAF764FDFEF73D +:10D6F0009FFC07463069001DEAF75DFDFEF798FCC8 +:10D70000381A20D52046783003E0A5671CE0019840 +:10D7100000680190006800280ED00069001DEAF73B +:10D720004AFDFEF785FC07462869001DEAF743FD20 +:10D73000FEF77EFC381AEAD4019800682860019848 +:10D74000056006E017E035602E4602E0284600F04E +:10D75000FBFF656F002D28D02869001DEAF72BFD1F +:10D76000FEF766FCE16C401AA989411802988142D3 +:10D7700000D85AE701E0002D17D02646A036307AAF +:10D78000002812D12869001DEAF715FDFEF750FCAC +:10D79000E16C401AA98941180398808B814204D911 +:10D7A0000020803460620120307200988078410649 +:10D7B0000098490E817008E7680200207CB5054694 +:10D7C0000C46486AFDF784FA29690831EAF7FDFC3E +:10D7D000608DFDF77FFA29698873000AC873618D2F +:10D7E000606A4018E0622E69A87B1436C00707D033 +:10D7F0002A488121406889040843FDF769FA3060AE +:10D80000002C02D02068002808D1201DFDF78AFED8 +:10D81000002841D0011D07D0406820603620205EDE +:10D820000026401C02D002E00020F6E7E686E06B0E +:10D83000002809D11A480068E0632869001DEAF74A +:10D84000BAFCFEF7F5FB20646968288A8A880623FB +:10D85000801A4A89121A4A8169680A89101A08814D +:10D860006968286948602869310A067441746868E3 +:10D87000221D018900912146FDF788FB2969221D9F +:10D880000874000A4874A07A062101910090E37A96 +:10D8900021466868FDF7A6FD7CBD0000F04D002024 +:10D8A000A0010020F8B505461F461646008B4C68BF +:10D8B000FDF710FA2070000A6070288CFDF70AFA54 +:10D8C000A070000AE070211D3846EAF77EFC686A05 +:10D8D000FDF7FEF921460831EAF777FC1C48FDF711 +:10D8E000F9F9617B227B0902074611430F401020A2 +:10D8F000FDF7F0F907432773380A6073688DFDF769 +:10D90000E9F9A073000AE0730027A774E774607B4D +:10D91000217B00020843FEF78DFBF117890F89195F +:10D9200089100522800609031203800E8918084316 +:10D9300080B2FDF7CFF92073000A60732774380AAC +:10D940006074698D686A4018E8622046F8BD00007E +:10D95000C0FF0000F8B5204E05467468617B227B4D +:10D96000080210431434FEF765FB000B05281CD990 +:10D970007168487B097B00020843FEF75BFB000BE4 +:10D98000401F8004000C0021144B0CE0625C002A54 +:10D990000BD0012A0AD0022A0AD062185278002A33 +:10D9A00003D0511889B28142F0D3F8BD491CF9E780 +:10D9B00062185678042EF8D1091D8142F5D8D67820 +:10D9C000977832023A435E6852BA964201D3002AEF +:10D9D00000D132462A87E5E750020020F04D0020B2 +:10D9E00070B50446007C00281BD00A2819D00128F5 +:10D9F00017D02546803528680026002802D0FEF77B +:10DA0000EDFC2E600020C043E086E06F00F0ADFE2C +:10DA1000E667606F00F0A9FEA06F00F0A6FE6667E3 +:10DA2000A66770BD70B50C460168A14202D1C968F5 +:10DA300001600BE0114806E0C968A14203D1C0694A +:10DA4000E168C16002E0C1610029F5D100252046EE +:10DA5000E560FFF7C5FF207C0A280CD001280AD01A +:10DA6000204620308178CA0705D0022211438170F8 +:10DA70002046FFF7A3FD257470BD0000980100202B +:10DA8000FEB50446C84F25463878203541070029A1 +:10DA90001BDA207C022813D0606AF9680A1A13D4B2 +:10DAA000228D8018081A00280EDC78780821084397 +:10DAB0007870A87840084000A8700520C043FEBDDB +:10DAC000A06D39698842F0D06CE180070CD5207CCC +:10DAD000022809D0032807D0A87802210843A8709B +:10DAE0002046FFF76BFD5DE1B048A9210068206387 +:10DAF000002008552046FFF72DFF207C2646801E7B +:10DB000040360300FAF7A4FF080565BEC3F0BEEF78 +:10DB1000EEB23878C106D7D5800748D5A06F006926 +:10DB2000001DEAF748FBFEF783FA3969401C88427A +:10DB30003AD1F08D401CF085F8680246401C6062C6 +:10DB4000E164E0627968521EC87B897B0002084369 +:10DB5000B083042022662074208F211DFEF7CEFFA3 +:10DB60000A2120874143B182718A012900D14000F6 +:10DB70007082308E401E3086A16F0868A067002832 +:10DB80000ED00020E086B072084600F0DDFD8C204B +:10DB90000359002BA0D000222146606998479BE7DB +:10DBA0000020C043E086EFE73878C0068CD579685E +:10DBB00048780A7800021043CA788B78110219431A +:10DBC000009101907988F868BB6841181A46386955 +:10DBD00048E03878C1064AD5E16C3869411A012914 +:10DBE00030D4A16D411A00292CDC04202074E36993 +:10DBF000002B0CD00022214660699847002806D0EF +:10DC000001212046FEF7C2FD0420C043FEBD778AF5 +:10DC1000204600F0D3F8B08D002801D0401EB0851A +:10DC2000208F012F00D1400070825F48407880062D +:10DC30001CD5A87802210843A8702046FFF7BEFC37 +:10DC4000072062E07A685178137809021943D37883 +:10DC500094781A022243009201917A88F968BB688D +:10DC600089181A4610320C3300F0ECFC9AE0800759 +:10DC700007D5606AF968401E884202D1204600F04C +:10DC80007AFC8FE0204600F099F87878CFE72046BC +:10DC900000F094F87878800638782FD5C00624D51F +:10DCA000A06D3969884220D1A87802210843A87064 +:10DCB0002046FFF783FC2046FFF792FE3C480168B0 +:10DCC000A14202D1C968016057E03A4806E0C9683C +:10DCD000A14203D10068E168C1604EE00160002903 +:10DCE000F5D14AE050E02FE011E0A8780221084386 +:10DCF000A8702046FFF762FC082006E0C00651D558 +:10DD0000A06D396988424DD1062020744AE0204632 +:10DD100000F054F87878800644D5A87802210843AA +:10DD2000A8702046FFF74AFC2046FFF759FE20481E +:10DD30000168A142C6D01F4802E0C968A142C9D00B +:10DD400001600029F9D118E0204600F037F8387852 +:10DD5000C00627D5A06D3969884223D12046FFF738 +:10DD60003FFE13480168A142ACD0124802E0C968E6 +:10DD7000A142AFD001600029F9D10A2020740E48D9 +:10DD80000168E16004600DE0204600F017F8387883 +:10DD9000C00607D5A06D3969884203D17878102173 +:10DDA000084378700020FEBD50020020A001002032 +:10DDB000AC010020B4010020B0010020FEB50446F3 +:10DDC000F848264600782036C00600287EDA254628 +:10DDD0004035A88B0190636EF249C0180090206E08 +:10DDE000CA688446871A0846416800690CD494457D +:10DDF00001D11F1A08D4834215D1CB7B8F7B1B0224 +:10DE00003B43019FBB420ED9CB7B8F7B1902394329 +:10DE1000A9832266606606D02146A0310A7A002ACC +:10DE200001D000220A72E26C811A00292ADC00214A +:10DE3000DC4BA9855B88002B22D1AF8B636EDF1989 +:10DE4000009B9F421CD13623E35E002B18DB8242ED +:10DE500016D1287C0146401C884200D92874287CB1 +:10DE6000032807D9688A218F411889B2814200D9D5 +:10DE700069829CE0032802D1204600F0A4FB96E0D2 +:10DE8000297494E0012975D4A36DC21A002A71DCAB +:10DE9000B278530704D5FB231A40B270AA8A6A826B +:10DEA0000022AA720423EB5EEF88DB10DB192B81C2 +:10DEB000A985EB8D5918E9852A74E064207C042833 +:10DEC0002FD36F8AA88A8742208F00E0B2E004D265 +:10DED000381880B2B84208D823E040433946EAF700 +:10DEE0000BF9C01980B287421BD2688219E03868EA +:10DEF000A067A88D00280BD03969487B097B0002F8 +:10DF00000843FEF797F8C00702D0A88D401EA885E9 +:10DF10007868FEF7DBF9298E081A2886384600F063 +:10DF200013FCA06F002822D00069001DEAF743F916 +:10DF3000FEF77EF80746A06F0169487B097B000267 +:10DF40000843FEF777F8800700D001203818A76F44 +:10DF5000B989411893480069081A0028C7DD002FC5 +:10DF600005D00020E0860020307520E002E000208F +:10DF7000C043F7E70020A88519E038686067A88DDE +:10DF800000280BD03969487B097B00020843FEF763 +:10DF900051F8C00702D0A88D401EA8857868FEF70A +:10DFA00095F9298E081A2886384600F0CDFB606F57 +:10DFB00000281DD00069001DEAF7FDF8FEF738F8CB +:10DFC0000746606F0169487B097B00020843FEF742 +:10DFD00031F8800700D001203818676FB9894118DF +:10DFE00070480069411A03D4A16D401A0028C4DDAD +:10DFF000E06B00281ED06B49226C0969511A19D5B3 +:10E0000069490988081A0421695ECA10801A00B299 +:10E01000091809B2A980002801DA404200B206229C +:10E02000AA5EC9109310C01A1018E8800818288139 +:10E030000020E0635B4D6B88002B7DD0626AE9684D +:10E04000501A01282AD4CB18D31A5B1C002B25DCCC +:10E0500056494F68798981420BDA3989091A8AB29F +:10E06000002303E03A817B813F68401A798981422D +:10E07000F8DB404201B23846FEF7D2F94B487968E6 +:10E080008160AB89626A8189D31AC91A8181016969 +:10E090001046091DEA60EAF798F808E0881A0AD5E0 +:10E0A000B17802200143B1702046FFF787FA606A19 +:10E0B000E968081A7ED4218D606A4218E9688A1AD4 +:10E0C000521C002A76DC884275D1384F3969487B6A +:10E0D000097B00020843FDF7ADFF800701D0012155 +:10E0E00000E000213148808908182E4980B248801C +:10E0F000218D814240D22D4D2969487B097B000248 +:10E100000843FDF797FFC00714D02948FCF7E2FD4C +:10E1100007462869417B027B080210430740FDF750 +:10E1200089FF3E210840FCF7D5FD07432869390ADD +:10E1300007734173208D00E0C1E1A8812969487B04 +:10E14000097B00020843FDF775FF800702D5A88907 +:10E15000401EA881A9896868FEF795F92969487B5E +:10E16000097B00020843FDF765FF800700D001200E +:10E17000A98940180B494880E06F002811D00B484E +:10E180000169487B097B00020843FDF753FFC00784 +:10E1900004D111E00168E16700F0D6FAE06F0028D1 +:10E1A000F8D189E050020020A00100202C58002066 +:10E1B000C0FF00007FE1FBE0E76F3AE0687B297B6E +:10E1C00000020843FDF736FFC0072ED0C54800699E +:10E1D000417B027B08021043FDF72CFF800724D40B +:10E1E000C148FCF777FD0546BE480169487B097BBD +:10E1F000000208430540FDF71DFF8006800E012147 +:10E200000843FCF767FDB74928430969020A087308 +:10E210004A73FDF70FFF800701D0012100E00021C4 +:10E22000B04880890818B149488038463F6800F0F6 +:10E230008BFA002F3FD038690546001DE9F7BBFF78 +:10E240000146B8890918A948C26840881018401AC0 +:10E25000B4D53869001DE9F7AEFF0146A348C5688B +:10E2600040882818401A002825DDE06F0069001D4D +:10E27000E9F7A1FF401B9B4DA8812869427B017BE8 +:10E2800010020843FDF7D6FE800702D5A889401E7C +:10E29000A881A9896868FEF7F6F82969487B097B97 +:10E2A00000020843FDF7C6FE800700D00120A989BF +:10E2B00040188E494880E7678C4D6888E9680918DE +:10E2C0006162218D081A2085204600F01FFC8548D8 +:10E2D00041680A89002A02D0696100214160016910 +:10E2E000487B097B00020843FDF7A4FEC0074AD023 +:10E2F000687820210843687045E0E8600098417B19 +:10E30000027B08021043FDF795FE800700D0012034 +:10E31000BA89616A8918401860623969487B097B4B +:10E3200000020843FDF786FE800700D00120B9896E +:10E330004018218D081A2085204600F0E7FB7968F7 +:10E340000889002808D06869002802D0FDF7A2FFDC +:10E3500000E06961002078603969487B097B000230 +:10E360000843FDF767FEC00708D0687820210843FE +:10E370006870207C042801D1072020743868E06789 +:10E38000384600F0E1F9E76F002F07D038690090B8 +:10E39000001DE9F710FF616A8842AED0B078C1076E +:10E3A00002D04008400095E001210843B070FEBD56 +:10E3B000204600F0F2F9E66F002E18D04B480027F7 +:10E3C000C5683069001DE9F7F6FE0090A84213D138 +:10E3D0004448B18980898842E9D9424800F0A2F9CD +:10E3E0000028E4D0002F38D0386031462BE03D487B +:10E3F00000F098F9E067FEBD002F27D03869001DB6 +:10E40000E9F7D9FE281A012829D40098281A401CB7 +:10E41000002824DC334800F085F90400EBD038698B +:10E42000001DE9F7C8FEB98942183049C968521A77 +:10E43000002A05DD081A81B2B9817868FEF723F851 +:10E44000314620463C60FFF75FF8FEBD281A06D52E +:10E45000244800F067F90028F7D0E067C5E7316885 +:10E46000002924D10098281A002820DD3069417B3A +:10E47000027B08021043FDF7DDFDC007E5D1194816 +:10E4800000F050F930600028DFD03069001DE9F756 +:10E4900092FEB18942181549C968521A002AD4DD82 +:10E4A000081A81B2B1817068FDF7EDFFFEBD3746F5 +:10E4B0000E0086D1FEBD204600F06FF9FEBD606AF9 +:10E4C000E9680A1A05D4228D8018081A401C002811 +:10E4D000F4DDB07802210843B0702046FFF76EF8F3 +:10E4E000FEBD00002C580020C0FF0000500200209C +:10E4F00010B51400084606D0218900F00BF820461C +:10E50000FDF76CFF01E0002B01D0002010BDFEF7ED +:10E510009BFA10BD70B50446008D0C4D401881B2B9 +:10E5200021856868814200D92085204600F0EEFAF6 +:10E5300069688908814208D8204620308178022203 +:10E54000114381702046FFF739F870BDF04D00206F +:10E5500010B5018504464185002901D000F0D6FAA6 +:10E560002046203081780222114381702046FFF737 +:10E5700025F8012010BDF8B5866F0446002E21D085 +:10E58000306825467435A06700E02D6828680028AB +:10E590000ED00069001DE9F70EFEFDF749FD0746A4 +:10E5A0003069001DE9F707FEFDF742FD381AECD48B +:10E5B00028683060214640312E60887A401C88727D +:10E5C0000020E063F8BD70B50446806F002820D0BD +:10E5D00025462035A87840071BD42046FFF7CBFFFF +:10E5E00020464030428A818B8A4201D9490800E0A6 +:10E5F00051088182228F8BB251008B4200D28182DE +:10E60000818A5300D21889184182A87804210843CE +:10E61000A87070BD10B5816F002912D000E01146BE +:10E620000A68002AFBD1426F0A60816F002282676C +:10E630004167014640318B7A5B1C8B72C263FEF7E7 +:10E64000BDFF10BDFFB50E4683B01F46002214214A +:10E650000120FDF795FD05005ED06C680C98FCF775 +:10E6600039FB2070000A60700D98FCF733FBA07036 +:10E67000000AE0700398FCF72BFB211DE9F7A5FDCC +:10E680003046FCF725FB21460831E9F79EFD23487B +:10E69000FCF720FB617B227B0902064611430E40FA +:10E6A0001420FCF717FB06432673300A60731C48DE +:10E6B000808880B2FCF70EFBA073000AE07300268E +:10E6C000A674E674607B217B00020843FDF7B2FC70 +:10E6D00080060521800E09034018FCF7FBFA207321 +:10E6E000000A60732674300A60742889009006233B +:10E6F0003A4628460599FCF749FC2074000A6074E4 +:10E7000006200096019080233A4628460599FCF79A +:10E7100069FE2846FDF762FE07B0F0BDC0FF0000AD +:10E72000F04D002070B505460420FDF7C5FB040040 +:10E7300008D014222946E9F7F3FC6068FDF7CCFE07 +:10E74000204670BD002070BD70B50025044600282D +:10E7500009D06068002802D0FDF740FE054621463A +:10E760000420FDF777FB284670BD70B5002405E056 +:10E770000568FFF7E9FF0019C4B228460028F7D161 +:10E78000204670BD1CB500230122019300920B4668 +:10E7900000221146FEF7C4F91CBD7CB504460026D4 +:10E7A000324614210120FDF7EBFC050029D020465C +:10E7B00020308178890889008170A06DFCF788FA83 +:10E7C0000346324629462046FFF76CF8064628895C +:10E7D00000900623221D21462846FCF7D7FB307403 +:10E7E000000A7074A07A062101910090E37A221D3C +:10E7F00021462846FCF7F6FD2846FDF7EFFD0020F0 +:10E800007CBD0120C0437CBDF0B597488BB0007E35 +:10E81000964E0690B0680027401CB0600797746958 +:10E8200006E138467F1CFFB264287DD80025089594 +:10E83000227C022A06D14A20015D0698814201D13C +:10E84000012554E0214640318B7A0698834201D15C +:10E85000012543E02046A0308446007A002813D0EA +:10E8600023468033596A824A491C5962825C91422C +:10E8700034D300215962072802D26146401C087235 +:10E88000204600F079F929E03620205E002801DBDF +:10E89000401CE086A06F002820D03620205E012892 +:10E8A0001CDB022A08D00420085ECA88C010801829 +:10E8B000704AD25C904008810020E086488A8A8BAA +:10E8C000904200D3104640088882228F904201D2A5 +:10E8D000500088824A822046FFF79CFE207C062852 +:10E8E00005D1206BB168081A282800D96D1C207A40 +:10E8F000000736D5207C042801D0072831D12046D6 +:10E900008030026AC16904914A4380690990FF21FD +:10E910001018F531E9F7DAFB0146206BB268101ADE +:10E920000190814205D200E09CE001206D1C08901E +:10E9300017E02046A0300090407A04994843099996 +:10E940004018FF21F531E9F7C1FB014601988142EA +:10E9500007D22046FEF7F0FC00980099407A401C50 +:10E960004872E06F00280CD0216BB2684823521A1D +:10E97000195F062359438A4203D3FFF7F6FE0020AE +:10E98000E067207C032802D0092807D00BE0216B28 +:10E99000B068401A282806D96D1C04E0216BB068C5 +:10E9A000401AF028F8D8002D29D02046F3F736FB7E +:10E9B0002046FFF715F80798002802D0E168C160EB +:10E9C00001E0E068706194200259002A03D004211C +:10E9D000C943606990470898002809D0218C208B92 +:10E9E00001910090231D2246616AA06DFFF72AFE67 +:10E9F00021460220E568FDF72DFA2C4618E0204656 +:10EA00002030017D491CC9B20175427D91420DD370 +:10EA10000021017590200259002A04D02146606926 +:10EA20009047002802D12046FEF7C8FD0794E4680D +:10EA3000002C00D0F5E60025B46911E02046F3F77C +:10EA4000EDFA2046FEF7CCFFE068002D01D0E8602B +:10EA500000E0B06121460220E768FDF7FBF93C4683 +:10EA6000002CEBD10BB0F0BDAC4D00209801002084 +:10EA70009FF20100A7F201007CB51B4C21784A07E8 +:10EA800030D4224652888B071CD5436AE168CD1AE0 +:10EA90001DD4058D5B19CB1A002B18DC636889180F +:10EAA00058781D7800022843DD789E782B02334386 +:10EAB00000930190A36820691A4610320C33FFF7C7 +:10EAC000C1FD0FE0C90702D0084909680163002AA7 +:10EAD00008D0014620318A7802231A438A70FEF753 +:10EAE0006DFD7CBD00207CBD50020020A0010020F7 +:10EAF00010B5FEF705FA04480178491C0170C807F3 +:10EB000001D0FFF781FE10BD9801002030B50D49FE +:10EB1000058D4968446A4A08018F63198A4200D208 +:10EB20001146C26A8918591A02D44585981A30BD0F +:10EB3000A11A002901DD002100E0111B4185002000 +:10EB400030BD0000F04D00201CB5047C042C08D022 +:10EB5000072C06D0022C04D0032C02D00720C0437F +:10EB60001CBD002A06D00024009301942346FDF723 +:10EB7000D7FF1CBD00201CBDFEB5846F0546002CD0 +:10EB800002D16C6F002C53D02169487B097B0002B5 +:10EB90000843FDF74FFAC00702D0A089002827D00C +:10EBA00000201521009000220120FDF7E9FA06005F +:10EBB0003ED02069001DE9F7FEFA034600223146E7 +:10EBC0002846FEF76FFE07460098002814D0194823 +:10EBD000FCF780F8797B3A7B0902044611430C402C +:10EBE0001120FCF777F804433C73200A787307E0A0 +:10EBF000012014210090D6E7A0687168007808759C +:10EC00003089009006232A1D29463046FCF7BEF9BC +:10EC10003874000A78740621002001910090EB7A84 +:10EC20002A1D29463046FCF7DDFB3046FDF7D6FBB2 +:10EC3000FEBD0000C0FF0000F7B50546234882B0C6 +:10EC400014460026076817E0BD4201D1012612E0F4 +:10EC5000788AA0420FD1002F2BD03868009000286E +:10EC600027D00398002824D0E9F7A5FA002820D05F +:10EC7000009988421DD0FF68002FE5D10398002835 +:10EC800001D0E9F798FA2860002C16D10F4801242A +:10EC90000168240308460E4A07E04B8AA34203D1C9 +:10ECA000641CA4B2014600E0C968002905D0944262 +:10ECB000F3D10A20C04305B0F0BD6C82002E03D111 +:10ECC00002480168E96005600020F4E7E4010020E3 +:10ECD000FF7F000070B51646428A0D460446002AA2 +:10ECE00004D10146FFF7A8FF00281FD1002D0ED048 +:10ECF0002846E9F760FA6060A682217C042211436D +:10ED00002174002C07D02168002902D00FE00020D8 +:10ED1000F1E7211D0FD0002809D0201DFCF702FCCF +:10ED2000002801D0406807E00320C04370BD211DCA +:10ED300001D0002801D10020206007490868024660 +:10ED400004E0844201D1002070BDC0680028F8D1E1 +:10ED5000E2600C60F7E70000E4010020F3B54568CD +:10ED6000074668782978000289B00843FDF762F900 +:10ED70000005000F80003989083088420ED8687875 +:10ED8000297800020843FDF755F90005000F8000BF +:10ED900041423846FDF744FB002804D03846FDF7D1 +:10EDA0001DFB0BB0F0BD78680590284610300A991D +:10EDB0000290FCF727F90490059841780278080240 +:10EDC0001043FDF737F903900598C178827808025F +:10EDD0001043FDF72FF900240690442805D00020A9 +:10EDE00000900190644804686AE0039843286FD15A +:10EDF0000A98006A00286BD04668002E68D0301D43 +:10EE00000BD070680090002807D028460C30E9F736 +:10EE1000D2F90146009881425AD1344661E000207F +:10EE20000790618A0698814241D10498002804D154 +:10EE3000002C18D02068002815D00298E9F7BBF9FB +:10EE40000146206881420ED00F200E460007FDF7D4 +:10EE5000EFF8064007204007FDF7EAF8864202D0A7 +:10EE60000498002821D0012007900198002803D1A0 +:10EE7000207C400700D40194A18A0398814216D1D6 +:10EE8000201D08D06668002E05D028460C30E9F712 +:10EE900092F9B0420BD10098002814D0E168C1600B +:10EEA00035480168E16004600DE0009407E00798D0 +:10EEB0000094002803D031490698884203D0E468C2 +:10EEC000002CACD101E0002C0BD1019C002C08D10E +:10EED0000298E9F770F901460A984068814200D02B +:10EEE0005CE70598C1798279080210430AD0388915 +:10EEF0000090294611230C313846029AFCF746F857 +:10EF00000028EDD10721C9433846FDF789FA0028CA +:10EF1000E6D1002C0BD0A669002EE1D0039800901A +:10EF20002B460C333A462146E069B04739E704984E +:10EF30000028D5D10298E9F73EF904460F200007D2 +:10EF4000FDF776F8044007204007FDF771F884428A +:10EF5000C6D06878297800020843FDF76BF80005F1 +:10EF6000000F810038460831FDF75AFA0321384670 +:10EF7000FBF7B2FE12E70000E40100206C0700007E +:10EF800010B50120FCF798FF040004D02021E9F718 +:10EF9000E0F88020E072204610BDC26181617047B8 +:10EFA00010B50B490A6882420AD1D2680A6009E0AA +:10EFB000D168002903D0814201D1C168D1600A46DD +:10EFC000002AF5D101460120FCF744FF10BD0000E6 +:10EFD000E401002010B5838A021D00F001F810BD85 +:10EFE000F8B507461D460E4614461046FCF79AFA39 +:10EFF000002807D000902B4622463146384600F0C4 +:10F0000004F8F8BD0320C043F8BDFFB5428A85B0BF +:10F010000F460546002A04D10146FFF70DFE0028E1 +:10F0200012D108213846FDF7FBF900280ED0002246 +:10F0300008210120FDF7A4F8040003D03946FDF7AC +:10F040003DF904E00020C04309B0F0BD3C46688AA9 +:10F050006668FBF73FFE3070000A70700898FBF797 +:10F0600039FEB070000AF0700020B071F071002D10 +:10F070000ED0286800280BD00E99496888420BD022 +:10F08000BC4202D02046FDF7A9F90820C043DBE7C7 +:10F090000E98001D039000E003952089FBF71AFEEF +:10F0A0003071000A7071287CC00710D1208900904F +:10F0B00011232046079A0399FBF768FF010AB071F4 +:10F0C000F171002803D1401EB071000AF071A87AD6 +:10F0D00011216B460E9A07C3EB7A2046079A0399D3 +:10F0E000FCF79AF90546BC4202D02046FDF776F9B6 +:10F0F0002846A9E7FFB581B0044615460298E9F70E +:10F100005AF809266168F643884203D10120F2F7D4 +:10F11000EBFA19E00299002916D0002814D02146F4 +:10F120000298FBF76FFF00280ED10298E9F743F829 +:10F1300007460F200007FCF77BFF0740072040072A +:10F14000FCF776FF874202D1304605B0F0BD049946 +:10F150000298FBF703FD0100F7D40B0108490220D8 +:10F160004A689918887206209A18CC60401EC0B26E +:10F1700014182B5C23710028F8D1C872E5E7000051 +:10F18000E801002001060000000000005555EE07D0 +:10F1900003010000000000005555EE0603010A00BF +:10F1A000000000005555EE060700010000000000B9 +:10F1B00034F5010024F40100A8F501008CF50100EC +:10F1C00090F30100B8F3010034F9010050F9010097 +:10F1D00054F40100C0F50100F0F40100D0F4010086 +:10F1E000E0F301005CF60100A4F60100D4F5010093 +:10F1F0008CF7010054F70100B4F8010060F8010039 +:10F200000CF8010034F8010010F90100ECF80100DD +:10F2100084F80100DCF601000CF5010034F6010071 +:10F2200004F7010064F501006CF90100E8F7010042 +:10F2300080F6010010F6010030F70100C4F701006C +:10F24000B0F4010094F40100636D5F6261636B745C +:10F25000726163655F61737365727400636D5F6291 +:10F2600061636B74726163655F6661756C740000E5 +:10F2700074F3010078F301007CF3010080F30100D6 +:10F280008CF3010088F3010084F3010020F40100F5 +:10F29000001112131415161718191A1B1C1D1E1F06 +:10F2A00003060C1830607801010101010101010120 +:10F2B000010101010101010101010100000000FF44 +:10F2C000FFFFFFFFFFFFFFFFFF0000000000000047 +:10F2D000466C6173685F577269746520466C617330 +:10F2E000685F6164643A3078253038582053524161 +:10F2F0004D5F416464723A30782530385820777217 +:10F300006974655F73697A653A30782530385820BA +:10F310000D0A00004C4F472073746172745F726570 +:10F3200061645F6164643A30782530385820204643 +:10F330006C617368205265616420416464723A3084 +:10F3400078253038582073746172745F466C61732D +:10F35000685F6164643A30782530385820207265DF +:10F360007461696E5F73697A653A30782530385810 +:10F37000200D0A005230200052312000523220006D +:10F3800052332000504320004C52200052313200B2 +:10F390003D3D3D3D3D3D3D3D3D3D3D20CFDFB3CC81 +:10F3A000B6D1D5BBD0C5CFA2203D3D3D3D3D3D3D75 +:10F3B0003D3D3D3D000000003D3D3D3D3D3D3D3D71 +:10F3C0003D3D3D3D20D6F7B6D1D5BBD0C5CFA2201F +:10F3D0003D3D3D3D3D3D3D3D3D3D3D3D0000000051 +:10F3E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D +:10F3F0003D3D3D3D3D3D3D3D3D20BCC4B4E6C6F7F1 +:10F40000D0C5CFA2203D3D3D3D3D3D3D3D3D3D3D37 +:10F410003D3D3D3D3D3D3D3D3D3D3D3D3D3D000096 +:10F4200050535200B9CCBCFEC3FBB3C6A3BA25737C +:10F43000A3ACD3B2BCFEB0E6B1BEBAC5A3BA2573C5 +:10F44000A3ACC8EDBCFEB0E6B1BEBAC5A3BA257385 +:10F4500000000000B2E9BFB4B8FCB6E0BAAFCAFD24 +:10F46000B5F7D3C3D5BBD0C5CFA2A3ACC7EBD4CB24 +:10F47000D0D0A3BA61646472326C696E65202D6568 +:10F480002025732573202D61202D6620252E2A73BB +:10F4900000000000B7A2C9FAD7DCCFDFB4EDCEF38D +:10F4A000B5C4B5D8D6B7A3BA253038780000000067 +:10F4B000B7A2C9FAB4E6B4A2C6F7B9DCC0EDB4EDA0 +:10F4C000CEF3B5C4B5D8D6B7A3BA25303878000086 +:10F4D000D4DAD6D0B6CFBBF2C2E3BBFABBB7BEB369 +:10F4E000CFC2B7A2C9FAB4EDCEF3D2ECB3A30000F9 +:10F4F000D4DACFDFB3CC28257329D6D0B7A2C9FA86 +:10F50000B4EDCEF3D2ECB3A300000000B7A2C9FA69 +:10F51000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAA3 +:10F52000CAD4CDBCC7D0BBBBB5BD2041524D20D73E +:10F53000B4CCAC00B4EDCEF3A3BACEDEB7A8BBF129 +:10F54000C8A1D6F7D5BBD0C5CFA2A3ACC7EBBCEC46 +:10F55000B2E9D6F7D5BBB5C4CFE0B9D8C5E4D6C3B8 +:10F5600000000000B7A2C9FAD3C3B7A8B4EDCEF328 +:10F57000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D02E +:10F58000B7C7B6D4C6EBB7C3CECA0000D4DAD6D05C +:10F59000B6CFBBF2C2E3BBFABBB7BEB3CFC2B7A212 +:10F5A000C9FAB6CFD1D40000D4DACFDFB3CC282546 +:10F5B0007329D6D0B7A2C9FAB6CFD1D400000000C3 +:10F5C000BBF1C8A1BAAFCAFDB5F7D3C3D5BBCAA7B3 +:10F5D000B0DC0000B7A2C9FAB4E6B4A2C6F7B9DC41 +:10F5E000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F362 +:10F5F000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4A8 +:10F60000C7F8D3F2B6C1A1A2D0B4CAFDBEDD0000D6 +:10F61000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD52 +:10F62000D2F2A3BACAFDBEDDBCE0B2E2B5E3C6A524 +:10F63000C5E40000B7A2C9FAD3C3B7A8B4EDCEF3AE +:10F64000A3ACD4ADD2F2A3BACEDED0A7B5C4D2EC6F +:10F65000B3A3B7B5BBD8C2EB00000000B7A2C9FA8C +:10F66000D3B2B4EDCEF3A3ACD4ADD2F2A3BAC8A159 +:10F67000D6D0B6CFCFF2C1BFCAB1B3F6B4ED000059 +:10F68000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4ADE2 +:10F69000D2F2A3BAD6B4D0D020424B505420D6B820 +:10F6A000C1EE0000B7A2C9FAB4E6B4A2C6F7B9DC4D +:10F6B000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F391 +:10F6C000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4D7 +:10F6D000C7F8D3F2C8A1D6B8C1EE0000B7A2C9FAE4 +:10F6E000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAD2 +:10F6F000C6F3CDBCD6B4D0D0CEB4B6A8D2E5D6B879 +:10F70000C1EE0000B7A2C9FAD3C3B7A8B4EDCEF3D7 +:10F71000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D08C +:10F72000D0ADB4A6C0EDC6F7D6B8C1EE000000005B +:10F73000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD31 +:10F74000D2F2A3BAB7A2C9FACFF2C1BFB2B6BBF127 +:10F7500000000000B7A2C9FAB4E6B4A2C6F7B9DC4B +:10F76000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC8EBE6 +:10F77000D5BBCAB1C6F3CDBCB7C3CECAB2BBB1BB51 +:10F78000D4CAD0EDB5C4C7F8D3F20000B7A2C9FA05 +:10F79000B4E6B4A2C6F7B9DCC0EDB4EDCEF3A3ACC9 +:10F7A000D4ADD2F2A3BAB3F6D5BBCAB1C6F3CDBCC1 +:10F7B000B7C3CECAB2BBB1BBD4CAD0EDB5C4C7F8CB +:10F7C000D3F20000B7A2C9FAB5F7CAD4B4EDCEF3AC +:10F7D000A3ACD4ADD2F2A3BACDE2B2BFB5F7CAD4CE +:10F7E000C7EBC7F300000000B7A2C9FAB5F7CAD447 +:10F7F000B4EDCEF3A3ACD4ADD2F2A3BA4E56494386 +:10F8000020CDA3BBFAC7EBC7F3000000B7A2C9FA2B +:10F81000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA34 +:10F82000BEABC8B7B5C4CAFDBEDDD7DCCFDFB4ED13 +:10F83000CEF30000B7A2C9FAD7DCCFDFB4EDCEF328 +:10F84000A3ACD4ADD2F2A3BAB2BBBEABC8B7B5C4F9 +:10F85000CAFDBEDDD7DCCFDFB4EDCEF30000000083 +:10F86000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4ADE9 +:10F87000D2F2A3BAD6B8C1EED7DCCFDFB4EDCEF367 +:10F8800000000000B7A2C9FAD7DCCFDFB4EDCEF399 +:10F89000A3ACD4ADD2F2A3BAB6E8D0D4B1A3B4E647 +:10F8A000B8A1B5E3D7B4CCACCAB1B7A2C9FAB4ED2C +:10F8B000CEF30000B7A2C9FAB4E6B4A2C6F7B9DC29 +:10F8C000C0EDB4EDCEF3A3ACD4ADD2F2A3BAB6E89A +:10F8D000D0D4B1A3B4E6B8A1B5E3D7B4CCACCAB127 +:10F8E000B7A2C9FAB4EDCEF300000000B7A2C9FA7E +:10F8F000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA54 +:10F90000C8EBD5BBCAB1B7A2C9FAB4EDCEF30000BB +:10F91000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4AD38 +:10F92000D2F2A3BAB3F6D5BBCAB1B7A2C9FAB4ED45 +:10F93000CEF30000B4EDCEF3A3BACFDFB3CCD5BB8A +:10F94000282530387829B7A2C9FAD2E7B3F60000E3 +:10F95000B4EDCEF3A3BAD6F7D5BB28253038782935 +:10F96000B7A2C9FAD2E7B3F600000000B7A2C9FAFD +:10F97000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BA3F +:10F98000C6F3CDBCD6B4D0D0B3FD203020B2D9D789 +:10F99000F70000005564705F496E7465726E616CAB +:10F9A0005F53657269614E65745F55706C6F616419 +:10F9B000696E672049503A253032582E253032582A +:10F9C0002E253032582E2530325820506F72743A1E +:10F9D00025640D0A00000000C9FDBCB6CAA7B0DC52 +:10F9E000A3ACB5D8D6B7B4EDCEF320646174615F33 +:10F9F0006275666665725B305D202620307832461F +:10FA0000464530303030203D2025583B206461741D +:10FA1000615F6275666665725B315D3D25580A00FF +:10FA2000544654502041434B207061636B657420F1 +:10FA30002D2D20536F636B657449643A2564202C27 +:10FA400020706F72743A2564202C206C656E3A2504 +:10FA50006C64202C2049503A25642E25642E2564A0 +:10FA60002E25640A0000000046494E5F5741495464 +:10FA70005F31000046494E5F574149545F320000F4 +:10FA800045535441424C495348454400434C4F531D +:10FA90004544000053594E5F524356440000000055 +:10FAA000434C4F53494E47004C4153545F41434BE5 +:10FAB000000000004C495354454E000054494D4548 +:10FAC0005F57414954000000434C4F53455F574135 +:10FAD0004954000053594E5F53454E5400000000F6 +:10FAE00000FB0100000000208402000012870000DB +:10FAF000A4FB010084020020BC6900007A8A010096 +:10FB0000013002471F12011A040412013A050212C1 +:10FB100006121C12201AAC041A14041210146002EB +:10FB2000209240180B34D0B810E0F5C0A801C804EA +:10FB30007501FFFFFF100F6A4B25E1C0A8651F404C +:10FB40001F901F0B0D42800211023A90B339061B21 +:10FB5000117201011A0B10EB0342395501410314D4 +:10FB6000CDAB1BE046ED011A041A106E19148CFA85 +:10FB7000011AB4041AD4041A94041A80041A6804EA +:10FB80001A74041AC8041AA0041AA8041ABC04811E +:10FB90000B1BF44A70013922881B2078040B34E0D7 +:04FBA00035600000CC +:0400000500008091E6 +:00000001FF diff --git a/RCU-10/RCU/bin/Debug/FlexCell.dll b/RCU-10/RCU/bin/Debug/FlexCell.dll new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/FlexCell.dll differ diff --git a/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.Streams.dll b/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.Streams.dll differ diff --git a/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.dll b/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/K4os.Compression.LZ4.dll differ diff --git a/RCU-10/RCU/bin/Debug/K4os.Hash.xxHash.dll b/RCU-10/RCU/bin/Debug/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/bin/Debug/K4os.Hash.xxHash.dll differ diff --git a/RCU-10/RCU/bin/Debug/MySql.Data.dll b/RCU-10/RCU/bin/Debug/MySql.Data.dll new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/MySql.Data.dll differ diff --git a/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.tar.gz b/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.tar.gz new file mode 100644 index 0000000..02d0884 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.tar.gz differ diff --git a/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.txt b/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.txt new file mode 100644 index 0000000..2590e30 --- /dev/null +++ b/RCU-10/RCU/bin/Debug/Pad1809CC/Pad1809CC数据.txt @@ -0,0 +1,94 @@ +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 70 01 00 E9 03 01 19 03 02 F2 AB + + +豸 +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 65 00 01 F2 00 04 6D +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 FE 19 C2 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 + +ѯ +AA 55 1A 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 47 00 00 11 09 E9 + +ѯ +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 CD 00 0A F5 50 41 44 5F 31 38 30 39 43 43 21 AE + +ѯ +AA 55 29 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D8 00 0F F6 50 61 64 43 6F 6E 66 69 67 5F 32 2E 78 6D 6C 33 81 + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 67 00 01 F0 00 7C CD + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 66 00 01 F1 00 40 9D + +ѯò +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D9 00 0A F4 00 FF 00 14 09 04 0D 31 23 00 04 45 + +ò +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 64 00 01 F3 00 38 3D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/Debug/Pad1809CC/UpFileData.txt b/RCU-10/RCU/bin/Debug/Pad1809CC/UpFileData.txt new file mode 100644 index 0000000..44e415a --- /dev/null +++ b/RCU-10/RCU/bin/Debug/Pad1809CC/UpFileData.txt @@ -0,0 +1,136 @@ +ļȷݣ + + +1F 8B 08 00 00 00 00 00 02 03 ED 97 49 6F E3 36 14 80 73 1E 60 FE 83 7F 80 ED 72 5F 74 4B 32 2D 7A 48 66 8C 04 1D B4 27 43 B6 69 47 A8 24 1A 5A B2 F4 D0 DF 3E 8F 12 B5 D8 31 9D 5C 5A A0 45 08 03 06 EC EF AD 7C 7C 7C DC 26 A9 49 93 B2 9A 57 CF D5 C5 3F B4 10 2C C1 58 F3 0D EB F8 5B 22 C6 2F 30 95 44 30 CA 30 85 DF 31 C1 0C 5F 4C D0 C5 BF B0 EA B2 8A 8B C9 E4 A2 B0 F6 6C 02 DE FA FF 3F BA 2E 17 8B 9F A6 53 82 08 9A 21 39 43 64 82 48 44 59 44 F4 14 7F FE B4 B8 FC B2 C4 0A E9 EB EB 29 C7 5C 08 34 80 78 82 44 44 69 C4 C8 94 7C FE F4 8B CD AB 72 A4 07 A3 09 92 11 67 11 A3 4E CF B7 C5 E2 DB 7D 9C 97 B3 DB 79 55 6D A7 18 21 85 04 51 80 63 0D EC 0C 63 67 96 A1 88 20 ED CE AE 6C 65 67 77 66 57 A7 71 D1 8A 00 2E 85 13 00 DB 74 86 B9 33 8F 45 C4 85 13 58 C7 D9 AA 48 62 20 D7 40 62 2D 19 6A 75 23 50 0F 21 E1 08 E9 88 63 87 66 E5 CB 43 CB 69 C1 A4 A4 C2 83 A0 53 4F 10 38 CC 22 DC 80 77 A6 B4 75 B1 36 7D 54 A2 51 25 9C 9B 60 15 A2 BA BA F9 3E 5F 65 FB 29 21 58 2A E2 F4 A8 46 0F 9B 60 1A 61 14 51 EE F4 DC 43 79 55 A6 98 EF 92 ED 94 50 02 BE 79 7D 6C 46 21 4B 90 41 F8 28 47 AE E2 F5 9F BB C2 D6 F9 66 BE CF 77 90 25 25 30 EB E3 20 74 82 78 44 65 C4 DA 90 53 13 E7 4B BB DD 36 2C 51 84 9F 20 D9 88 CC 1B 90 0B 4A C3 A0 5D 97 0F F6 A9 05 09 3F 65 BB 71 74 5D 17 55 9C 0C D6 B1 6E C3 87 64 E3 19 52 13 48 36 6C 27 96 07 6C 6B 1F 53 45 70 88 7D B0 99 B9 4C 8A 06 A4 08 4A B0 E5 C8 0C 0B 57 4E 14 45 08 77 DC 10 BA 24 F2 84 A3 7A 00 5B CB 8A 0B 12 E2 D2 64 F7 50 5D DB D4 16 83 5A 72 52 2D 3B C6 7D 58 98 75 E5 1C C0 6F 92 7C F0 19 0E 00 E9 8B DF D1 D8 1D 25 4E 7A 7A 1C 1D 3A EB 75 1F 1E 3D 13 5E BD 36 F9 FA C5 6F C0 90 7E AC 9C 65 C6 3D 96 C5 D5 FA 61 B0 AC F5 61 02 44 04 C5 4A 9A 88 32 BB 31 8B C2 94 E5 10 11 C5 3A 14 FF 88 6E 7D 95 BD 13 27 E0 BA 4C D6 DE 01 2E 06 57 99 73 95 43 6F D2 3D 75 59 54 A3 8C BE AA 6B 0E A7 1E F5 F0 6D 5D 8D F2 4F 25 3F 28 42 E5 1C C0 E4 88 F6 7B CB B4 78 ED 2D 1F 54 7F 35 CF A3 0D 23 38 78 6E 46 B4 3F 8D 44 AB B3 F0 22 AE CB 51 A9 2B 46 DE 83 FB 8A D0 9C 9E A7 D3 F8 65 B4 DD 18 BD 83 6E 55 6B F4 96 EA C2 3C 26 B6 2E 47 69 41 F2 9D 12 3E 35 14 F1 90 40 6E 37 30 B1 D4 C5 6A 50 2F F4 A9 F2 E3 47 B4 57 8D 19 0A C1 B6 1E D5 14 97 22 54 A6 0D D7 AA A3 22 8C ED E3 D4 54 95 69 38 86 A4 40 A1 1A F5 E0 72 55 F9 A2 D3 8C 87 7C DC DB 27 33 34 2A 2C B9 0E 35 54 4F E6 DD 1D 11 EC 68 FB C2 EE 9A 13 EA EE 20 7F A0 18 15 27 F4 F2 03 7C 5B C0 C5 DF 26 55 F5 59 3D E0 9B CB 0A 66 A7 AC 6B 2A EC E0 4C C3 25 0E 4D A5 D9 D5 12 9A 94 B9 37 C5 E3 28 38 72 BA AD F0 57 7C D7 86 95 08 6E 6D B9 49 B2 CC 14 3E 3A A2 43 DD B2 4C 93 8D B9 82 BB B0 4D 04 61 4C 87 8E 7F 83 7A 8D 12 F3 90 C6 CA 64 FB 0E C3 E2 78 13 60 9E 40 7C C0 86 12 60 24 78 55 57 8F B7 EE D0 0C 79 42 4C 85 26 85 9E ED 72 44 CF B1 DF 6D 5A 67 E6 8B 7D 1A 0D 17 98 AB 50 52 0F 05 5A 0B 4C 32 1D 76 BC E5 7F DB 8F D4 4B F9 96 7A 87 7B E5 8A 90 B0 F2 E5 A6 1B 1F 84 D4 3C AC 75 2B 7CB9 01 7F 5B 50 61 11 6C 34 00 A6 66 DB 16 38 D5 5C 9D B0 DC 4E 95 00 76 DD 40 6A CA CE 60 85 BB B4 BD 65 72 F2 1A 6C 2C 3F 26 65 52 8D C6 11 8A 99 08 95 57 CF 76 7D 5F D3 20 DA 64 B3 BB B1 55 A8 AE 9F 92 1C 12 04 A3 D8 78 93 82 F3 CD 88 EE A7 21 11 6C 89 4F 69 9F 01 A2 85 3A BE E1 BB 86 F8 FB ED CD D1 7B 42 C3 EB 00 66 C0 E6 5D 12 6F AE 6D BE 4D 76 CB EB AF CB 3F E2 5F 4D 32 7F CE 52 77 06 55 D3 0C 07 21 E5 FA 0B 6B 9A E1 20 F4 F3 81 90 10 0A 26 7E 78 34 80 10 6E 1E 36 C8 75 AE 76 1F BA E9 DD 91 54 52 AF 1B E2 92 13 98 F0 59 D7 E0 46 D8 DF AE F6 3C C7 67 04 35 23 96 F0 DC F0 A0 5A 7A 11 20 85 20 A8 7F 63 B8 37 01 DC 0B F0 C6 38 7A 81 75 02 CB AB B8 34 6F 48 B9 EA 4E 6D BC 99 83 C8 7C F7 D7 B4 19 60 7A C7 21 93 58 42 88 8E DC 8E 9E FF 53 D4 53 90 3A EC 1E 81 FE FD 76 F1 B1 3E D6 C7 FA 58 1F EB FF B6 7E 00 2A 3C 27 AF 00 16 00 00 + + + + + + + + +ԭMD5ֵ 51 E8 4D FA C4 6D E2 FE 67 02 3F 1C 64 70 E6 3C + +õMD5ֵ 6D F0 A9 E5 95 96 DC 50 4B 41 0C 1C 5B 3D 34 5A + + +ԭMD5ֵ 72 BF 0A 4F 13 6A E4 33 ED DD 46 93 C9 D3 CB 41 + +õMD5ֵ 38 96 A5 13 51 19 F9 EF B1 C9 49 62 A5 A8 18 B8 + + +ԭMD5ֵ 93 89 B3 BB 34 82 77 B5 83 07 1F 21 71 08 1F B9 + +õMD5ֵ 37 4F 56 51 82 DE F0 CE 8B 20 85 AF 42 5A 24 1D + + +ԭMD5ֵ 9D 61 FC CA D3 33 80 83 FC B3 A3 FA 94 EA A2 29 + +õMD5ֵ A2 62 7F D6 50 68 E0 10 C5 8A 3B EE BB 4F 74 81 + + +ԭMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + +õMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + + + +ԭMD5ֵ C2 9C 01 88 50 FD A9 E4 DD B9 AC 91 9E 26 B1 D2 + + +ԭMD5ֵ E1 66 DA 0C 64 38 51 E0 8A 85 9C D1 CD 81 A7 32 + +õMD5ֵ 66 29 7B AD 97 5A C2 9B 07 83 AE D8 54 E5 88 F7 +Md5ֵ + + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +õMD5ֵ 4A 78 A7 57 30 EE 87 5E 79 C9 A4 77 D2 6D DC 2D +Md5ֵ + + + +MD5: 2B 61 0B 07 8D 07 81 B3 52 50 D8 84 63 E5 53 04 + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + +ԭMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D + +õMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D +Md5ֵ + + + + + +------------------------------------------------------------- + + +һ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ڶ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ı +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/Debug/RCU.application b/RCU-10/RCU/bin/Debug/RCU.application new file mode 100644 index 0000000..6a4a32c --- /dev/null +++ b/RCU-10/RCU/bin/Debug/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + ZfXT0OrBBJCjcnXTnam2mqD8FZlosX4MHIdelY1pjTM= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/Debug/RCU.exe b/RCU-10/RCU/bin/Debug/RCU.exe new file mode 100644 index 0000000..0e01278 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/RCU.exe differ diff --git a/RCU-10/RCU/bin/Debug/RCU.exe.config b/RCU-10/RCU/bin/Debug/RCU.exe.config new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/bin/Debug/RCU.exe.config @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/Debug/RCU.exe.manifest b/RCU-10/RCU/bin/Debug/RCU.exe.manifest new file mode 100644 index 0000000..45642a3 --- /dev/null +++ b/RCU-10/RCU/bin/Debug/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + GWBvU81EPZVjUdWQiSXKbseGWgvdyQ6YkqlhQDoYuJM= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/Debug/RCU.pdb b/RCU-10/RCU/bin/Debug/RCU.pdb new file mode 100644 index 0000000..97f4ffa Binary files /dev/null and b/RCU-10/RCU/bin/Debug/RCU.pdb differ diff --git a/RCU-10/RCU/bin/Debug/RCU.xml b/RCU-10/RCU/bin/Debug/RCU.xml new file mode 100644 index 0000000..798b889 --- /dev/null +++ b/RCU-10/RCU/bin/Debug/RCU.xml @@ -0,0 +1,4652 @@ + + + + +RCU + + + + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性 + 重写当前线程的 CurrentUICulture 属性。 + + + + + 查找类似 的本地化字符串。 + + + + + Contains the schema of a single DB column. + + + + + 清空数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 复制基础表数据到新表中 + + 表名 + 基础表名 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + Contains the entire database schema + + + + + 判断列名 + + + + + + 判断条件 + + + + + + 判断值 + + + + + + 当前条件与上一个条件的逻辑关系 + + + + + + 将当前条件转换为字符串,不支持将条件逻辑关系同时转换 + + + + + + 查询条件的表名 + + + + + + 当IsSearchAllCols = False时,查询返回列名集合 + + + + + + 查询的条件 + + + + + + 排序方式 + + + + + + 但需要排序时排序列名 + + + + + + 从返回结果提取指定行的内容 + + + + + + Describes a single view schema + + + + + Contains the view name + + + + + Contains the view SQL statement + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 查询指定数据表的信息 + + + + + + + 数据库语句助手 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句 + 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用 + + + + + + 查询指定数据表符合条件的所有数据 + + 指定表名 + 查询条件, + + + + + 查询表符合条件的所有指定列的数据 + + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询表符合条件的所有指定列的数据 + + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据表名 + 查询条件 + + + + + 查询指定数据表的信息 + + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量 + + 表名 + + + + + 数据表插入一行数据 + + 表名 + 列名字符串 + 列值字符串 + + + + + 数据表插入一行数据 + + 表名 + 列名与列值键值对 + + + + + 数据表插入一行,通过命令参数方式执行时使用 + + + + + + + + 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 表名 + 字段列表 + + + + + 更新指定表数据 + + 指定表名 + 更新字符串 + + + + + + 更新指定表数据 + + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 指定数据表增加一列数据 + + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 数据表删除一列数据 + + 表名 + 需要删除的列名,仅一列 + + + + + 删除指定表多行数据 + + 表名 + 条件 + + + + + 创建数据表 + + 表名 + 创建表的列信息字符串 + + + + + 创建数据表,如果存在则不创建 + + 表名 + 创建表的列信息字符串 + + + + + 清空数据表,表依旧存在 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的去重数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据库名 + 数据表名 + 查询条件 + + + + + 查询指定数据库中指定数据表符合条件的所有数据 + + + 数据库名 + 数据表名 + 查询条件(可选) + + + + + 查询指定数据库中指定数据表的信息 + + 数据库名 + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量 + + 数据库名 + 表名 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名字符串 + 列值字符串 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名与列值键值对 + + + + + 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 数据库名 + + 需要插入列名的集合 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新字符串 + + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 数据库名 + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 指定数据库中指定数据表增加一列数据 + + 数据库名 + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 指定数据库中数据表删除一列数据 + + 数据库名 + 表名 + 需要删除的列名,仅一列 + + + + + 指定数据库中指定表删除多行数据 + + 数据库名 + 表名 + 条件 + + + + + 指定数据库中创建数据表 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 指定数据库中创建数据表,如果存在则不创建 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 清空指定数据库中数据表,表依旧存在 + + 数据库名 + 数据表名 + + + + + 删除指定数据库中数据表 + + 数据库名 + 数据表名 + + + + + 数据库通用命令执行器 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + + + + 数据库类型,目前支持Mysql与Sqlite + + + + + 打开数据库连接 + + + + + + 关闭数据库连接 + + + + + 创建当前连接的命令执行句柄 + + + + + + 运行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 开启事务 + + + + + + 提交事务 + + + + + 回滚事务 + + + + + 创建数据参数 + + 参数数据类型 + 参数名称 + 参数值 + + + + + 添加数据参数 + + + + + + + + + 清空数据 + + + + + 回收资源 + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 查询指定数据表的信息 + + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 设备名称 + + + + + 设备控制计数 + + + + + 设备控制信息 + + + + + 设备测试成功率 + + + + + 初始化 + + + + + 初始化 + + 设备类型 + 设备地址 + + + + 初始化 + + 设备类型 + 设备地址 + 设备状态 + + + + 获取设备名称 + + 设备类型 + 设备地址 + + + + + 复位状态 + + + + + 窗体加载函数 + + + + + + + 显示窗体_接口 + + + + + + 发送函数 + + + + + + 枚举表格设备列信息 + + + + NULL + + + 是否选中 + + + 设备地址 + + + 设备名称 + + + 状态_区域 + + + 结果 + + + 类型表的列集合 + + + + 初始化设备表格信息 + + + + 设备项目列表 + + + 单包数据字节长度 + + + 发送数据序号 + + + + 初始化设备列表 + + + + + 设备类型转换 + + + + + + + 填充串口升级包 + + + + + + + + 填充C1发送包 + + 命令码 + Data数组 + + + + + 获取发送序号 + + + + + + 判断设备类型 + + + + + 搜索 + + + + + + + 搜索数据 + + + + + + + Boot区搜索数据 + + + + + + + 搜索范围值_委托 + + + + + + + 委托搜索范围值 + + + + + + + 选择下发文件改变 + + + + + + + 选择文件 + + + + + + + 状态栏解析文本委托 + 改变文本和颜色 + + + + + + + + 状态栏解析文本 + 改变文本和颜色 + + + + + + + + 解析Hex文件 + + + + + + 加载hex文件数据 + + + + + + + 解析Hex文件到Byte数组 + + + + + + + + + 获取和校验 + + + + + + + + 升级 + + + + + + + 获取更新设备类型委托 + + + + + + 获取更新设备类型 + + + + + 是否准备升级 + + + + 准备开始升级485 + + + + + 开始升级 + + + + + 搜索Boot分区 + + 485地址 + + + + 跳转BootLoader分区 + + 485地址 + + + + 设置参数 + + 485地址 + + + + 获取更新设备类型 + + + + + + 擦除Flash + + 485地址 + + + + 获取Flash数据 + + + + + + 写入Flash回复 + + + + + 记录重发次数 + + + + + Flash数据 + + + + + Flash新数据 + + + + + 写入Flash + + + + + + 根据设备地址类型分包 + + 设备地址类型 + 数据包 + + + + 具体分包函数 + 根据不同类型的包长度分包 + + 不同类型的包长 + + + + + Flash校验 + + + + + 填充写入Flash数据包 + + 485地址 + + + + + + + + 填充烧录单包数据 + + + + + + + + + 获取Flash单包校验数据长度 + 根据类型判断需要校验的数据长度 + + + + + + Flash校验 + + + + + + 获取Flash校验数据 + + 根据类型确认,单包参与crc16校验数据长度burnLen + + + + + 跳转App区 + + + + + + 回复超时 + + + + + 等待写入Flash数据回复 + + + + + 升级设备列表总数 + + + + + 搜索分区委托 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 添加记录 + + + + + + + 测试 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 枚举表格列名信息 + + + + + C43配置数据 + + + + + C43搜索命令—按地址搜索 + + + + + + + C43发布 + + + + + + + C43第一包数据包头 + + + + + + C43下发数据 + + + + + + + 下发C43数据到RCU + + + + + 取出C43配置数据 + + + + + + 填充C43发送数据包 + + + + + + + + + 填充C43地址数据 + + + + + + + 按块填充C43表格数据 + + + + + + + + + C43表格配置按键 + + + + + + + 增加数据行 + + + + + + + 删除数据行 + + + + + + + 保存C43数据 + + + + + + + 保存文件配置 + + + + + 读取数据 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 空调开关 + + + + + 是否空调下载 + + + + + 是否下载红外文件 + + + + + 红外文件下载线程 + + + + + 红外电视下载线程 + + + + + 控件变化 + + + + + 电视开关 + + + + + 是否电视下载 + + + + + 回复超时 + + + + + 红外下发空调初始化窗体信息 + + + + + 空调软件搜索 + + + + + + + 空调固件搜索 + + + + + + + 导出 + + + + + + + 空调导入dat配置文件信息 + + + + + + + 烧录dat配置文件信息 + + + + + + + 发送询问指令 + + + + + 等待回复可以下载 + + + + + + 空调下载数据 + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + CRC16校验 + + + + + + 红外协议组包头 + + + + + 填充红外开关包_控制按键通用 + + + + + + 填充红外搜索数据 + + + + + + 询问是否可以红外下发 + + + + + + 红外下发前询问 + + + + + + 读取选中文件_空调 + + 文件格式为(dat) + + + + 读取选中文件_电视 + + 文件格式为(dat) + + + + RCU红外下发数据 + + + + + 进度条变化 + + + + + 进度条变化 + + + + + 填充烧录包数据 + + + + + + + + + 填充烧录单包数据 + + + + + + + + + 等待红外数据回复 + + + + + 空调开关按键 + + + + + + + 空调开关控制状态 + + + + + 空调温度值增加 + + + + + + + 空调温度值减少 + + + + + + + 空调风速按键 + + + + + + + 空调模式按键 + + + + + + + 空调控制 + + + + + 填充空调控制包 + + + + + + 填充空调控制数据 + + + + + + 获取空调开关 + + + + + + 获取空调风速 + + + + + + 获取空调模式 + + + + + + 组一键读取的包 + + + + + + 组一键读取的数据包 + + + + + + + + 电视静音 + + + + + + + 电视开关 + + + + + + + 电视音量加键 + + + + + + + 电视音量减键 + + + + + + + 频道加键 + + + + + + + 频道减键 + + + + + + + 电视上键 + + + + + + + 电视下键 + + + + + + + 电视左键 + + + + + + + 电视右键 + + + + + + + 电视OK键 + + + + + + + 电视首页 + + + + + + + 电视菜单 + + + + + + + 电视信源 + + + + + + + 电视返回 + + + + + + + 电视一键读取 + + + + + + + 电视搜索 + + + + + + + 电视固件搜索 + + + + + + + 电视导入 + + + + + + + 电视烧录 + + + + + + + 填充电视通讯包 + + + + + 填充电视数据包 + + + + + + + 下载电视数据 + + + + + RCU红外下发电视数据 + + + + + 填充烧录包数据 + + + + + + + + + 密码窗体 + + + + + 下载文件路径 + + + + + 初始化数据表信息——数据库RCU表 + + + + + 选择文件 + + + + + + + 获取选择文件信息 + + + + + 选择文件处理 + + + + + + 数据录入 + + + + + + + 录入数据 + + + + + 录入保护 + + + + + + 刷新数据表 + + + + + 刷新列表 + + + + + + + 刷新列表_菜单栏 + + + + + + + 删除记录_菜单栏 + + + + + + + 删除记录 + + + + + 执行删除 + + + + + 执行删除记录 + + + + + 空调下载 + + + + + + + 下载保护 + + + + + + 开始下载空调 + + + + + 选择厂商 + + + + + + + 选择型号 + + + + + + + 选择版本 + + + + + + + 查询空调品牌 + + + + + 查询空调型号 + + + + + 查询空调版本 + + + + + 电视下载 + + + + + + + 选择电视品牌 + + + + + + + 选择电视型号 + + + + + + + 选择电视版本 + + + + + + + 查询电视厂商 + + + + + 查询电视型号 + + + + + 查询电视型号 + + + + + 下载电视保护 + + + + + + 开始下载电视文件 + + + + + 添加记录 + + + + + + + 密码 + + + + + 是否删除 + + + + + 打开窗体 + + + + + 显示窗体 + + + + + 确认 + + + + + + + 取消 + + + + + + + 是否删除 + + + + + + C43窗体 + + + + + 红外窗体 + + + + + RF无线窗体 + + + + + 485升级窗体 + + + + + 初始化各子窗体 + + + + + 枚举是否连接 + + + + + 连接状态,默认非连接 + + + + + 按键连接提示文本 + + + + + 按键连接提示颜色 + + + + + 按键连接启用 + + + + + 模式选择 + + + + + 串口波特率 + + + + + Socket网络套接字 + + + + + UDP通讯接收线程 + + + + + 本地端口号 + + + + + 总接收数据字节数 + + + + + 总发送数据字节数 + + + + + 端口1接收数据字节数 + + + + + 端口2接收数据字节数 + + + + + 端口3接收数据字节数 + + + + + 发送次数标志位 + + + + + 窗体加载事件 + + + + + + + 显示窗体名称和版本信息 + + + + + 设置窗体 + + + + + 下拉模式选择 + + + + + RF设备电动窗帘保存信息 + + + + + 点击连接按键,控件变化 + + + + + + + 更新下拉框是否可用 + + + + + + 状态栏更新显示 + + + + + 更新连接状态 + + + + + + 更新按键显示 + + + + + + 清空记录 + + + + + + + 清空端口1记录 + + + + + + + 清空端口2记录 + + + + + + + 清空端口3记录 + + + + + + + 重置计数 + + + + + + + 停止刷新布尔值 + + + + + 停止刷新端口数据 + + + + + 各端口停止刷新纪录 + + + + + + + 远程IP地址 + + + + + 远程端口号 + + + + + 远程IP地址和端口号 + + + + + 当前时间 + + + + + 最后时间 + + + + + 时间间隔 + + + + + 接收数据偏移量 + + + + + 接收数据缓存包 + + + + + Cmd为70模式注释 + + + + + Cmd为70模式 + + + + + Cmd为70设置回复 + + + + + Cmd为70的透传回复 + + + + + Cmd为71的透传回复 + + + + + 是否显示通讯记录数据 + + + + + 是否显示通讯记录提示 + + + + + 是否窗体处于关闭状态 + + + + + 选择串口通讯 + + + + + + + 选择UDP通讯 + + + + + + + 串口连接按键 + + + + + + + 关闭串口 + + + + + 打开串口 + + + + + 点击下拉获取可用串口 + + + + + + + 获取可用串口 + + + + + 配置串口 + + + + + 发送485串口数据 + + + + + + + 接收485串口数据 + + + + + + + Byte数组转字符串 + + + + + + + 显示串口回复数据 + + + + + + 解析串口数据 + + + + + + + 解析RS485数据 + + + + + + + 处理查询数据 + + + + + + + 解析红外处理数据 + + + + + + + 处理空调控制数据 + + + + + + + 处理电视控制数据 + + + + + + + 处理红外搜索数据 + + + + + + + 处理红外数据 + + + + + + + 烧录过程中,处理数据 + + + + + + + 取设备偏移值 + + + + + 监控模式布尔值 + + + + + 处理RF单包数据 + + + + + + + 处理RF数据 + + + + + + 解析RF数据 + + + + + + + 解析询问设备网络状态命令_0x13 + + + + + + 解析读取设备列表命令_0x15 + + + + + + 解析设置设备网络命令_0x017 + + + + + + 解析配对设备列表命令_0x1A + + + + + + 解析RF设备写入信息 + + + + + + 根据配对设备型号获取设备名称 + + + + + + + 解析设备类型 + + + + + + + 解析设备地址 + + + + + + + 解析设备状态 + + + + + + + 解析RF设备16命令上报数据 + + + + + + + 插卡取电上报数据16 + + + + + + 电动窗帘上报数据16 + + + + + + 解析RF设备51命令上报数据 + + + + + + + 插卡取电上报数据51 + + + + + + 开关面板上报数据51 + + + + + + 键值文本 + + + + + 按键等提示信息 + + + + + + + 无线温控上报数据51 + + + + + + 微信锁上报数据51 + + + + + + 无线语音上报数据51 + + + + + + 无线语音_场景_类型0 + + + + + 无线语音_继电器_类型1 + + + + + + 无线语音_服务客需_类型4 + + + + + + 无线语音_窗帘窗纱_类型5 + + + + + + 无线语音_空调控制_类型7 + + + + + + 无线语音_空调控制_类型7_0x00 + + + + + + 无线语音_背景音乐_类型15 + + + + + + 无线语音_调光_类型10 + + + + + + 无线语音_继电器_电视_类型F + + + + + + 无线语音_灯带_类型12 + + + + + + 刷新设备列表控制信息 + + + + + + + 是否是C1设备 + + + + + 搜索_App区 + + + + + + 搜索_Boot区 + + + + + + 跳转_App区 + + + + + + 写入Flash数据 + + + + + + 擦除Flash + + + + + + 校验Flash + + + + + + 获取Flash校验结果 + + + + + + 跳转_Boot区 + + + + + + 设置参数 + + + + + + 初始化本地IP + + + + + 获取本地可用IP + + + + + + 显示UDP接收数据 + + + + + + + 更新发送数据 + + + + + + UDP接收数据 + + + + + 发送UDP数据 + + + + + + 显示端口信息 + + + + + + SendUDPData限制 + 超过1024字节自动清空 + + + + + + + 字节数求和 + + + + + + 定时器每隔5S发送一包数据 + + + + + + + 读取操作 --- PC->RCU主机 + + + + + + + 设置操作 --- PC->RCU主机 + + + + + + + 监控模式 --- PC->RCU主机 + + + + + + + 发送操作 --- PC->RCU主机 + + + + + + + 发送数据设置 + + + + + + 接收数据处理 + + + + + + + 改变状态委托 + + 文本 + 文本颜色 + + + + 改变状态委托 + + + + + + + 检验CRC16成功 + + + + + + + + 获取CRC16校验和 + + 数据 + 数据长度 + + + + + 获取CRC16校验和 + + 数据 + + + + + 处理数据 + + + + + + + + 处理Cmd为70的命令 + + + + + + + 处理dataBuff(15)为1的状态 + + + + + + + 处理dataBuff(15)为1的文本注释信息 + + + + + + + 处理dataBuff(15)为2的状态 + + + + + + + 处理dataBuff(15)为3的状态 + + + + + + + 处理Cmd为71的数据 + + + + + + + 处理Cmd为71的端口数据_1、2、3端口 + + + + + + 网络数据还原成485串口数据 + + + + + + 解析红外透传数据 + + + + + + 处理空调控制透传数据 + + + + + + + 处理电视控制透传数据 + + + + + + + 处理红外搜索透传数据 + + + + + + + 处理下发前询问透传数据 + + + + + + + 烧录过程中,处理透传数据 + + + + + + + 添加记录文本和颜色 + + 需要添加的记录内容 + 需要设置的记录颜色 + + + + 添加记录 + + + + + + + 添加端口1记录文本和颜色 + + + + + + + 添加端口1记录 + + + + + + + 添加端口2记录文本和颜色 + + + + + + + 添加端口2记录 + + + + + + + 添加端口3记录文本和颜色 + + + + + + + 添加端口3记录 + + + + + + + 发送数据 + + 串口数据 + + + + 检查网络连接 + + + + + + 以哪种方式发送 + + + + + 关闭窗口事件 + + + + 窗体加载 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + RF网关 + + + + + 485网关地址 + + + + + 设备类型 + + + + + 设备地址 + + + + + 和校验 + + + + + 数据包长 + + + + + 命令字 + + + + + 数据内容 + + + + + RF设备类型 + + + + + 检查通信连接 + + + + + 设备名称 + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 控制计数 + + + + + 控制信息 + + + + + 设备测试 + + + + + 填充RF网关包 + + + + + 填充RF网关包 + + + + + 设备列表设备总数 + + + + + 设置RF配对 + + + + + + + 配对按键变化 + + + + + 配对数据内容 + + + + + + 定时检测,若在配对状态,则两分钟继续保持 + + + + + + + 读取RF网络地址 + + + + + + + 读取RF设备网络委托 + + + + + + 读取RF设备网络 + + + + + + 设置RF网络地址 + + + + + + + 读取设备列表在线状态 + + + + + + + 读取RF设备列表 + + + + + 全部刷新设备列表委托 + + + + + 刷新设备列表信息 + 全部刷新_委托 + + + + + 局部刷新设备列表委托 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 局部刷新设备列表控制委托 + + + + + 刷新设备列表控制信息 + 局部刷新_委托 + + + + + 清空设备列表 + + + + + + + 全局设备地址 + 点击后从列表获取 + + + + + 初始化功能Page + + + + + 点击表格刷新Page控件 + + + + + + + 回复41 00数据 + + + + + + 设置读取扇区标志位 + + + + + 初始化插卡取电信息 + + + + + 设置读取扇区 + + + + + + + 获取扇区值 + + + + + + 插卡取电回复命令 + + + + + 渐变时间 + + + + + 延时时间 + + + + + 初始化选择时间 + + + + + 控件点击变化 + + + + + + 控件状态 + + + + + + + 获取设置指示灯的值 + + + + + + 设置指示灯bit + 四个Bit的Byte + + + + + + + + + + 获取标志位 + 八个Bit的Byte + + + + + + + + + + + + + + 设置亮灭灯 + + + + + + + 获取亮度值数据 + + + + + + 选择状态 + + + + + + + 设置亮灭渐变时间 + + + + + + + 获取渐变时间数据 + + + + + + 获取渐变时间 + + + + + + 设置本地控制延时时间 + + + + + + + 获取本地控制延时时间 + + + + + + 获取延时时间 + + + + + + 本地控制开关 + + + + + 设置本地控制开关 + + + + + + + 获取本地控制开关数据 + + + + + + 获取本地控制开关 + + + + + + 读取指示灯信息 + + + + + + + 设置指示灯 + + + + + 获取指示灯数据 + + + + + + 语音模块配置下发 + + + + + + + 初始化无线温控 + + + + + 空调开关控制状态 + + + + + 无线温控风速切换 + + + + + 无线温控模式切换 + + + + + 无线温控 + + + + + 获取温控数据位 + + + + + + 温控数据高位Bit + + + + + + 获取阀门开关 + + + + + + 获取风速数据 + + + + + + 获取模式数据 + + + + + + 获取开关数据 + + + + + + 无线温控加温度 + + + + + + + 无线温控减温度 + + + + + + + 无线温控开关 + + + + + + + 无线温控风速 + + + + + + + 无线温控模式 + + + + + + + 无线温控阀门 + + + + + + + 设置温差 + + + + + + + 读取温控器设置 + + + + + + + 是否设置 + + + + + 是否设置唤醒时间 + + + + + + + 设置的唤醒时间 + + + + + 微信锁设置唤醒时间命令 + + + + + + + 获取唤醒时间 + + + + + + 微信锁开锁控制命令 + + + + + + + 微信锁状态读取命令 + + + + + + + 窗帘开启 + + + + + + + 窗帘停止 + + + + + + + 窗帘关闭 + + + + + + + 电动窗帘转发数据 + + + + + + + 窗帘发送数据 + + + + + 一键测试 + + + + + + + 获取设备类型 + + + + + + + 设备通讯测试_插卡取电 + + + + + + + 设备通讯测试_开关面板 + + + + + + + 设备通讯测试_无线语音 + + + + + + + 设备通讯测试_无线温控 + + + + + + + 设备通讯测试_微信锁 + + + + + + + 网关通讯测试_电动窗帘 + + + + + + + 设备通讯测试 + + + + + + 刷新通讯测试信息 + + + + + + + + 刷新通讯测试信息_委托 + + + + + + + + 获取通讯测试文本颜色 + + + + + + + 添加记录 + + + + + + + 显示窗体接口 + + + + + 远程数据库类型 + + + 远程数据库名 + + + + 连接数据库字符串 + + + + + + 是否处于网络接收状态 + + + + + 是否通过UDP发送数据 + + + + + 是否读取 + + + + + 是否准备完成 + + + + + 红外回复处理 + + + + + 红外烧录是否回复 + + + + + 记录重发次数 + + + + + 配对设备列表设备总数 + + + + + RF配对模式 + + + + + 设备列表键值对 + + + + + 升级设备列表_键值对 + + + + + 点击计数 + + + + + 透传数据包头 + + + + + 透传数据固定ID + + + + + 透传数据房间信息 + + + + + 包头数据长度 + + + + + 数据CRC校验长度 + + + + + 透传命令 + + + + + 透传端口 + + + + + 透传超时 + + + + + 发送次数标志位 + + + + + 填充发送数据包 + + + + + + + 填充发送包头数据 + + + + + + + 填充发送信息包头 + + + + + + + + + 填充发送校验数据 + + + + + + + + 填充发送数据包 + + 数据包头 + 数据内容 + CRC16校验 + + + + + 填充透传函数 + 填充透传函数的抽象实现 + + + + + + + 填充透传函数的具体实现 + + + + + + + 透传数据CMD + + 串口数据 + + + + + CRC16校验 + + + + + + + + MD5值校验 + + 需要校验的字符串 + 加密模式 + + + + + MD5校验 + + 需要校验的字符串 + + + + + 获取文件的MD5值 + + 文件路径 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验取余数 + 求Byte数组的和校验取余数 + + Byte数组 + + + + + 红外下载文件夹 + + + + + 检查网络连接 + + + + + 检测串口连接 + + + + + Byte数组转字符串 + + + + + + + Int转2个字节Byte + 高字节在前,低字节在后 + + + + + + + Int转2个字节Byte + 低字节在前,高字节在后 + + + + + + + 分块函数 + 计算Byte数组的块数 + + + + + + + 延时N秒 + + 时间值 + + + + 读取Hex文件到Byte数组 + + + + + + + 删除文件夹 + + + + + 字符串转换Byte数组 + 字符串为连续且不包含任意字符的字符串 + + + + + + + 发送数据处理(所发所见—16进制) + + + + + + 设备地址 + + + + + 设备分区 + + + + + 设备名称 + + + + + + 更新结果 + + + + + + 初始化 + + + + + 初始化 + + + + + + + + 升级结果 + + + + diff --git a/RCU-10/RCU/bin/Debug/System.Buffers.dll b/RCU-10/RCU/bin/Debug/System.Buffers.dll new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/System.Buffers.dll differ diff --git a/RCU-10/RCU/bin/Debug/System.Data.SQLite.dll b/RCU-10/RCU/bin/Debug/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/bin/Debug/System.Data.SQLite.dll differ diff --git a/RCU-10/RCU/bin/Debug/System.Memory.dll b/RCU-10/RCU/bin/Debug/System.Memory.dll new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/System.Memory.dll differ diff --git a/RCU-10/RCU/bin/Debug/System.Numerics.Vectors.dll b/RCU-10/RCU/bin/Debug/System.Numerics.Vectors.dll new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/System.Numerics.Vectors.dll differ diff --git a/RCU-10/RCU/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll b/RCU-10/RCU/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/bin/Debug/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/RCU-10/RCU/bin/Debug/Ubiety.Dns.Core.dll b/RCU-10/RCU/bin/Debug/Ubiety.Dns.Core.dll new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/Ubiety.Dns.Core.dll differ diff --git a/RCU-10/RCU/bin/Debug/Zstandard.Net.dll b/RCU-10/RCU/bin/Debug/Zstandard.Net.dll new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/Zstandard.Net.dll differ diff --git a/RCU-10/RCU/bin/Debug/app.publish/RCU.exe b/RCU-10/RCU/bin/Debug/app.publish/RCU.exe new file mode 100644 index 0000000..0e01278 Binary files /dev/null and b/RCU-10/RCU/bin/Debug/app.publish/RCU.exe differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4.rar b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4.rar new file mode 100644 index 0000000..784dd73 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4.rar differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/BLV_C1_APP.hex b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/BLV_C1_APP.hex new file mode 100644 index 0000000..5755977 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/BLV_C1_APP.hex @@ -0,0 +1,6079 @@ +:020000040000FA +:1080000000800020A5800000812C0100C1800000BC +:108010000000000000000000000000000000000060 +:10802000000000000000000000000000B18000001F +:108030000000000000000000B38000007D4D010042 +:1080400039550100B7800000B7800000B7800000FC +:10805000B7800000B7800000B780000095FF0000E7 +:10806000B7800000B780000055590100FD5B01009A +:10807000B7800000B7800000B7800000B780000024 +:10808000B7800000B55E010079610100B780000093 +:108090000348854600F098FA0048004789B8010077 +:1080A000008000200448804704480047FEE7FEE7C0 +:1080B000FEE7FEE7FEE7FEE7C14D0100918000000C +:1080C0007046694611F0ACF9FFF7FEFF30B50B467C +:1080D000014600202022012409E00D46D5409D42A2 +:1080E00005D31D469540491B254695404019154628 +:1080F000521E002DF1DC30BD70B50024254600284D +:1081000001DA01244042002901DA01254942FFF742 +:10811000DDFFAC4200D04042002C00D0494270BD8F +:1081200003460B439B0703D009E008C9121F08C090 +:10813000042AFAD203E00B780370401C491C521E3B +:10814000F9D27047D2B201E00270401C491EFBD246 +:1081500070470022F6E710B513460A460446194652 +:10816000FFF7F0FF204610BD10B5044605E00B7880 +:108170000370401C002B00D0491C521EF7D2204631 +:1081800010BDCAB2401E4178401C8A4202D000296C +:10819000F9D100207047421C0178401C0029FBD116 +:1081A000801A704703460A780270401C491C002A56 +:1081B000F9D1184670470321001D401E03781202B2 +:1081C0001A43491EF9D5104670470346032208702A +:1081D000000A491C521EFAD518467047F0B51FB464 +:1081E0000646002082B005464024019100901BE025 +:1081F000019922460F46304600F008FA049A059B82 +:10820000801A994110D310461946224600F0EEF923 +:10821000361A8F410197224601200021009F00F06D +:10822000E5F938184D4100902046641E0028DFDC37 +:10823000019B00982946324607B0F0BDF0B50746CD +:108240000846584087B0C00F049048000E465900B9 +:1082500040084908BC1A884105D2384631461E46B6 +:1082600017460B4602465800400810434CD0300DCC +:10827000039040055900400D490D0590401A0290A9 +:10828000402872DA18030121000B09050843019008 +:1082900004980092002805D001995242002088419C +:1082A00000920190029840210A1A0199009800F06A +:1082B0009DF905460C466B4607CB00F0B8F9C0198E +:1082C0007141039A0E0D0023D71756401A467A4083 +:1082D000164344D0049A002A2DD0029A012A039A08 +:1082E00015DC1205C01A914101263605001C7141AA +:1082F000D20F059ED2070093019202962A4623468A +:1083000000F0B5F907B0F0BD38463146FAE716057A +:10831000224A0F46B218C01AB74101210905001CB4 +:108320004F4100187F41114618187941E20F104360 +:108330006D19644113E0E2076D0815436408C20734 +:108340001443039A01261205C01A91413605001CF8 +:108350007141CE07400830434908C01851412A46B0 +:10836000234600F077F9CDE7FFE7049801224000AB +:10837000C117121A00238B4104983146C417381ACA +:10838000A141EEE730B40124E407634030BC55E777 +:1083900030B40124E407614030BC4FE70000E0FF47 +:1083A000F0B51FB488B00B9909980024484009998A +:1083B000C00F490049080991C0070B990090490076 +:1083C00049080B9109990898A64608431CD00B99B7 +:1083D0000A98084318D0099801244000420D48002B +:1083E000410D099824050003000B204309900B98C8 +:1083F0000003000B20430B9050181C49401800222A +:1084000001901446104605E0002001460DB0F0BD75 +:10841000032801DA034600E003239C46C11A0AAE92 +:108420000AE05F0008ADED5B4F00F75B7D4300277E +:10843000AA187C41491C5B1E6145F2DD410004AB7A +:108440005A522104120C0A43240C401C0828DFDB7A +:10845000019802900099704601910090059B049A42 +:108460000799069800F003F9D0E700000DFCFFFF24 +:10847000F0B50C465C4085B0E40FE40703944C0073 +:108480000026640859009446490802460296224391 +:1084900021D062460A431ED06200570D4A000E03E7 +:1084A0002303550D012402462C492405781B1B0B80 +:1084B000360B401823432643614600901C46501A51 +:1084C000B44103D30098401C009002E09218009839 +:1084D0005B41002803DA0020014605B0F0BD002012 +:1084E000012109050746864611E064461D46141B16 +:1084F000B54106D36546521BB341744607430C434E +:10850000A646CD0740084908284392185B41054616 +:108510000D43EAD11046184313D060461946504027 +:108520007140084306D06046101AB34106D20122BA +:10853000002306E000220123DB0702E00122D243F0 +:108540005310009874460105381C6141029C039D3C +:108550000019694100F07EF8BFE70000FD0300004C +:108560004A0009030123090B1B0519430A4B10B5E7 +:10857000520D9A4202DA0020014610BD064B3433F8 +:108580009A4203DC9A1A00F041F810BD034BD2184E +:1085900000F02CF810BD0000FF030000CDFBFFFF32 +:1085A00010B5002904DB0124E40740428C41214638 +:1085B000002B04DB1C460123DB075242A3419942F6 +:1085C00000D1904210BD0000064C0125064E05E08A +:1085D000E36807CC2B430C3C98471034B442F7D3E4 +:1085E000FFF75AFDE0FA010000FB010010B5202A58 +:1085F00004DB0146203A9140002010BD9140202329 +:108600009C1A0346E3401943904010BD10B5202A40 +:1086100004DB0846203AD040002110BD0B46D34071 +:10862000D0402024A21A91400843194610BD10B52D +:10863000202A06DBCB170846203A1041C1170B430E +:1086400006E00B461341D0402024A21A9140084373 +:10865000194610BD10B5002B08DA0024401C6141FA +:1086600092185B411A4301D14008400010BDF0B59B +:108670001FB482B005460C0003D0084610F0CCF9B8 +:1086800002E010F0C9F92030024600902146284649 +:10869000FFF7ACFF049B059A04460F4618431143AD +:1086A000084314D0184610431BD0009840210A1AE2 +:1086B00018460599FFF7AAFF05460E46009A059948 +:1086C0000498FFF793FF084305D0012004E02046FB +:1086D000394607B0F0BD0020C11705430E432C43B7 +:1086E000374300990E986305401A7905E40A002281 +:1086F0000C43FD0A0A3002D500200146E9E70105D6 +:10870000101969410C9C0D9D00196941FFF7A2FFEA +:10871000DFE770B58C180578401C6B075B0F01D143 +:108720000378401C2A1106D10278401C03E0067829 +:108730000E70401C491C5B1EF9D12B0705D4002389 +:10874000521E0DD40B70491CFAE70378401CCB1A5B +:10875000921C03E01D780D70491C5B1C521EF9D55C +:10876000A142D8D3002070BDF8B5D54C0820201800 +:108770000378D24E1946437872781B0219438378E6 +:10878000C0781B041943000601430C2023181F78EE +:10879000CC4D38465F783F0238439F78DB783F0402 +:1087A00038431B061843002A04D00027062A7DD030 +:1087B0007770F8BD814246D00BF033FE0246C2A16D +:1087C000002007F0DFF90C20201801780A464178D4 +:1087D00009020A438178C07809040A43000602436B +:1087E000102028180378194643781B021943837810 +:1087F000C0781B0419430006014302200FF06CFCF3 +:108800000C2021180A7810464A78120210438A7800 +:10881000C97812041043090608430121890240184F +:108820002073010A6173010CA173010EE173AC495D +:10883000884208D9252080032073010A6173010C46 +:10884000A173000EE0732278E0781146627800068A +:1088500012021143A27823791204114301431846EE +:108860006379E2791B021843A37912061B041843AB +:10887000104381425FD00BF0D4FD227907461046A9 +:108880006279E17912021043A279090612041043B9 +:108890000843801C0BF074FD2873010A6973010CF6 +:1088A000A973000EFF21E873E13100E099E08F42E7 +:1088B00000D90F468B483A4600682872010A69724F +:1088C000010CA972000EE8727FA1002007F05AF98E +:1088D0002279E07911466279000612021143A279E9 +:1088E0001204114301433A460220C91C09F0DCFB83 +:1088F000062070702279E179104662790906120229 +:108900001043A27912041043084301218902401840 +:108910002071010A6171010CA171010EE1717249AE +:10892000884208D9952000032071010A6171010C69 +:10893000A171000EE0712A78E97810466A7809067C +:1089400012021043AA78674C1204104308432168AE +:108950002A790B1A10466A79E97912021043AA792A +:108960000906120410430843834200D821E75FA19F +:10897000002007F007F920682870010A6970010CCF +:10898000A970000EE87001203070102029180A78B4 +:108990004B2410464A78E401120210438A78C978C1 +:1089A0001204104309060843A042DFD05BA1002057 +:1089B00007F0E8F82C74210A6974210CA974210EBF +:1089C000E97414216A1813782046194653781B025B +:1089D00019439378D2781B04194312061143884730 +:1089E000F8BD814247D00BF01CFD024650A100208B +:1089F00007F0C8F80C20201801780A4641780902CF +:108A00000A438178C07809040A4300060243102013 +:108A100028180378194643781B0219438378C078D5 +:108A20001B0419430006014302200FF055FB0C20E4 +:108A3000777021180A7810464A78120210438A7813 +:108A4000C97812041043090608430121890240181D +:108A50002073010A6173010CA173010EE1732049B7 +:108A6000884208D9252080032073010A6173010C14 +:108A7000A173000EE073082029180A7810464A787E +:108A8000120210438A78C978120410430906084379 +:108A9000144909680B1A0C2029180A7810464A78DC +:108AA000120210438A78C978120410430906084359 +:108AB000834295D90FF0BEFA7770F8BD9229002055 +:108AC000C50E002094290020554152543220646183 +:108AD00074615F6C656E203A2564200D0A00000009 +:108AE000FF4F090014000020FF5F09004163743448 +:108AF00038355F496E666F20506F72745F4E6F72CB +:108B00006D616C5F4D6F6465206D6F64655F6F753F +:108B10007474696D65200D0A0000000041637434AF +:108B200038355F496E666F2E62617564200D0A00EC +:108B3000554152543220646174615F6C656E203A15 +:108B40002564202C52585F4275666665723A0000B3 +:108B5000F7B582B005460498153080B20090082021 +:108B60000BF04AFC044604200BF046FC0646FF3896 +:108B70009F2101380902884205D3FF2601360421CE +:108B800030460BF029FDB44202D33C48844200D960 +:108B90003446002601277F02A11900200BF0F2FCC9 +:108BA000761CB6B2BE42F7D3287821460BF0EAFC19 +:108BB0006878611C0BF0E6FCA878A11C0BF0E2FCC5 +:108BC000EA78A97910462A790906120210436A79CF +:108BD000EE1C120410430843E11C0BF0FDFCE11DE8 +:108BE00000200BF0CFFC2146083100980BF009FD66 +:108BF0002146A87A0A310BF0C5FC707A317A00025E +:108C0000084321460B310BF0FCFC6E1C0C20311884 +:108C10000A7810464A78120210438A78C9781204FA +:108C200010430906084321460D310BF0D5FC1020F6 +:108C300031180A7810464A78120210438A78C978A7 +:108C40001204104309060843214611310BF0C4FCFD +:108C500022461532049903980BF00EFB204600992A +:108C600006F0D2FFE871E11D0BF08CFCE01DFF3037 +:108C7000FA3008210BF0B0FC05B0F0BDFF9F0000FA +:108C8000F7B582B006460498153080B200900020F7 +:108C90000BF0B2FB0446FF389F21013809028842DD +:108CA00001D3FF240134002501277F026119002030 +:108CB0000BF068FC6D1CADB2BD42F7D33078214695 +:108CC0000BF060FC7078611C0BF05CFCB078A11CB0 +:108CD0000BF058FCF278B17910463279090612028D +:108CE00010437279F51C120410430843E11C0BF089 +:108CF00073FCE11D00200BF045FC21460831009873 +:108D00000BF07FFC2146B07A0A310BF03BFC687A0D +:108D1000297A0002084321460B310BF072FC0C202B +:108D2000761C31180A7810464A78120210438A7865 +:108D3000C978120410430906084321460D310BF08F +:108D40004BFC102031180A7810464A781202104362 +:108D50008A78C97812041043090608432146113164 +:108D60000BF03AFC22461532049903980BF084FA72 +:108D70002046009906F048FFE11D0BF003FCE01DC2 +:108D8000FF30FA3000210BF027FC05B0F0BD0000E9 +:108D9000F7B582B005460498153080B200900420E3 +:108DA0000BF02AFB044600200BF026FB0646FF389A +:108DB0009F2101380902884205D3FF260136002190 +:108DC00030460BF009FCB44202D33C48844200D93F +:108DD0003446002601277F02A11900200BF0D2FBA8 +:108DE000761CB6B2BE42F7D3287821460BF0CAFBF8 +:108DF0006878611C0BF0C6FBA878A11C0BF0C2FBC5 +:108E0000EA78A97910462A790906120210436A798C +:108E1000EE1C120410430843E11C0BF0DDFBE11DC6 +:108E200000200BF0AFFB2146083100980BF0E9FB66 +:108E30002146A87A0A310BF0A5FB707A317A00023C +:108E4000084321460B310BF0DCFB6E1C0C20311863 +:108E50000A7810464A78120210438A78C9781204B8 +:108E600010430906084321460D310BF0B5FB1020D5 +:108E700031180A7810464A78120210438A78C97865 +:108E80001204104309060843214611310BF0A4FBDC +:108E900022461532049903980BF0EEF9204600990A +:108EA00006F0B2FEE871E11D0BF06CFBE01DFF3037 +:108EB000FA3004210BF090FB05B0F0BDFF9F0000DD +:108EC00010B5ACB0002100910446019102910391CC +:108ED00004910591982106A8FFF73BF96A46547062 +:108EE00006211170022090704B20C001D070030A3F +:108EF0001371030C5371000E907103209072642063 +:108F0000D072002010730F485073030A9373030C40 +:108F1000D373000E10740C485074030A9374030C3E +:108F2000D374000E107528AA51710720907101208A +:108F300018AA9071972206A96846FFF709FE2CB07F +:108F400010BD0000C5D3000051D0000010B5074887 +:108F50000078012803D0022804D0032801D100F0B2 +:108F600007F810BDFFF700FC10BD0000922900209B +:108F7000F0B5FA4883B00446817EA01C0090671CBF +:108F80001C203A18137825461846537821341B02C2 +:108F900018439378D2781B041843120610430190AB +:108FA0002378E2781846637812061B021843A378E8 +:108FB00020351B04184310438446002906D002299B +:108FC00071D0032970D004296FD17DE2E44E0820CE +:108FD000301801780A46417809020A438178C0783E +:108FE00009040A43000602430C2031180B78184686 +:108FF0004B781B0218438B78C9781B041843090669 +:109000000843824276D00BF00CFA0190142020180D +:1090100001780B46417809020B438178C078090436 +:109020000B43000603431FD0581C1DD00C203118E1 +:109030000A7810464A78120210438A78C9781204D6 +:10904000104309060843801C227884461046627843 +:10905000E17812021043A278120410430906084373 +:109060006146019A9847E872E87A00281ED0BB4C06 +:10907000BCA1207F401CC2B22277002006F082FDF6 +:109080000320A076B54C207FE17E88427ED3BCA130 +:10909000002006F077FD0020A0762077E872207887 +:1090A00003287AD097E0D5E014E109E22278E1784C +:1090B00010466278090612021043A2781204104387 +:1090C00008431C217A181378194653781B02194358 +:1090D0009378D2781B0419431206114388420AD1AF +:1090E000ADA1002006F04EFD0020A8729B49022091 +:1090F000887607E093E0ACA1002006F043FD974896 +:1091000004218176954800210177007803281DD13C +:109110000C20301801780A46417809020A43817808 +:10912000C07809040A430006024300981021401841 +:109130000378194643781B0219438378C0781B04CF +:1091400019430006014302200EF0C6FF0C2031181F +:109150000A7810464A78120210438A78C9781204B5 +:109160001043090608430121890240183073010A9F +:109170007173010CB173010EF1738F49884281D96B +:10918000252080033073010A717301E08CE004E054 +:10919000010CB173000EF07374E70C2030180178E5 +:1091A0000A46417809020A438178C07809040A43D3 +:1091B00000060243009810214018037819464378AE +:1091C0001B0219438378C0781B041943000601432E +:1091D00002200EF081FF0C2031180A7810464A78E0 +:1091E000120210438A78C978120410430906084312 +:1091F0000121890240183073010A7173010CB173A7 +:10920000010EF1736C4988424ED9252080033073DA +:10921000010A7173010CB173000EF0735CE16748D1 +:10922000227901686648C0680B1A10466279E179B4 +:1092300012021043A2790906120410430843834224 +:1092400032D9A87A01287DD1019884457AD10020AD +:10925000A87231E13877010A7977010CB977010EEC +:10926000F977102162181378194653781B021943B5 +:109270009378D2781B0419431206114303D04A1C79 +:1092800001D08847A87200214C48E97202684C4816 +:10929000C260A87A012808D00520207100226271DE +:1092A000A271E2712D48817616E10C202A181378FC +:1092B000184653781B0218439378D2781B0418433E +:1092C000120610432071020A6271020CA271000E94 +:1092D000E071E7E7FF30FF3002302070010A617073 +:1092E000010CA170000EE07008200BF085F82378C7 +:1092F000E2781946637812061B021943A3781B040F +:1093000019431143884202D92E48814209D30420CF +:109310000BF072F82070010A6170010CA170000E50 +:10932000E0702278E1781046627809061202104354 +:10933000A27812041043084306F084FC00286AD087 +:10934000217800E0C5E00A466178E07809020A4326 +:10935000A17809040A430006024335E0922900205F +:10936000C50E0020446174612070617273696E677C +:10937000206661696C6564203A25640D0A0000006E +:1093800077697065206361636865207061727469D4 +:1093900074696F6E0D0A00005265706C7920535528 +:1093A00043430D0A000000004E6F74204465762090 +:1093B000446174610D0A0000FF4F09001000002095 +:1093C00050000020FF9F000090A1002006F0DAFB73 +:1093D00099A1002006F0D6FB00250126760222780E +:1093E000E17810466278090612021043A27812044E +:1093F0001043084340190AF0C3FF024692A100201F +:1094000006F0C0FB6D1CADB2B542E8D390A10020C0 +:1094100006F0B8FB60E02278E17810466278090631 +:1094200012021043A2781204104308430D300AF0D0 +:10943000E3FF2074010A6174010CA174000EE07452 +:109440002278E17810466278090612021043A27869 +:1094500012041043084311300AF0CEFF2075010AB0 +:109460006175010CA175000EE0752278E178104657 +:109470006278090612021043A278120410430843CE +:109480000B300AF0CEFF2873010A6973010CA9732F +:10949000000EE8732278E17810466278090612021D +:1094A0001043A2781204104308430A300AF0A4FFC4 +:1094B0002874E87A002803D16649022088760BE0F8 +:1094C00064490020887607E0019806F0BBFB00287D +:1094D00031D06049032088765E4C2078012828D05E +:1094E000009801460A7810464A78120210438A789A +:1094F000C9781204104309060843574909680D1A30 +:109500000098021D1378184653781B02184393786D +:10951000D2781B04184312061043854209D90098DB +:109520000A0A017042700A0C8270090EC170012093 +:10953000207003B0F0BD1C2039180A7810464A7814 +:10954000120210438A78C9781204104309060843AE +:109550000D300AF051FF2074010A6174010CA174EE +:10956000000EE0741C2039180A7810464A7812025E +:1095700010438A78C9781204104309060843113051 +:109580000AF03AFF2075010A6175010CA175000E01 +:10959000E0751C2039180A7810464A7812021043E8 +:1095A0008A78C97812041043090608430B300AF080 +:1095B00038FF2873010A6973010CA973000EE87360 +:1095C0001C2039180A7810464A78120210438A780B +:1095D000C97812041043090608430A300AF00CFF48 +:1095E00028741C2039180A7810464A781202104351 +:1095F0008A78C97812041043090608432070010ACA +:109600006170010CA170000EE07059E7424C565F8A +:10961000416374697665506F72745F5461736B2037 +:109620002D20526561645F446576204661696C3A1D +:1096300020253038580D0A00526561645F44657614 +:1096400020446174613A0000253032582000000047 +:109650000D0A0000922900201400002010B50748D0 +:109660000078012803D0022804D0032801D101F09A +:1096700009F910BD03F05EFF10BD0000572900205E +:1096800030B5B5B004460AF07BFEF12802D00120C7 +:1096900035B030BD224615321546D22168460AF053 +:1096A000BDFD30A8C079002804D06946204604F0EA +:1096B000E3F939E030A8007A002804D06946204652 +:1096C00004F04CFA30E030A8407A002804D0694613 +:1096D000204604F0B1FA27E032A8023001780B46A8 +:1096E000417809020B438178C07809040B430006D6 +:1096F000034304D06946204604F048FB14E033A835 +:10970000023001780B46417809020B438178C0781A +:1097100009040B43000603436946204602D004F0C7 +:10972000AFFB01E004F0F2FA30A8C078032803D9B7 +:10973000012030A9087102E030A9401CC8702A46F7 +:10974000D22168460AF098FDE11D00200AF01AFFB8 +:10975000E721204606F058FAE11D0AF013FF002029 +:1097600035B030BDF7B5BCB014463C9A0E46002764 +:1097700015323D46D22101A83A920AF04FFD21460A +:10978000304606F041FA002806D0FDA1022006F07E +:10979000BBF901203FB0F0BD30460AF0F1FD0128D1 +:1097A00006D0FCA1022006F0AFF901203FB0F0BDC9 +:1097B000701C0AF0E5FD30A9497A814206D0FCA16F +:1097C000022006F0A1F901203FB0F0BDB01C0AF064 +:1097D000D7FDF12806D0FCA1022006F095F9012062 +:1097E0003FB0F0BDF01C0AF0CBFD002806D0FDA173 +:1097F000022006F089F901203FB0F0BD301D0AF0CB +:10980000BFFDA04206D0FEA1022006F07DF9012096 +:109810003FB0F0BDB01D0AF0B3FDA02806D0FEA1F8 +:10982000022006F071F901203FB0F0BD002430A9FC +:10983000CC710C72F01D0AF0A3FD30A9897A203991 +:1098400006292BD20A007A441279921897442602EC +:109850000D181D22012821D130A98C73200AC8734C +:10986000200C0874200E487418E0022816D130A984 +:109870008C74200AC874200C0875200E48750DE001 +:1098800003280BD130A8047308E0042806D130A8BF +:10989000447303E0052801D130A8C4723046083073 +:1098A0000AF06EFD3690002430460A30389001A848 +:1098B0000019A03000908079369A0007000F6100EF +:1098C0003791CA409107890F88421AD1022818D0CF +:1098D00030A8C17A0120A040814330A8C1723898D5 +:1098E0000AF04EFD3799C84083079B0F19D00098A6 +:1098F0006D1C8373EDB22246CDA1022006F004F95F +:109900000FE0884201D1022843D02246CEA1022096 +:1099100006F0FAF830A8C17A0120A040014330A82F +:10992000C172641CE4B2042CC1D3304609300AF081 +:1099300027FD3690002430460B30379001A80019DF +:10994000A0300090807A369903071B0F6000399091 +:10995000C1408807800F834237D1022B35D030A811 +:10996000C17A221D01209040814330A8C1723798EE +:109970000AF006FD3999C84083079B0F37D000983D +:109980006D1C8374EDB2221DA9A1022006F0BCF863 +:109990002DE030A8C17A0120A040814330A8C172D7 +:1099A00038980AF0EDFC3799C840830700989B0F60 +:1099B000807B9842B5D000986D1C8373EDB222462F +:1099C000A8A1022006F0A0F8ABE7834201D1022B48 +:1099D0007ED00090221DAAA1022006F095F830A9A1 +:1099E000C87A221D01219140084330A9C872641C25 +:1099F000E4B2032CA2D330460C300AF0C1FC28A9F3 +:109A0000487430460D300AF0BBFC6946A74CC87359 +:109A100020460AF0B5FC6946C97B884209D0A4A15A +:109A2000022006F071F86846C07B21460AF0AAFDC4 +:109A30007F1C304610300AF0A3FC0446000210AA36 +:109A40005074010A9174010CD174000E10759E4877 +:109A50000AF096FCA04208D09CA1022006F054F81F +:109A6000994920460AF08EFD7F1C30460F300AF0DF +:109A700087FC14A901310A78044610464A7812027C +:109A800010438A78C978120410430906084320431A +:109A9000000210AA5074010A9174010CD174000ED6 +:109AA000107592480AF06CFCA04208D090A10220E8 +:109AB00006F02AF88D4920460AF064FD7F1C3046E6 +:109AC0000E300AF05DFC14A9013104460A7800E06A +:109AD0005CE110464A780B26120210438A78C97856 +:109AE0001204104309060843204310AA5074010AC7 +:109AF0009174010CD174000E1075360330460AF0D3 +:109B00003FFCA04208D082A1022005F0FDFF3146B3 +:109B100020460AF037FD7F1C002D25D038980AF02A +:109B20002FFC834D044628460AF02AFCA04208D0A8 +:109B300080A1022005F0E8FF294620460AF022FD18 +:109B40007F1C37980AF01CFC814D044628460AF019 +:109B500017FCA04208D07FA1022005F0D5FF2946BE +:109B600020460AF00FFD7F1C002F01D007F058FFA0 +:109B7000D22101A83A9A0AF07FFB00203C99F7E035 +:109B80004335494F20436865636B204661696C210A +:109B9000200D0A004335494F20504B545F41444447 +:109BA0005F464D204661696C21200D0A00000000CF +:109BB0004335494F20504B545F545950452046611E +:109BC000696C21200D0A00004335494F20504B5449 +:109BD0005F44657654797065204661696C21200D7B +:109BE0000A0000004335494F20504B545F41444424 +:109BF0005F544F204661696C21200D0A000000006F +:109C00004335494F20504B545F4C454E20466169C7 +:109C10006C21200D0A0000004335494F20504B5461 +:109C20005F434D44204661696C21200D0A0000000D +:109C30004335494F2044495F537461727425642051 +:109C400025642021200D0A004335494F2044495FF7 +:109C500054797065202564204661696C21200D0AC5 +:109C6000000000004335494F2044495F5049525F8E +:109C7000537461727425642025642021200D0A002C +:109C80004335494F2044495F54797065202564204D +:109C90004661696C212074656D70313A2564202C11 +:109CA0002074656D70323A25640D0A0003B000001F +:109CB0004335494F5F444F5F53746174757320435C +:109CC00068616E67650D0A0002B000004335494FB8 +:109CD0005F52656C61795F5374617475735F332093 +:109CE0004368616E67650D0A0000000001B0000066 +:109CF0004335494F5F52656C61795F537461747588 +:109D0000735F32204368616E67650D0A00000000D2 +:109D10004335494F5F52656C61795F537461747567 +:109D2000735F31204368616E67650D0A00000000B3 +:109D300004B000004335494F5F44495F5374617478 +:109D400075735F4C204368616E67650D0A00000003 +:109D500005B000004335494F5F44495F5374617457 +:109D600075735F48204368616E67650D0A000000E7 +:109D7000C91D0AF007FCE7213C9805F045FF3C9916 +:109D8000C91D0AF0FFFB00203FB0F0BD30A8C17A2A +:109D9000221D01209040814330A8C17237980AF0FB +:109DA000EFFA3999C840830700989B0F807C98424E +:109DB00000D11CE600986D1C8374EDB2221D02498F +:109DC000022005F0A1FE12E6649C0000F0B593B0FD +:109DD00005460AF0D5FA152802D0012013B0F0BDCF +:109DE0002A4615321746462168460AF017FA10A986 +:109DF00002310A78012610464A78120210438A7806 +:109E0000C9781204104309060843002879D00020BD +:109E10003246824010AC023421780B466178090248 +:109E20000B43A17809040B43E17809060B43134265 +:109E300003D1401CC0B20D28EAD3402A47D00EDC23 +:109E4000082A35D006DC012A17D0022A1ED0042A9F +:109E50005BD124E0102A30D0202A56D132E00120F4 +:109E60008002824248D050DC802A35D0FF3A521E10 +:109E700037D0FF3A012A48D138E036A1022005F058 +:109E800043FE6946284604F014FA3EE03AA1022057 +:109E900005F03AFE6946284604F093FA35E03DA104 +:109EA000022005F031FE6946284604F0EDFA2CE068 +:109EB0006946284604F0D6F827E06946284604F0AB +:109EC000BDF922E06946284604F039FA1DE06946EA +:109ED000284604F03DF918E06946284604F0FDF8EC +:109EE00013E06946284604F06EF90EE069462846FC +:109EF00004F010FD09E004E06946284604F0DAFBAE +:109F000003E06946284604F072F8684600780428A1 +:109F10000AD96A465670002010AA9070D07010714D +:109F200050716A46107002E06946401C08703A465B +:109F3000462168460AF0A0F9E91D00200AF022FB3C +:109F40005B21284605F060FEE91D0AF01BFB00209E +:109F500013B0F0BD43354D555349435F5365745FAE +:109F600044656661756C745F566F6C756D655F46B0 +:109F70006C61670D0A00000043354D555349435F3E +:109F80005365745F566F6C756D655F466C61670DE8 +:109F90000A00000043354D555349435F53706563D4 +:109FA0006966795F506C61795F466C61670D0A0084 +:109FB000F0B51646024693B00C460546153200270A +:109FC0004621684612920AF029F93146204605F0EA +:109FD0001BFE002806D0F4A1022005F095FD01200B +:109FE00013B0F0BD20460AF0CBF9012806D0F4A149 +:109FF000022005F089FD012013B0F0BD601C0AF0BD +:10A00000BFF9694600078978000F814206D0F3A1A5 +:10A01000022005F079FD012013B0F0BDA01C0AF06C +:10A02000AFF9012806D0F4A1022005F06DFD012052 +:10A0300013B0F0BDE01C0AF0A3F9002806D0F6A189 +:10A04000022005F061FD012013B0F0BD201D0AF0D3 +:10A05000E8F9B04206D0F7A1022005F055FD012035 +:10A0600013B0F0BD204608300AF08AF9E02806D087 +:10A07000F7A1022005F048FD012013B0F0BDE01D5E +:10A080000AF07EF92146093100263A2870D00CDC0E +:10A0900030380A286DD202007A4412799218974417 +:10A0A000138EAAC6E468FE6868FD0127BF023E2839 +:10A0B00073D006DC3B2871D03C2870D03D2858D1A5 +:10A0C00074E23F2855D1B9E208460AF059F96946C9 +:10A0D000487120460A300AF053F969460873204651 +:10A0E0000B300AF04DF96946487320460D300AF0EE +:10A0F00098F96946C88120460F300AF041F94206B6 +:10A10000520E69468A71C009C871204610300AF0A3 +:10A1100037F969460872204611300AF031F969466C +:10A120004872204612300AF02BF9694688722046A0 +:10A1300013300AF025F96946CC4CC87220460AF063 +:10A140001FF969464979884209D0C9A1022005F062 +:10A15000DBFC6846407921460AF014FA0127CD4C11 +:10A1600020460AF00DF96946897988420CD001E051 +:10A17000DBE079E0C8A1022005F0C6FC68468079E2 +:10A1800021460AF0FFF97F1CCB4C20460AF049F922 +:10A190006946C98988420DD002E021E2E2E0E1E1AE +:10A1A000C6A1022005F0B0FC6846C08921460AF02D +:10A1B00028FA7F1C002F57D007F032FC56E2C6A1C8 +:10A1C000022005F0A1FC10A902310A7810464A7855 +:10A1D000120210438A78C978120410430906084312 +:10A1E0004008400010AA9070010AD170010C117152 +:10A1F000000E50713AE2C2A1022005F085FC10A9C0 +:10A2000002310A7810464A78120210438A78C978D7 +:10A2100012041043090608430421884310AA9070D1 +:10A22000010AD170010C1171000E50711EE2BDA126 +:10A23000022005F069FC6A4610A9567502310A78B9 +:10A2400010464A78120210438A78C97812041043E3 +:10A25000090608430221884310AA9070010AD170B0 +:10A26000010C1171000E507100E208460AF088F8E6 +:10A2700008A9087320460A300AF082F808A98873F2 +:10A2800020460B300AF07CF808A9887322310A783E +:10A2900010464A78120210438A7801E02DE00FE060 +:10A2A000C97812041043090608430821884310A9FD +:10A2B0008870020ACA70020C0A71000E4871D5E15A +:10A2C00008460AF05DF86A4610A9907102310A78D2 +:10A2D00010464A78120210438A78C9781204104353 +:10A2E000090608431021884310AA9070010AD17012 +:10A2F000010C1171000E5071B8E110A902310A78F9 +:10A3000010464A78120210438A78C9781204104322 +:10A31000090608432021884310AA9070010AD170D1 +:10A32000010C1171000E5071A0E108460AF028F8E6 +:10A3300008AA10A9D07102310A7810464A78120290 +:10A3400010438A78C9781204104309060843402153 +:10A35000884310AA9070010AD170010C1171000E8F +:10A36000507183E108460AF05CF86A46D0870246DD +:10A3700074A1022005F0C8FB10A902310A7810462A +:10A380004A78120210438A78C978120410430906E9 +:10A3900008438021884310AA9070010AD170010CF3 +:10A3A0001171000E507161E143354D555349432001 +:10A3B000436865636B204661696C21200D0A0000CB +:10A3C00043354D5553494320504B545F4144445FFE +:10A3D000464D204661696C21200D0A0043354D55DC +:10A3E00053494320504B545F5459504520466169AE +:10A3F0006C21200D0A00000043354D555349432080 +:10A40000504B545F44657654797065204661696CA1 +:10A4100021200D0A0000000043354D5553494320CB +:10A42000504B545F4144445F544F204661696C2156 +:10A43000200D0A0043354D5553494320504B545F7E +:10A440004C454E204661696C21200D0A0000000039 +:10A45000424C565F43354D555349435F52656C61DD +:10A46000795F4661696C21200D0A000006B000008A +:10A4700043354D555349435F506C61796261636B5D +:10A480005F537461747573204368616E67650D0A6C +:10A490000000000007B0000043354D555349435FAD +:10A4A000566F6C756D655F53746174757320436886 +:10A4B000616E67650D0A000008B0000043354D5518 +:10A4C0005349435F6964785F5374617475732043C3 +:10A4D00068616E67650D0A00424C565F43354D5505 +:10A4E0005349435F5365745F44656661756C745F7F +:10A4F000566F6C756D655F5265706C790D0A000062 +:10A50000424C565F43354D555349435F5370656325 +:10A510006966795F506C61795F5265706C790D0A7C +:10A5200000000000424C565F43354D555349435F90 +:10A530005365745F566F6C756D655F5265706C79AD +:10A540000D0A0000424C565F43354D555349432098 +:10A55000706C61796261636B5F6E756D203A202566 +:10A56000640D0A00084609F05CFF10AA10806A46D4 +:10A57000D28F49A1022005F0C7FA10A902310A784A +:10A5800010464A78120210438A78C97812041043A0 +:10A5900009060843FF210131884310AA9070010A7F +:10A5A000D170010C1171000E50715FE010A90231E1 +:10A5B0000A7810464A78120210438A78C978120441 +:10A5C000104309060843012149028843384310AA71 +:10A5D0009070010AD170010C1171000E507145E0AC +:10A5E000084609F01EFF69460A8E824207D133A150 +:10A5F000022005F089FA6946088E401C0886088EFC +:10A60000498E884232D336A1022005F07DFA10A986 +:10A6100002310A7810464A78120210438A78C978C3 +:10A620001204104309060843B84310AA9070010AA7 +:10A63000D170010C1171000E507117E010A9023198 +:10A640000A7810464A78120210438A78C9781204B0 +:10A650001043090608430121C902884310AA9070DB +:10A66000010AD170010C1171000E5071684606701C +:10A6700046704621129A09F0FFFDE91D002009F0FD +:10A6800081FF5B21284605F0BFFAE91D09F07AFF3A +:10A69000002013B0F0BD0000424C565F43354D55CD +:10A6A000534943206465765F76657273696F6E7394 +:10A6B000203A20253034580D0A000000424C562024 +:10A6C00043354D555349432066696C6520626C6F74 +:10A6D000636B3A256420535543430D0A0000000084 +:10A6E000424C562043354D555349432057697274A7 +:10A6F000652046696C6520454E440D0A0000000047 +:10A7000010B5BCB000240094019402940394049406 +:10A71000D42106A80594FDF71CFD69464C70F12074 +:10A720000870E120032240028A70C870030A0B718E +:10A73000030C4B71000E8871FF208A72F530C872CD +:10A74000000A087315484873020A8A73020CCA7318 +:10A75000000E087412484874020A8A74020CCA7403 +:10A76000000E0875112028A98877C87730A90870CD +:10A7700048708870C870087102200875487588751F +:10A78000C8750876487688767F20C877D22206A9D1 +:10A790006846FEF775FA3CB010BD000081960000D7 +:10A7A0006597000030B599B0002012901390149076 +:10A7B00015901690179048216846FDF7CAFC0123B2 +:10A7C00010A94B7215220A7203208872E120400200 +:10A7D000C872040A0C73040C4C73000E88730420B6 +:10A7E0008874FF20F530C874000A0875234848753E +:10A7F000040A8C75040CCC75000E08762048487647 +:10A80000040A8C76040CCC76000E087769460B712E +:10A81000192508A90D7369464B77180A8877022411 +:10A8200008A98C726946487D12210843694648751B +:10A830004A768A76CD766420087742310A781046C7 +:10A840004A78120210438A78C97812041043090624 +:10A8500008432043FF2181310843184310A9887021 +:10A86000020ACA70020C0A71000E4871462269463B +:10A8700012A8FEF705FA19B030BD0000CD9D00000A +:10A88000B19F0000F0B5FF4E83B034462046B17E44 +:10A8900022300190A01C2746203400902378E278D3 +:10A8A0001846637812061B021843A37803251B047D +:10A8B000184323371043082932D20A007A44127908 +:10A8C0009218974403052DE62DFDFCFB0120DEE0E8 +:10A8D000801C09F055FD032804D0EBA1002005F0F1 +:10A8E00051F91DE02278E1781046627809061202DB +:10A8F0001043A27812041043084305F0A3F900287E +:10A9000010D02178E0780A466178000609020A43EF +:10A91000A17809040A430243E1A1002005F032F9BD +:10A92000B576FDE12278E1781046627809061202D8 +:10A930001043A2781204104308433077010A71775C +:10A94000010CB177010EF17709F01AFDA0721C20FD +:10A9500031180A7810464A78120210438A78C9786A +:10A960001204104309060843401C09F009FDE07277 +:10A970001C2031180A7810464A78120210438A784F +:10A98000C9781204104309060843083009F049FD4C +:10A990002073000A60731C2031180A7810464A7828 +:10A9A000120210438A78C97812041043090608433A +:10A9B0000D3009F021FD3874010A7974010CB97465 +:10A9C000000EF8741C2031180A7810464A781202DA +:10A9D00010438A78C97812041043090608431130DD +:10A9E00009F00AFD3875010A7975010CB975000E78 +:10A9F000F8751C2031180A7810464A781202104364 +:10AA00008A78C97812041043090608430B3009F00C +:10AA100008FD0199020A08734A73020C8A73000E3A +:10AA2000C8731C2031180A7810464A781202104365 +:10AA30008A78C97812041043090608430A3009F0DD +:10AA4000DBFCA074012060721020381802781146D7 +:10AA50004278120211438278C07812041143000632 +:10AA600001430FD0481C0DD01C2032181378184613 +:10AA700053781B0218439378D2781B0418431206AC +:10AA8000104388478E4801688E48416057E0B07691 +:10AA900046E1FF30FF3002302070010A6170010C86 +:10AAA000A170000EE070002009F0A6FC2378194682 +:10AAB00063781B021943A3781B0402E01FE140E006 +:10AAC00011E0E278194312061143884208D8FF20AA +:10AAD00001302070010A6170010CA170000EE0705D +:10AAE0000120B0761CE1607A012800D018E7A07C34 +:10AAF0000028FBD010203818027811464278120244 +:10AB000011438278C07812041143000601430FD02C +:10AB1000481C0DD01C2032181378184653781B029D +:10AB200018439378D2781B041843120610438847C1 +:10AB30006348016863484160A07C401EA074062001 +:10AB4000A5E7614D2A79E87911466A790006120273 +:10AB50001143AA7912041143014308202A181378DB +:10AB6000184653781B0218439378D2781B04184375 +:10AB70001206104381427DD009F053FC8446142014 +:10AB8000381801780B46417809020B438178C07868 +:10AB900009040B43000603431FD0581C1DD0082096 +:10ABA0002818027811464278120211438278C07840 +:10ABB00012041143000601431C2037183A7810464E +:10ABC0007A7812021043BA7812041043FA78120607 +:10ABD00010436246891C98476072607A00280AD147 +:10ABE000374800682071010A6171010CA171000EE3 +:10ABF000E0710720B076307803281DD1082028188E +:10AC000001780A46417809020A438178C07809042C +:10AC10000A430006024300981021401803781946A1 +:10AC200043781B0219438378C0781B04194300063C +:10AC3000014303200DF050FA082029180A78104625 +:10AC40004A78120210438A78C97812041043090620 +:10AC500008430121890240182872010A6972010C17 +:10AC6000A972010EE972194988420AD94B204003A2 +:10AC7000287200E005E0010A6972010CA972000E59 +:10AC8000E87225E057290020424C565F4255535F39 +:10AC90006465762054797065204661696C0D0A0000 +:10ACA000424C565F4255535F646576204368656346 +:10ACB0006B204661696C3A253038580D0A00000057 +:10ACC0001000002050000020E4120020FF6F090057 +:10ACD0002D4801682D4840680B1A01980C21411835 +:10ACE0000A7810464A78120210438A78C97812040A +:10ACF000104309060843834212D90520C7E622798A +:10AD0000E17910466279090612021043A279120411 +:10AD1000104308431C490968081A142800D9FFE5A4 +:10AD2000307801282DD00098194C01460A78104639 +:10AD30004A78120210438A78C9781204104309062F +:10AD4000084321680B1A0098011D0A7810464A78BA +:10AD5000120210438A78C978120410430906084386 +:10AD600083420ED90BA1002004F00CFF216800984B +:10AD70000A0A017042700A0C8270090EC17001202B +:10AD8000307003B0F0BD0000100000205000002023 +:10AD9000140000205265706C7920535543430D0A0E +:10ADA00000000000F3B58DB0044600273E46342174 +:10ADB0006846FDF7CEF920460E9904F025FF0028DD +:10ADC00006D056A1022004F09FFE01200FB0F0BD76 +:10ADD000204609F0D5FA002806D055A1022004F03B +:10ADE00093FE01200FB0F0BD601C09F0C9FA564D6A +:10ADF00000072978000F884206D154A1022004F0F0 +:10AE000083FE01200FB0F0BDA01C09F0B9FAF228B2 +:10AE100006D058A1022004F077FE01200FB0F0BD4B +:10AE2000E01C09F0ADFA002806D058A1022004F079 +:10AE30006BFE01200FB0F0BD201D09F0F2FA0E9953 +:10AE4000884206D057A1022004F05EFE01200FB018 +:10AE5000F0BD0B46224658A1042004F093FE601C6E +:10AE600009F08EFA0007000F2870E01D09F088FA3B +:10AE70000B2849D201007944097949188F44444488 +:10AE8000050B4444444444101F00214668460E9A72 +:10AE900009F008FF02E0684608F0C0FD064635E00C +:10AEA0004D4D002028602046083009F069FA2968D5 +:10AEB00008430146286049A00DF066FD2AE02046BF +:10AEC0006F46083009F05CFA06462046093009F062 +:10AED00057FA014630460AF041FB002069460870E7 +:10AEE0002A784A70F2228A70C87009240C7148715D +:10AEF00088711A20C8710E722146384604F0A0FCF1 +:10AF000069468871264601E0002F03D03146684625 +:10AF10000AF036FE00200FB0F0BD00005043204381 +:10AF20006865636B204661696C21200D0A00000092 +:10AF3000504320504B545F4144445F464D2046618E +:10AF4000696C21200D0A0000062A00205043205081 +:10AF50004B545F54595045207468652073616D658A +:10AF600020616E64204E6F7420726573656E64217B +:10AF7000200D0A00504320504B545F4465765479AD +:10AF80007065204661696C21200D0A0050432050F5 +:10AF90004B545F4144445F544F204661696C21200B +:10AFA0000D0A0000504320504B545F4C454E204644 +:10AFB00061696C21200D0A00504320546573742090 +:10AFC0004461746120416464723A25303858204CE1 +:10AFD000656E3A2564000000300000204462675F1F +:10AFE0005377697463683A253038580070B52E4C31 +:10AFF00010202018027811464278120211438278FC +:10B00000C07812041143000601431420221813785B +:10B01000184653781B0218439378D2781B041843C0 +:10B020001206104381423DD009F0FBF90546024665 +:10B030001EA1002004F0A6FD14202318197808464C +:10B04000597809020843997809040843D978090610 +:10B0500008432946801CFFF7A5FE142021180A7812 +:10B0600010464A78120210438A78C97812041043B5 +:10B07000090608430121890240182075010A6175FB +:10B08000010CA175010EE1750E49884208D909200D +:10B0900000042075010A6175010CA175000EE075B0 +:10B0A000012070BD002070BD87060020555341521D +:10B0B000545F3020526576696365204C656E3A2591 +:10B0C00064000000FF0F0900F0B5BFB00026F021BA +:10B0D00002A8FDF73EF83B21BF48FDF73AF83B21B7 +:10B0E000BE48FDF736F83921BD48FDF732F8012298 +:10B0F000D204042102A805F06FF86946C87A897A5B +:10B100000002014308026946497A01430802694680 +:10B110000C7AB4A104432246002004F033FDFF2042 +:10B120000021013009F058FAB64DFFF73BFBAA4F5A +:10B13000F87E401CF876FFF7E3FAF87EE121401C28 +:10B14000F8764902B0483E9001740A0A42740A0C2B +:10B150008274090EC174E812AC49020A08704A7080 +:10B16000020C8A70000EC87001203870002009F0AF +:10B1700043F90246A6A1002004F004FD68427F21A5 +:10B1800020180902884201D32C4609E080B2F02140 +:10B19000FCF79CFF002902D0F1203FB0F0BD06462D +:10B1A0003246A5A1002004F0EDFC002009F024F9AE +:10B1B000A64F010A38707970010CB970010EF97050 +:10B1C0000246A3A1002004F0DDFC3A78F97810468D +:10B1D0007A78090612021043BA7812041043084321 +:10B1E000042109F0F9F90027002E3CD92A46F02164 +:10B1F00002A804F0F1FF6846817A407A019100903C +:10B2000069460B7B2A469AA1002004F0BBFC6946E4 +:10B21000087B012820D1487A072802D00A281BD1B0 +:10B220000DE08A7A9DA1002004F0ACFC6846807A8B +:10B2300001F056FB6948C17E491CC1760CE08A7A50 +:10B240009CA1002004F09EFC6846807A01F028F959 +:10B250006248C17E491CC176F035A54203D27F1CED +:10B26000FFB2B742C2D3042009F0C6F8024697A144 +:10B27000002004F087FC5949012008704B21C901C6 +:10B280009C48009001740A0A42740A0C8274090EE8 +:10B29000C174994901750A0A42750A0C8275090E32 +:10B2A000C175042009F0A8F8944D010A287069704E +:10B2B000010CA970010EE970024691A1002004F072 +:10B2C00061FC2A78E97810466A7809061202104370 +:10B2D000AA78120410430843082109F07DF9494D6A +:10B2E0000027002E1DD92A46F02102A804F074FF81 +:10B2F0006846007B02280DD16846407A062809D1AD +:10B300006846827A85A1002004F03CFC6846807A79 +:10B31000FDF7D6FDF035A54203D27F1CFFB2B74240 +:10B32000E1D300F0DBFB2E49C87E0C46401CC876FA +:10B33000002088764B20C001A074020AE274020C3F +:10B340002275000E6075012008707A48A075010A08 +:10B35000E175010C2176000E60760820A41C09F02E +:10B360004BF8024659A1002004F00CFC3E98102135 +:10B370004018027811464278120211438278C07850 +:10B38000120411430006014303200BF0C9FA009890 +:10B390001021401802781146427812021143827837 +:10B3A000C078120411430006014301200BF0B8FAE3 +:10B3B0001020201802781146427812021143827838 +:10B3C000C078120411430006014302200BF0A8FAD2 +:10B3D00000203FB0F0BD000057290020CB290020FD +:10B3E0009229002044657669636520636F6E666903 +:10B3F000675F616464723A25303858202D2D2D2DF9 +:10B400000A000000000108005929002077290020C7 +:10B410004255533438352044657669636520496E5A +:10B42000666F20456E64616464723A253038582036 +:10B430002D2D2D2D0A000000636F6E6669675F6E0B +:10B44000756D3A2564202D2D2D2D0A00EB29002045 +:10B45000506F6C6C3438355F496E666F2061646480 +:10B46000723A25303858202D2D2D2D0A000000006D +:10B47000253038582064657669636520706F727472 +:10B480003A256420747970653A2564206164647299 +:10B490003A2564202D2D2D2D0A0000004445565FCD +:10B4A00054454D50545950453A2564202D2D2D2D8D +:10B4B0000A0000004445565F4341524454595045E8 +:10B4C0003A2564202D2D2D2D0A000000416374348F +:10B4D00038352044657669636520496E666F20457E +:10B4E0006E64616464723A25303858202D2D2D2DFC +:10B4F0000A000000CD290020A15B0100B329002033 +:10B500004163743438355F496E666F2061646472DC +:10B510003A25303858202D2D2D2D0A004445565FF0 +:10B520005357495F545950453A2564202D2D2D2DF0 +:10B530000A000000595E0100F0B5024689B00446D9 +:10B5400015320D2101A8059208F068FE6846C279FF +:10B550000025384F384E012A04D0022A02D0032A8F +:10B560001ED064E003983968081A029988425ED9AF +:10B570006946CD71F57031A1042004F003FB0D2163 +:10B5800001A8059A08F078FEE11D002008F0FAFFF6 +:10B590002221204604F038FBE11D08F0F3FF46E0CD +:10B5A0000820301801780B46417809020B43817856 +:10B5B000C07809040B43000603433868C01A3C28CE +:10B5C00035D9B37925A1042004F0DCFAB379642BD2 +:10B5D0001DD36846C571F570F07900902A462CA1FC +:10B5E000042004F0CFFAF07900F0B8FA0D2101A898 +:10B5F000059A08F041FEE11D002008F0C3FF22215A +:10B60000204604F001FBE11D08F0BCFF0FE05B1CCD +:10B61000B37105950695002005A907950854401CAF +:10B62000C0B20A28FAD30A2105A806F003FE0020BA +:10B6300009B0F0BD10000020062A0020504320541D +:10B64000657374202D2054686520496E70757420D0 +:10B650005465737420454E4400000000504320544C +:10B6600065737420424C565F50435F544553545F9A +:10B67000544F55525F4441544153454E44A3BA255B +:10B6800064206E756D3A25642D2D2D2D2D2D000015 +:10B690005043205465737420544F555220444154F4 +:10B6A000415320454E44A3BA2564206E756D3A255A +:10B6B0006420535543433A2564000000F0B5164614 +:10B6C00002468FB00C46074615320D2168460D9292 +:10B6D00008F0A4FDB1482118B148814209D233468F +:10B6E0002246B0A1042004F04DFAB349002048706E +:10B6F0000CE0B2496118814208D233462246B0A11B +:10B70000042004F03FFAAC4902204870002560197B +:10B7100008F036FEA8420CD0F1B220460BF0CAFA6F +:10B72000002819D0F1B220460BF08AFA00283AD04E +:10B7300066E06D1CEDB20A2DE9D30020049005905F +:10B7400004A906900854401CC0B20A28FAD30A2162 +:10B7500004A806F091FD1EE10020049005900690DB +:10B760000790089009900A900B900C9099A29CA3C6 +:10B770009FA104A80DF032F98F484078002802D02C +:10B78000022808D03CE004A8FCF705FD81B204A81B +:10B790000AF0F6F934E004A8FCF7FDFC81B204A835 +:10B7A00006F06AFD2CE000200490059006900790BA +:10B7B000089009900A900B908FA289A38CA104A8ED +:10B7C0000DF00CF97C484078002802D002280BD0FC +:10B7D00011E004A8FCF7DFFC81B204A80AF0D0F95C +:10B7E00064200BF017FA06E004A8FCF7D4FC81B241 +:10B7F00004A806F041FD642010F006F808F00CFFE4 +:10B800003146204604F000FA002806D07DA102202F +:10B8100004F07AF901200FB0F0BD204608F0B0FD29 +:10B82000002806D07CA1022004F06EF901200FB0A0 +:10B83000F0BD601C08F0A4FD6A4601079278090F6C +:10B84000914201D0400606D579A1022004F05CF9AE +:10B8500001200FB0F0BDA01C08F092FDF22806D028 +:10B860007DA1022004F050F901200FB0F0BDE01CD2 +:10B8700008F086FD002806D07DA1022004F044F9DE +:10B8800001200FB0F0BD201D08F07AFDB04206D0B7 +:10B890007DA1022004F038F901200FB0F0BD33463D +:10B8A00022467EA1042004F06DF9601C08F068FDBA +:10B8B0000007000F694688703F490870E01D08F0D6 +:10B8C0005FFD0A2857D201007944097949188F444D +:10B8D000525252525252520452442046083008F0FA +:10B8E0004FFD012804D002281FD003282CD042E0AD +:10B8F000314D0120E8702046093008F041FD2871E3 +:10B9000020460A3008F03CFD687120460B3008F0F4 +:10B9100037FD0190E8786946C87068486849006852 +:10B92000029001984843019025E023490220C87005 +:10B930006946C870614831460068029061480190CC +:10B94000204600F061F916E01B480321C1706A46E9 +:10B95000D17000218171C1710DE05B4D0020286024 +:10B960002046083008F00CFD29680843014628608D +:10B9700056A00DF009F80D2168460D9A08F07CFCE0 +:10B98000F91D002008F0FEFD2221384604F03CF9A4 +:10B99000F91D08F0F7FD00200FB0F0BDFFFFF6FF26 +:10B9A000FE0F0000504320546573742055415254DB +:10B9B000302D2D2D2D2D2D00062A0020FFBFF6FF46 +:10B9C000504320546573742055415254322D2D2D0F +:10B9D0002D2D2D005365617263683A310D0A000008 +:10B9E000424C565F43315F4150505F563232000047 +:10B9F000257325730D0A00004A756D703A310D0AE2 +:10BA000000000000504320436865636B2046616975 +:10BA10006C21200D0A000000504320504B545F4120 +:10BA200044445F464D204661696C21200D0A0000A8 +:10BA3000504320504B545F54595045207468652042 +:10BA400073616D6520616E64204E6F742072657342 +:10BA5000656E6421200D0A00504320504B545F4412 +:10BA6000657654797065204661696C21200D0A0065 +:10BA7000504320504B545F4144445F544F20466133 +:10BA8000696C21200D0A0000504320504B545F4C3C +:10BA9000454E204661696C21200D0A005043205418 +:10BAA000657374204461746120416464723A253086 +:10BAB0003858204C656E3A256400000010000020C4 +:10BAC00060EA0000C0D40100300000204462675FDB +:10BAD0005377697463683A253038580000B58BB0E5 +:10BAE0000020009001900290039004900590069031 +:10BAF000079008900990FC206A465070F220107060 +:10BB000002209070E1204002D070010A1171010CF6 +:10BB10005171000E907104209072FF20F530D072A8 +:10BB2000000A10730B485073010A9173010CD17312 +:10BB3000000E107408485074010A9174010CD174FD +:10BB4000000E10750D2206A96846FDF701F80BB02E +:10BB500000BD000039B50000BDB6000070B584B06E +:10BB6000002405460094019417A10420029404F0D7 +:10BB700009F81C4E6A463178F220491C3170147065 +:10BB800051709070D4700A21117194711720D07186 +:10BB9000032010725572684603F052FE6A46907197 +:10BBA0007078002804D0022807D0F02004B070BDBF +:10BBB0001046117909F0E4FF03E01046117906F010 +:10BBC0005BFB002004B070BD424C565F50435F5495 +:10BBD0004553545F544F55525F41434B53656E6418 +:10BBE00000000000062A002070B505460024281930 +:10BBF00008F0C6FBA04201D0F02070BD641CE4B286 +:10BC00000A2CF4D3002070BDF0B5064685B009308B +:10BC100008F0B6FB044630460A3008F0B1FB484A4B +:10BC2000014614715071204604F030FA01909F21B2 +:10BC3000FF3809020138884202D3F02005B0F0BD78 +:10BC400030460B30152C58D0F12C76D108F098FBEB +:10BC5000212802D0232828D06FE0002570190C304D +:10BC600008F08EFB00240290A80003900019C0B2D7 +:10BC7000009002986100C8408707BF0F0AD03B467A +:10BC800030A10420009A03F07DFF3A460099019804 +:10BC900001F03FFE641CE4B2042C01D20398E5E7F6 +:10BCA0006D1CEDB2052DD9D347E0002570190C307D +:10BCB00008F066FB00240290A80003900019C0B2AF +:10BCC000009002986100C8408707BF0F0AD03B462A +:10BCD00027A10420009A03F055FF3A4600990198E5 +:10BCE00001F0E0FD641CE4B2042C01D20398E5E706 +:10BCF0006D1CEDB2022DD9D31FE008F041FB2228C4 +:10BD00001BD130460C3008F03BFB044630460D306A +:10BD100008F036FB054630460E3008F031FB06468B +:10BD200003462A461CA10420009403F02BFF33464F +:10BD300022462946019802F01AF9002005B0F0BD0C +:10BD4000062A002050432054657374204335494F20 +:10BD50005F436F6E74726F6C5F52656C61794348BC +:10BD60002564207374617475733A256400000000C3 +:10BD700050432054657374204335494F5F436F6EC1 +:10BD800074726F6C5F446F434825642073746174F0 +:10BD900075733A2564000000504320546573742085 +:10BDA00043354D757369635F436F6E74726F6C20BA +:10BDB0006469723A25642069643A25642073746169 +:10BDC0007475733A2564000070B5354DE878032822 +:10BDD0000AD034480078012803D002285DD0032817 +:10BDE00001D100F065F870BD2F4C0C2020180278AE +:10BDF00011464278120211438278C078120411432E +:10BE000000060143102022181378184653781B02AD +:10BE100018439378D2781B041843120610438142CA +:10BE2000E1D008F0FEFA01461020221813781846D7 +:10BE300053781B0218439378D2781B0418431206D8 +:10BE40001043801CFFF7D0FE002802D1E879401C87 +:10BE5000E871102021180A7810464A78120210431F +:10BE60008A78C9781204104309060843012189021F +:10BE700040182074010A6174010CA174010EE17470 +:10BE80000A498842AFD9492040032074010A6174ED +:10BE9000010CA174000EE07470BD07F005FB70BDCD +:10BEA000062A0020CB290020A60A0020FF2F090027 +:10BEB000F0B5FF4E83B0F07E00287DD0344620469A +:10BEC000B17E22300190A01C2746203400902378B8 +:10BED000E2781846637812061B021843A3780325FC +:10BEE0001B0418432337104308294CD20A007A4414 +:10BEF000127992189744030547FD47FCFBFA01208D +:10BF0000FFE0801C08F03CFA01281ED02278E1787E +:10BF100010466278090612021043A27812041043F8 +:10BF2000084308F02DFA034620782146024660783F +:10BF3000A47800020243C878240422430006024386 +:10BF4000DCA1002003F01EFE1DE02278E1781046FF +:10BF50006278090612021043A278120410430843C3 +:10BF600003F070FE002810D02178E0780A4661784E +:10BF7000000609020A43A17809040A430243D6A134 +:10BF8000002003F0FFFDB5760CE22278E178104640 +:10BF90006278090612021043A27812041043084383 +:10BFA0003077010A7177010CB177010EF17708F053 +:10BFB000E7F9A0721C2000E020E231180A78104650 +:10BFC0004A78120210438A78C9781204104309068D +:10BFD0000843401C08F0D4F9E0721C2031180A789C +:10BFE00010464A78120210438A78C9781204104326 +:10BFF00009060843083008F014FA2073000A607339 +:10C000001C2031180A7810464A78120210438A78A8 +:10C01000C97812041043090608430D3008F0ECF902 +:10C020003874010A7974010CB974000EF8741C207C +:10C0300031180A7810464A78120210438A78C97873 +:10C040001204104309060843113008F0D5F9387579 +:10C05000010A7975010CB975000EF8751C203118AC +:10C060000A7810464A78120210438A78C978120476 +:10C070001043090608430B3008F0D3F90199020A6E +:10C0800008734A73020C8A73000EC8731C2031189F +:10C090000A7810464A78120210438A78C978120446 +:10C0A0001043090608430A3008F0A6F9A0740120DD +:10C0B00060729148016891488160102038180278B8 +:10C0C00011464278120211438278C078120411435B +:10C0D0000006014314D0481C12D01C2032181378DB +:10C0E000184653781B021843937803E044E15FE05D +:10C0F00030E008E01B04D27818431206104388474A +:10C100000620B0764EE1FF30FF3002302070010A89 +:10C110006170010CA170000EE070042008F06CF951 +:10C120002378E2781946637812061B021943A37834 +:10C130001B0419431143884209D8002008F05CF918 +:10C140002070010A6170010CA170000EE0700120E6 +:10C15000B07627E1607A012800D014E7A07C00289F +:10C16000FBD0102038180278114642781202114391 +:10C170008278C07812041143000601430FD0481C96 +:10C180000DD01C2032181378184653781B02184320 +:10C190009378D2781B0418431206104388475648F8 +:10C1A000016856488160A07C401EA0740620A8E764 +:10C1B000534D0C2028180278114642781202114380 +:10C1C0008278C078120411430006014310202A1817 +:10C1D0001378184653781B0218439378D2781B04BF +:10C1E000184312061043814260D008F01AF98446C1 +:10C1F0001420381801780B46417809020B438178E6 +:10C20000C07809040B43000603431FD0581C1DD0FF +:10C2100010202818027811464278120211438278C1 +:10C22000C07812041143000601431C2037183A78E5 +:10C2300010467A7812021043BA7812041043FA7842 +:10C24000120610436246891C98476072607A002883 +:10C250000AD1294800682071010A6171010CA1719D +:10C26000000EE0710720B076307803281DD1102031 +:10C27000281801780A46417809020A438178C07873 +:10C2800009040A430006024300981021401803786D +:10C29000194643781B0219438378C0781B0419435D +:10C2A0000006014301200BF017FF2BE04DE00000DA +:10C2B000CB290020424C565F504F4C4C5F64657652 +:10C2C0002054797065204661696C3A2530385820D1 +:10C2D0002C2025640D0A0000424C565F504F4C4CF8 +:10C2E0005F64657620436865636B204661696C3ADC +:10C2F000253038580D0A00001000002050000020A2 +:10C30000A60A0020102029180A7810464A7812023E +:10C3100010438A78C97812041043090608430121A2 +:10C32000890240182874010A6974010CA974010E6D +:10C33000E9743349884208D9492040032874010A26 +:10C340006974010CA974000EE8742E4801682E4827 +:10C3500080680B1A01980C2141180A7810464A7817 +:10C36000120210438A78C978120410430906084360 +:10C37000834217D90520C4E6224801682248806814 +:10C380000B1A01980C2141180A7810464A781202BB +:10C3900010438A78C978120410430906084383427F +:10C3A00000D9F0E53078012828D0009801460A78B5 +:10C3B00010464A78120210438A78C9781204104352 +:10C3C00009060843114909680C1A0098021D1378E0 +:10C3D000184653781B0218439378D2781B041843ED +:10C3E00012061043844209D900980A0A017042706B +:10C3F0000A0C8270090EC1700120307003B0F0BDCC +:10C40000FF2F090010000020500000201400002021 +:10C4100030B5224A04465168106889B0926800908D +:10C4200002920191204607F0ABFF0A2802D00120BA +:10C4300009B030BD224615321546102104A807F078 +:10C44000EDFE601C07F09CFF6946487100A8C978A2 +:10C45000033006F04BFCA01C07F092FF092269464E +:10C4600005F03CFE6946087C032802D90120487487 +:10C4700001E0401C08742A46102104A807F0FCFEC5 +:10C48000E11D002008F07EF82521204603F0BCFBCA +:10C49000E11D08F077F8002009B030BDA4F10100DB +:10C4A00000B58BB00021009101910291039104919C +:10C4B00005910691079108916A46099150700A20EA +:10C4C0001070012090704B20C001D070010A1171D2 +:10C4D000010C5171000E9071032090726420D07293 +:10C4E000002010730B485073010A9173010CD17333 +:10C4F000000E107408485074010A9174010CD17434 +:10C50000000E1075102206A96846FCF741FC0BB01E +:10C5100000BD000011C400001DC50000F0B50546B7 +:10C5200085B016460C460127401C07F07AFFC0B2C2 +:10C530000190A019801E07F074FF0090204607F0BC +:10C540001FFF552804D1601C07F01AFF552806D09C +:10C550009CA1022003F0D8FA384605B0F0BDA01C1B +:10C5600007F00EFFEE2804D096A1022003F0CCFACB +:10C5700016E0E01C07F004FFC01CC3B2B34205D0B4 +:10C58000324695A1022003F0BFFA09E0201D07F012 +:10C59000F7FE072807D002469BA1022003F0B4FA59 +:10C5A000384605B0F0BD601D07F0EAFE01998842EB +:10C5B00005D0024699A1022003F0A6FAF0E7701F09 +:10C5C00081B2E01C07F006FE01460098814277D157 +:10C5D0002A46153210216846049207F01FFE0026F5 +:10C5E000684606704670A01D07F0CAFE012848D1B3 +:10C5F000E01D07F0C5FE071E01D0012F20D06846C0 +:10C6000006728C4807F0BCFEB84209D0894938460A +:10C6100007F0B8FF88A1022003F076FA05F000FACF +:10C620002046083007F0ACFE29460931062857D2CB +:10C6300002007A4412799218974452061524334323 +:10C64000012069460872DCE701206A4690720846BC +:10C6500007F0E7FE6A46D070010A1171010C5171B2 +:10C66000000E907146E002206A469072084607F07C +:10C67000D8FE6A46D070010A1171010C5171000E8A +:10C68000907137E003206A469072084607F0C9FEB1 +:10C690006A46D070010A1171010C5171000E90713F +:10C6A00028E004206A469072084607F0BAFE6A46FF +:10C6B000D070010A1171010C5171000E907119E0D6 +:10C6C00073E005206A469072084607F0AAFE6A46A3 +:10C6D000D070010A1171010C5171000E907109E0C6 +:10C6E0006846007A002803D006206946887201E077 +:10C6F000684686726846417A807A814243D06946AC +:10C70000487207283FD201007944097949188F44BB +:10C7100003131B232B330B004BA1022003F0F4F96E +:10C7200001206946C8712EE049A1022003F0ECF90E +:10C7300002206946C87126E049A1022003F0E4F90D +:10C7400003206946C8711EE049A1022003F0DCF90C +:10C7500004206946C87116E049A1022003F0D4F90B +:10C7600005206946C8710EE049A1022003F0CCF90A +:10C7700006206946C87106E049A1022003F0C4F909 +:10C7800007206946C87110216846049A07F074FDB5 +:10C79000E91D002007F0F6FE2521284603F034FAB3 +:10C7A000E91D07F0EFFE0027FAE6B61EB1B22046FB +:10C7B00007F010FD03463DA10220009A03F0A4F902 +:10C7C000EEE60000D0A3D1E9CEC4BCFECDB7B2BB2B +:10C7D000B6D421210D0A0000D0A3D1E9CAFDBEDDE7 +:10C7E000B3A4B6C8B2BBB6D420CAB5BCCAB3A4B64B +:10C7F000C83A25642CCAFDBEDDB3A4B6C83A256488 +:10C8000021210D0A00000000D0A3D1E9C0E0D0CD65 +:10C81000B2BBB6D43A256421210D0A00D0A3D1E9D8 +:10C82000C8A1B5E7B5D8D6B7B2BBB6D43A2564210E +:10C83000210D0A000AB000004465766963655F4314 +:10C84000617264210D0A0000B0CEBFA80D0A00007D +:10C85000B8DFC6B5BFA8B2E5C8EB0D0A00000000FE +:10C86000BFCDC8CBBFA8B2E5C8EB0D0A00000000E1 +:10C87000B7FECEF1D4B1BFA8B2E5C8EB0D0A0000F7 +:10C88000BEADC0EDBFA8B2E5C8EB0D0A00000000C8 +:10C89000B9A4B3CCBFA8B2E5C8EB0D0A00000000F4 +:10C8A000D7DCB9DCB2E5C8EB0D0A00005352414DAC +:10C8B0005F4352433136204661696C202C637263BA +:10C8C0005F76616C3A25303258205352414D5F43B8 +:10C8D000524331363A2530325821210D0A000000EA +:10C8E00000B591B000210091019102910391049152 +:10C8F000059106910791089109910A910B910C916C +:10C900000D910E910F9110916946487007200870A3 +:10C91000012088704B20C001C870020A0A71020C05 +:10C920004A71000E8871032088726420C87200204A +:10C9300008730F484873020A8A73020CCA73000E08 +:10C9400008740C484874020A8A74020CCA74000EF7 +:10C950000875FF2008A9C875087648768876C876D5 +:10C9600008772B2206A96846FCF712FA11B000BD21 +:10C970008DCF000079C90000F0B506468BB0154692 +:10C980000C460127401C07F0FBFC01906019801E3B +:10C9900007F047FD0090204607F0F2FC552804D12F +:10C9A000601C07F0EDFC552806D03DA1022003F0E5 +:10C9B000ABF838460BB0F0BDA01C07F0E1FCEE2848 +:10C9C00004D037A1022003F09FF816E0E01C07F026 +:10C9D000D7FCC01CC3B2AB4205D02A4635A1022009 +:10C9E00003F092F809E0201D07F0CAFC032807D0E5 +:10C9F00002463CA1022003F087F838460BB0F0BD98 +:10CA0000601D07F0BDFC0199884205D002463AA19D +:10CA1000022003F079F8F0E7681F81B2E01C07F00C +:10CA2000D9FB0146009881422DD1324615320027AC +:10CA300015462B21684607F0F1FB002008A9487134 +:10CA40008871E01C07F09CFC072806D0152809D146 +:10CA50006946E01C00F078F804E0FF206946C877DA +:10CA6000032088772A462B21684607F005FCF11D34 +:10CA7000002007F087FD4021304603F0C5F8F11D86 +:10CA800007F080FDB9E7AD1EA9B2204607F0A2FB72 +:10CA9000034620A10220009A03F036F8ADE700001B +:10CAA000D0A3D1E9CEC4BCFECDB7B2BBB6D4212150 +:10CAB0000D0A0000D0A3D1E9CAFDBEDDB3A4B6C8FB +:10CAC000B2BBB6D420CAB5BCCAB3A4B6C83A2564B2 +:10CAD0002CCAFDBEDDB3A4B6C83A256421210D0AD7 +:10CAE00000000000D0A3D1E9C0E0D0CDB2BBB6D4E5 +:10CAF0003A256421210D0A00D0A3D1E9CEC2BFD8C6 +:10CB0000C6F7B5D8D6B7B2BBB6D43A256421210D45 +:10CB10000A0000005352414D5F43524331362046D4 +:10CB200061696C202C6372635F76616C3A253032E8 +:10CB300058205352414D5F43524331363A253032EB +:10CB40005821210D0A000000F0B5064683B00C46BE +:10CB5000001D07F015FC0127002805D0012807D18A +:10CB60002D0A2D023D4303E02D0A02202D0205432C +:10CB7000B01D07F005FC012804D002280BD00328C3 +:10CB800018D110E0FF20000285433802FF2109027E +:10CB9000084005430EE0FF210902022000028D43F8 +:10CBA0000840054306E0FF210902032000028D43EF +:10CBB00008400543F01D07F0E3FBFF2109048D4306 +:10CBC0000104FF2212040190114030460D430A3047 +:10CBD00007F0D6FB002816D0012804D0022807D081 +:10CBE000032815D10AE02D0203202D0A000608E0D3 +:10CBF0002D0202202D0A0006054309E02D022D0A10 +:10CC00003806054304E02D0200202D0A00060543E6 +:10CC100030460D3007F0B4FB2072C0062146800F6D +:10CC20000AD00846FF21090288433902FF22120276 +:10CC300011400843009008E0FF2212020021204624 +:10CC4000090290431140084300903046113007F02C +:10CC500097FB00990090090A0902227801432646B1 +:10CC6000E8B220369446904211D12A04130EE2789D +:10CC700093420CD1A2792B0E934208D10A04130ED1 +:10CC80006278934203D12279019B93426CD0604534 +:10CC900006D06246002A03D0627BFF2A00D12773A8 +:10CCA00020702804000EE070280EA07101982071F9 +:10CCB0000804000E607077724BA1022002F062FF40 +:10CCC0002078012805D0022807D14BA102F05AFF95 +:10CCD00003E04BA1022002F055FFE078012804D0C8 +:10CCE000022807D003280ED109E047A1022002F054 +:10CCF00049FF08E046A1022002F044FF03E046A1FC +:10CD0000022002F03FFFA079002806D0012809D0B8 +:10CD100002280CD0032813D10EE041A1022002F01A +:10CD200031FF0DE040A1022002F02CFF08E040A1FD +:10CD3000022002F027FF03E03FA1022002F022FFC1 +:10CD40006078002806D0012808D13DA1022002F019 +:10CD500019FF03E03CA1022002F014FF22793CA15C +:10CD60000220009B02F00EFF61790098884204D0F7 +:10CD70006071B07A012800D177722078617B884297 +:10CD800005D13AA1022002F0BFFEFF206073207897 +:10CD9000E178C00349034018A179394DC902401810 +:10CDA0006178C907490D40182179C906890D4018D5 +:10CDB0006179C906C90E40182074000A60742846BB +:10CDC00007F02FFB0146607C227C00021043814269 +:10CDD00008D0294607F015FC2AA1022002F094FE93 +:10CDE00004F01EFE03B0F0BDCEC2BFD8C6F7D7B464 +:10CDF000CCACA3BA00000000B9D8BBFA20000000F8 +:10CE0000BFAABBFA20000000D6C6C0E42000000084 +:10CE1000D6C6C8C820000000CBCDB7E72000000070 +:10CE2000D7D4B6AF20000000B8DFCBD92000000077 +:10CE3000D6D0CBD920000000B5CDCBD92000000042 +:10CE4000B7A7BFAA20000000B7A7B9D820000000EC +:10CE5000C9E8D6C3CEC2B6C83A256420CAD2C4DA5D +:10CE6000CEC2B6C83A25640D0A000000C7E5B3FE7D +:10CE7000BFD8D6C6D7B4CCACB1EAD6BE0D0A000036 +:10CE80000BB000004465766963655F54656D702082 +:10CE90000D0A0000F0B516463B4A0D46044651689F +:10CEA000106885B09268009002920191A01C07F072 +:10CEB00067FA0390601C07F063FA694648712C46D4 +:10CEC000002703220123FF212034002E07D0022552 +:10CED000012E1DD0022E45D0032E48D12CE06846ED +:10CEE0008371E87F012802D0022808D102E0684659 +:10CEF000C37104E06846C77121706170A170A87F9A +:10CF0000002802D0401EA87731E0E977AA772EE00A +:10CF1000684685712078012804D0022805D00328AE +:10CF200008D105E06846C37104E06846C57101E0B8 +:10CF30006846C27121701AE004206E46B071A07874 +:10CF400000280CD0012804D0022804D0032807D1DF +:10CF500003E0F27104E0F57102E0F37100E0F771B3 +:10CF6000A17004E06B469A716078D871617000A876 +:10CF70000721033005F0BAFE0A226946039805F03E +:10CF8000ADF805B0F0BD00008CF10100F0B502462F +:10CF90008FB005461532042617462B2103A807F04B +:10CFA0003DF9002403A80119C97FFF2901D02646B5 +:10CFB00003E0641CE4B2042CF5D3052E27D2300024 +:10CFC00078440079001887440202020208003246C1 +:10CFD00003A92846FFF75EFF19E01C4A1169D068D3 +:10CFE0005269009002920191A81C07F0C9F9044609 +:10CFF000681C07F0C5F96946487100A8062103308E +:10D0000005F074FE09226946204605F067F808A875 +:10D01000407C032803D9012008A9887402E008A9EC +:10D02000401C48743A462B2103A807F025F9E91D56 +:10D03000002007F0A7FA4021284602F0E5FDE91D8F +:10D0400007F0A0FA00200FB0F0BD00008CF1010045 +:10D05000F0B50446A7B015460E460127084607F06E +:10D060008FF90090601C07F08BF90146009881420F +:10D0700001D1052D08D202462B4623A1022002F041 +:10D0800081FD384627B0F0BD681EC1B2304606F0BB +:10D090005CFF00907019401E07F072F9014600987D +:10D0A000814228D12046083007F0BBF922461532CC +:10D0B0001546972101A807F0B1F8701C07F060F938 +:10D0C000032801D0062805D1002701AA31462046B1 +:10D0D00000F0A2F82A46972101A807F0CDF8E11D3B +:10D0E000002007F04FFAAC21204602F08DFDE11D33 +:10D0F00007F048FA04E0024608A1022002F042FDCF +:10D10000384627B0F0BD00004465764164643A2596 +:10D11000642C6C656E3A25640D0A0000534F525F13 +:10D120005352414D5F435243204661696C3A25306A +:10D1300032580D0A00000000F0B5002491B00D46F1 +:10D140000646002847D0324615322B2106A8049205 +:10D1500007F064F8A805830F2805EAB2A904800F38 +:10D160008F0F0592AD0B039000901CA101970295C3 +:10D17000022002F0C9FC6846007E854202D008A861 +:10D180000124C5756846C07E874202D008A807768C +:10D19000641C6946097F0598884202D008A9487630 +:10D1A000641C6946897F0398884202D008A9887662 +:10D1B000641C002C0FD02B2106A8049A07F05CF801 +:10D1C000F11D002007F0DEF94021304602F01CFD81 +:10D1D000F11D07F0D7F911B0F0BD000073657420A0 +:10D1E00054454D502053746174653A20CEC2B6C880 +:10D1F0003A25642CB7A7C3C53A25642CB7E7CBD929 +:10D200003A25642CC4A3CABD3A2564BFAAB9D8BBC9 +:10D21000FA3A2564200D0A00F7B584B04149174653 +:10D220000025401C019107F0ABF80090012808D0C0 +:10D23000022802D0032804D101E03B4800E03B482B +:10D2400001903E4600248036F47434750598401CE5 +:10D2500007F096F80290727B35A1022002F092FC52 +:10D2600002980121032805D0062801D1F4733174F6 +:10D2700007B0F0BD707B00240028F9D90598A108FB +:10D280000818801C07F07CF8A107490F03228A4088 +:10D290000240CA409007800F012804D002280DD018 +:10D2A000032820D115E0234627A10220009A02F08E +:10D2B00069FC01206D1C3855EDB214E0234629A10C +:10D2C0000220009A02F05EFC02206D1C3855EDB27F +:10D2D00009E023462BA10220009A02F053FC032010 +:10D2E0006D1C3855EDB2641C707BE4B2A042C5D809 +:10D2F000002DBDD00598801C07F093F804460198D6 +:10D3000007F08FF8A042B3D0234625A10220009A4F +:10D3100002F038FC2046019907F073F904F080FB15 +:10D3200007B0F0BD0FB0000011B0000013B0000056 +:10D3300073776974636820496E707574204E756DDB +:10D340003A253032580D0A00737769746368256492 +:10D350002044657625303258204B657950726573CC +:10D36000730D0A00737769746368256420446576D9 +:10D3700025303258204B657952656C656173650DB7 +:10D380000A00000073776974636825642044657639 +:10D3900025303258204B6579486F6C640D0A0000C7 +:10D3A0004465766963655F537769746368256420B3 +:10D3B00073746172745F76616C3A253034580D0A6B +:10D3C00000000000F0B50246A7B004461532002563 +:10D3D000972101A8009206F021FF20A8827C00235B +:10D3E0000126002A14D901AFF8186821095C4030E1 +:10D3F000007A814208D020A8C674394638464831A0 +:10D400006830FAF78DFE03E05B1CDBB29A42EBD882 +:10D4100020A8C07C01281FD120A8007D20A90028B9 +:10D4200002D0401E087502E00E750020C874214627 +:10D4300001A800F015F80125972101A8009A06F02F +:10D440001BFFE11D002007F09DF8AC21204602F0F3 +:10D45000DBFBE11D07F096F8284627B0F0BD000081 +:10D46000F0B5054683B00C46881C06F089FF2A49B2 +:10D4700002900868496800900191601C06F080FFE6 +:10D4800069462C4608708034A17B002000291DD9F4 +:10D490006A4629184031097A002909D0C10889183B +:10D4A00047078B787F0F0126BE4033438B7008E01F +:10D4B000C108891847078E787F0F0123BB409E4320 +:10D4C0008E70401CA17BC0B28142E2D8C8B2102845 +:10D4D00001D8052502E0C01DC508ED1C681EC1B2BB +:10D4E000684606F023FD694649192039C8770BA123 +:10D4F000022002F047FB2A466946029804F0EEFD3E +:10D50000E07C012803D90120207503B0F0BD401C48 +:10D51000E07403B0F0BD000084F10100737769741A +:10D5200063682073656E6420646174612D2D2D0D18 +:10D530000A000000F8B5C14CBF4E2379E0791946C6 +:10D54000637900061B021943A37972781B041943FF +:10D550000143082023181F78B94D38465F783F02F1 +:10D5600038439F78DB783F0438431B061843002A72 +:10D5700004D00027062A7DD07770F8BD814246D0BE +:10D5800006F04FFF0246AFA1002002F0FBFA082090 +:10D59000201801780A46417809020A438178C07848 +:10D5A00009040A430006024310202818037819468C +:10D5B00043781B0219438378C0781B041943000683 +:10D5C000014303200AF088FD082021180A7810463C +:10D5D0004A78120210438A78C97812041043090667 +:10D5E00008430121890240182072010A6172010C6E +:10D5F000A172010EE1729B49884208D94B20400379 +:10D600002072010A6172010CA172000EE07296484C +:10D610002378027811464278120211438278C0784A +:10D62000120411430006014318466378E2781B0296 +:10D630001843A37812061B041843104381425AD0A2 +:10D6400006F0EFFE2278074610466278E178120273 +:10D650001043A2780906120410430843801C06F008 +:10D660008FFE2873010A6973010CA973000EE87319 +:10D67000FF2100E073E0E1318F4200D90F467B4883 +:10D6800000682872010A6972010CA972000EE87222 +:10D690002278E07811466278000612021143A278DF +:10D6A0001204114301433A460320C91C04F0FCFC58 +:10D6B000062070702278E17810466278090612021E +:10D6C0001043A27812041043084301218902401834 +:10D6D0002070010A6170010CA170010EE1706449B3 +:10D6E000884208D9972000032070010A6170010C5C +:10D6F000A170000EE0702A78E97810466A78090671 +:10D7000012021043AA78594C1204104308432168AE +:10D710002A790B1A10466A79E97912021043AA791C +:10D720000906120410430843834200D825E751A19B +:10D73000002002F027FA20682870010A6970010CA5 +:10D74000A970000EE87001203070E12040022874BA +:10D75000010A6974010CA974000EE874F8BD8142D5 +:10D7600047D006F05EFE024636A1002002F00AFA1B +:10D770000820201801780A46417809020A43817876 +:10D78000C07809040A4300060243102028180378D1 +:10D79000194643781B0219438378C0781B04194348 +:10D7A0000006014303200AF097FC08207770211837 +:10D7B0000A7810464A78120210438A78C97812040F +:10D7C0001043090608430121890240182072010A0A +:10D7D0006172010CA172010EE1722249884208D9DE +:10D7E0004B2040032072010A6172010CA172000EED +:10D7F000E072082029180A7810464A78120210436D +:10D800008A78C97812041043090608431749096841 +:10D810000B1A0C2029180A7810464A781202104375 +:10D820008A78C9781204104309060843834295D9BF +:10D830000AF000FC7770F8BD57290020E4120020A0 +:10D8400059290020554152543220646174615F6C43 +:10D85000656E203A2564202C52585F4275666665D5 +:10D86000723A0000FF6F0900E0120020140000204F +:10D87000FF7F09004255533438355F496E666F208B +:10D88000506F72745F4E6F726D616C5F4D6F646547 +:10D89000206D6F64655F6F757474696D65200D0A26 +:10D8A00000000000002833D0F0B516460246B5B09F +:10D8B0000D46044615321746D221684606F0AEFCE6 +:10D8C000052D11D26846012241191046A840012EAB +:10D8D00004D0022E03D0032E18D005E002224A7194 +:10D8E00030AA117A014311723A46D221684606F0F5 +:10D8F000C3FCE11D002006F045FEE721204602F0B2 +:10D9000083F9E11D06F03EFE35B0F0BD0322E6E7E7 +:10D91000704700285DD0F0B517460246B5B00E46F8 +:10D92000044615321546D221684606F077FC142EBF +:10D930003DD26846012280191146B1402030012FA6 +:10D9400004D0022F03D0032F19D030E002224275F9 +:10D9500032A80230027813464278120213438278CA +:10D96000C07812041343000603430B4330A98B72A3 +:10D97000180AC872180C0873180E487317E00322AF +:10D98000427532AA02321378184653781B021843A4 +:10D990009378D2781B04184312061043084330AA28 +:10D9A0009072010AD172010C1173000E50732A4655 +:10D9B000D221684606F060FCE11D002006F0E2FD81 +:10D9C000E721204602F020F9E11D06F0DBFD35B02D +:10D9D000F0BD704700284ED0F0B517460246B7B0EC +:10D9E0000C46054615321E46D22101A8009206F0CB +:10D9F00015FC142C29D201AA1019610001238A18E0 +:10DA00001946A14020306132012F04D0022F2ED0C0 +:10DA1000032F2ED019E043701677300A507734AABE +:10DA200002321378184653781B0218439378D27841 +:10DA30001B04184312061043084330AA9074010ACD +:10DA4000D174010C1175000E5075D22101A8009AF5 +:10DA500006F012FCE91D002006F094FDE72128469F +:10DA600002F0D2F8E91D06F08DFD37B0F0BD0223BB +:10DA7000D1E70323CFE77047F3B587B000200090CC +:10DA80000A468E4601900290039004906D46C03283 +:10DA90000590D379012181400B421CD071460C18AE +:10DAA000A034A17986088F07F31DBF0F8107490FA6 +:10DAB0008C468F40E95C0F43EF54A1799B1C89068B +:10DAC0008F0F61468F40E95C0F430146EF540B31E5 +:10DAD000C9B2237F6B54401CC0B20728D9D30021A0 +:10DAE0002970D07800282AD0537968781B071B0F3B +:10DAF0001843402318432B466870F120987001208A +:10DB0000D870172018715971252098710321D97484 +:10DB1000E82119750B215975B82199759071172154 +:10DB2000184601F08DFE6B4658710798801C06F070 +:10DB300027FC1722694604F0D1FA09B0F0BD5079EC +:10DB4000401CC0B250710F2800D9517153796878C8 +:10DB50001B071B0F18432B466870CEE7F3B5002058 +:10DB600083B00B4600900190C03302901C7A0122D2 +:10DB70008240144222D00D186E798408B607B60F81 +:10DB800087077F0FBE406F46E41D3F5D3E436F46F3 +:10DB90003E556C79012C04D0022C05D0032C0DD1FC +:10DBA00005E00C7B944308E00C7B144305E00C7B00 +:10DBB000144201D0944300E014430C73401CC0B2E3 +:10DBC0000528D3D3002168460170D878002823D0D7 +:10DBD0006A4650785A791207120F104340221043B8 +:10DBE0006A465070F12090700120D07009201071A9 +:10DBF00051712320907198710921104601F020FE87 +:10DC00006A4650710398801C06F0BAFB09226946E7 +:10DC100004F064FA05B0F0BD5879401CC0B25871E8 +:10DC20000F2800D959716A4650785A791207120F95 +:10DC300010436A465070D5E7F3B589B000200090D4 +:10DC4000019002900A4603900490059006906C465D +:10DC5000C0320790557A012383401D421BD00D5CD2 +:10DC60008308AD07AD0F8607760FB540DB1DE65C78 +:10DC70003543E55445002B466D182E7EEF7D360268 +:10DC800009333E43DBB2360AE6542E7EEF7D350281 +:10DC90003D43E3185D70401CC0B20528DAD3002173 +:10DCA0002170D078002822D0537960781B071B0F91 +:10DCB00018434023184323466070F12098700120D8 +:10DCC000D8701920187159712420987190711921F8 +:10DCD000184601F0B5FD6B4658710998801C06F096 +:10DCE0004FFB1922694604F0F9F90BB0F0BD5079E9 +:10DCF000401CC0B250710F2800D95171537960781F +:10DD00001B071B0F184323466070D6E710B582B07F +:10DD1000002204460092684601920270C031C87821 +:10DD2000002822D06B4658784B791B071B0F1843ED +:10DD3000402318436B465870F12098700120D8702A +:10DD4000072018715A712020987188710721184690 +:10DD500001F076FD6B465871A01C06F011FB0722FE +:10DD6000694604F0BBF902B010BD4879401CC0B24E +:10DD700048710F2800D94A716B4658784B791B07B8 +:10DD80001B0F18436B465870D6E70000F3B5002010 +:10DD900085B00E46C2360D460090019002900446B2 +:10DDA00001270390082031180A7810464A78120299 +:10DDB00010438A78C978120410430906084339468B +:10DDC000A140084212D029192031497DA0088907B5 +:10DDD000890FA207520F91406A46C01D135C194378 +:10DDE0001154224620A1022001F08EFE641CE4B2F0 +:10DDF000142CD7D3002168460170C035E87800287C +:10DE000022D06A4650786A791207120F10434022D6 +:10DE100010436A465070F1209070D7700C2010713A +:10DE2000517121209071A8710C21104601F008FD5C +:10DE30006A4650710598801C06F0A2FA0C226946C9 +:10DE400004F04CF907B0F0BD6879401CC0B26871AD +:10DE50000F2800D969716A4650786A791207120F43 +:10DE600010436A465070D6E752656C61795F436F24 +:10DE70006E74726F6C20434825640D0A0000000028 +:10DE8000F3B58FB00C463C216846FAF762F90020E2 +:10DE90002746C2376A460C217B181D7829465D78D3 +:10DEA0002D0229439D78DB782D0429431B06194355 +:10DEB0000123834019421ED0231820335B78810848 +:10DEC0009B079B0F85076D0FAB40C91D555C2B430E +:10DED0005354430019461B1961335D7F1E7F2D0289 +:10DEE0000C313543C9B22D0A55545D7F1E7F2B027C +:10DEF000334351184B70401CC0B21428CBD30021BF +:10DF00001170C034E078002822D05078627912076E +:10DF1000120F1043402210436A465070F120907057 +:10DF20000120D07034201071517122209071A071A5 +:10DF30003421104601F084FC6A4650710F98801C11 +:10DF400006F01EFA3422694604F0C8F811B0F0BD9C +:10DF50006079401CC0B260710F2800D9617150789F +:10DF600062791207120F10436A465070D6E70028F4 +:10DF70003CD0F0B51646024693B00F460546153222 +:10DF80001C4646216846129206F048F908A8867198 +:10DF900068460774C474210A10AC017502342078F5 +:10DFA0000346607800020343A07800040343E0784E +:10DFB000000603430420034310A88370190AC170AC +:10DFC000190C0171190E417146216846129A06F02A +:10DFD00053F9E91D002006F0D5FA5B21284601F02F +:10DFE00013FEE91D06F0CEFA13B0F0BD704710B570 +:10DFF00084B00022044600920192684602920270A8 +:10E00000087800281FD089786B4658780907090FCF +:10E01000084340210843587001209870D8700820A8 +:10E0200018719A712020D8710821184601F008FC57 +:10E0300069468871A01C06F0A3F90822694604F01D +:10E040004DF804B010BD8878401CC3B28B700F2B04 +:10E0500000D98A7089786B4658780907090F0843F8 +:10E060005870D9E710B584B000220446009201929E +:10E07000684602920270087800281FD089786B46A3 +:10E0800058780907090F08434021084358700120B8 +:10E090009870D870082018719A712420D8710821BE +:10E0A000184601F0CDFB69468871A01C06F068F99E +:10E0B0000822694604F012F804B010BD8878401CAC +:10E0C000C3B28B700F2B00D98A7089786B46587851 +:10E0D0000907090F08435870D9E710B584B000222A +:10E0E0000446009201926846029202700878002865 +:10E0F0001FD089786B4658780907090F08434021DB +:10E100000843587001209870D870082018719A71CF +:10E110002B20D8710821184601F092FB69468871BE +:10E12000A01C06F02DF90822694603F0D7FF04B0C1 +:10E1300010BD8878401CC3B28B700F2B00D98A7039 +:10E1400089786B4658780907090F08435870D9E752 +:10E1500010B584B0002204460092019268460292F3 +:10E160000270087800281FD089786B465878090714 +:10E17000090F084340210843587001209870D87057 +:10E18000082018719A712A20D8710821184601F0C8 +:10E1900057FB69468871A01C06F0F2F80822694610 +:10E1A00003F09CFF04B010BD8878401CC3B28B7094 +:10E1B0000F2B00D98A7089786B4658780907090FA8 +:10E1C00008435870D9E710B584B000220446009285 +:10E1D0000192684602920270087800281FD0897860 +:10E1E0006B4658780907090F0843402108435870C7 +:10E1F00001209870D870082018719A712C20D8715D +:10E200000821184601F01CFB69468871A01C06F025 +:10E21000B7F80822694603F061FF04B010BD8878A2 +:10E22000401CC3B28B700F2B00D98A7089786B4663 +:10E2300058780907090F08435870D9E710B584B01A +:10E240000022044600920192684602920270087809 +:10E2500000281FD089786B4658780907090F0843B2 +:10E2600040210843587001209870D8700820187118 +:10E270009A712620D8710821184601F0E1FA694602 +:10E280008871A01C06F07CF80822694603F026FF7E +:10E2900004B010BD8878401CC3B28B700F2B00D91E +:10E2A0008A7089786B4658780907090F08435870B7 +:10E2B000D9E730B585B0002204460092019202925F +:10E2C0006846039202700878002828D06B46587878 +:10E2D0008B781B071B0F1843402318436B4658705D +:10E2E00001209870D8700D2018719A712125DD7168 +:10E2F0002031097B19721E2159729A72DA72014615 +:10E300001A73184601F09CFA6B469871A01C06F02F +:10E3100037F80B22694603F0E1FE05B030BD88787E +:10E32000401CC3B28B700F2B00D98A706B46587893 +:10E330008B781B071B0F18436B465870D0E710B53E +:10E3400084B0002204460092019268460292027054 +:10E350000878002825D06B4658788B781B071B0F50 +:10E360001843402318436B46587001209870D870AA +:10E370000A2018719A712920D871087918722031F1 +:10E38000C87958720A21184601F05AFA6B469871FA +:10E39000A01C05F0F5FF0A22694603F09FFE04B0B9 +:10E3A00010BD8878401CC3B28B700F2B00D98A70C7 +:10E3B0006B4658788B781B071B0F18436B465870B9 +:10E3C000D3E710B586B00022044600920192029273 +:10E3D00003926846049202700878002844D06B4685 +:10E3E00058788B781B071B0F1843402318436B4644 +:10E3F000587001209870D870122018719A712322D9 +:10E40000DA710A791A724A7D5A724A7DD20701D0AE +:10E410000A7E9A724A7D920701D50A7FDA724A7D96 +:10E42000520702D52922525C1A734A7D120703D57E +:10E430008A7D5A73CA7D9A734A7DD20605D54A7E73 +:10E44000DA738A7E1A74C97E59740146184601F03F +:10E45000F7F969468871A01C05F092FF69460A79B0 +:10E4600003F03CFE06B010BD8878401CC3B28B7030 +:10E470000F2B00D98A706B4658788B781B071B0FBF +:10E4800018436B465870B4E7F3B585B0002300938A +:10E49000019302930393684604930370087800285D +:10E4A00025D06A4650788A781207120F104340220E +:10E4B00010436A46507001209070D0701320107184 +:10E4C000844693712220D071087910720E7C084620 +:10E4D00002240A252030CA1C082E57D237007F4458 +:10E4E0003F79FF19BF44132538536D809DBA887852 +:10E4F000401CC0B288700F2800D98B706A465078D3 +:10E500008A781207120F10436A465070D3E7807959 +:10E510006C466072A372507C127C00021043E07261 +:10E52000087E20736373A373E37323746374A3740B +:10E53000B0E080796C4660720120A072507C127C41 +:10E5400000021043E072087E20736373A373E373C9 +:10E5500023746374A3749DE081796E467172B47202 +:10E56000517C147C09022143F17235737373B373C8 +:10E57000517F147F09022143F173517F127F0902F9 +:10E580001143090A3174407B7074B37482E0497995 +:10E59000002912D007216C4661720321A172517CBF +:10E5A000127C09021143E172007B20736373A37331 +:10E5B000E37323746374A3746CE008216C46617286 +:10E5C000EBE780796C4660720420A072507C127C6C +:10E5D00000021043E072087E20736373A373E37339 +:10E5E00023746374A37455E081796E4671720521BA +:10E5F000B172517C167C090231436E46F17235735B +:10E600007473B373517F147F09022143F173517FF7 +:10E61000127F09021143090A3174407B7074B3748C +:10E6200038E081796E4671720621B172517C167C98 +:10E63000090231436E46F17235737473B373517FBF +:10E64000147F09022143F173517F127F09021143A4 +:10E65000090A3174407B7074B3741BE081796E4693 +:10E6600071720721B172517C167C090231436E46EA +:10E67000F17235737473B373517F147F09022143B0 +:10E68000F173517F127F09021143090A3174407BF3 +:10E690007074B3746146684601F0D2F869468871B7 +:10E6A0000598801C05F06CFE69460A7903F016FD9A +:10E6B00007B0F0BDF3B50D46223514200C462818DE +:10E6C0000178FF230A464178FFB009020A438178A6 +:10E6D000C07809040A4300066849024350185B01E8 +:10E6E00088B0984206D366A1022001F00DFA7FB0EF +:10E6F0000AB0F0BD1820281806783246467836024F +:10E7000032438678C07836043243000602435018FC +:10E71000984206D360A1022001F0F6F97FB00AB05A +:10E72000F0BD27462037787C397C06020E43687C92 +:10E73000297C03020B439E4207D332465CA1022090 +:10E7400001F0E2F97FB00AB0F0BD8521890001A88F +:10E75000F9F7FFFC787D397D000208437202801AC8 +:10E7600086B201204002864201D9064601E0002E11 +:10E77000E8D0142029180B7818464B781B02184350 +:10E780008B78C9781B0418430906084315185348A9 +:10E79000854201D352482D1833462A4651A1022002 +:10E7A00001F0B2F90021684601712078002836D0C6 +:10E7B0006A465079A2781207120F10434022104384 +:10E7C0006A46507101209071D07130460C30107241 +:10E7D0000446000A507291722E20D072787C397CE7 +:10E7E000000208431073787C397C00020843000A59 +:10E7F00050733A48AA1904A9009182421FD3401BC2 +:10E8000087B208462A46394605F008FD38460C30DE +:10E81000F11B80B201AA101889B23D4A12E0A0781B +:10E82000401CC0B2A0700F2800D9A1706A46507970 +:10E83000A2781207120F10436A465071C2E72A46A7 +:10E840003146009805F0EAFC3146009804F072FA6F +:10E8500069468873000AC873A4B2214601A800F073 +:10E86000EFFF694688728798801C05F089FD224673 +:10E8700001A903F033FC7FB00AB0F0BDE0FFF6FF62 +:10E8800066696C655F73746172745F616464722041 +:10E890003A253038580D0A0066696C655F656E640C +:10E8A0005F61646472203A253038580D0A00000018 +:10E8B00066696C655F626C6F636B203A253038580F +:10E8C000202C2066696C655F626C6F636B5F6E7590 +:10E8D0006D3A253038580D0A00000000FF1F09006E +:10E8E00021E0FFFF4255535F43354D555349435F88 +:10E8F00057726974655F46494C45446174612025CF +:10E900003038582C6C656E3A25640D0A0000000002 +:10E910002000090030B589B0002204460392049219 +:10E9200005920692079268460892027308780028BA +:10E9300040D06B46587B8B781B071B0F1843402336 +:10E9400018436B46587301209873D8731A749A74DD +:10E950002D22DA7422314A7C0B7C12021A436B4658 +:10E960001A754A7C0B7C11021943090A6B465975CA +:10E970009875184843788278017901920091029342 +:10E98000437905A814A2102103300AF00DF80B30CA +:10E99000C5B26B461D74294603A800F051FF6B46B3 +:10E9A0009874A01C05F0ECFC2A4603A903F096FB22 +:10E9B00009B030BD8878401CC0B288700F2800D9DB +:10E9C0008A706B46587B8B781B071B0F18436B466E +:10E9D0005873B8E7280000202530325825303258C7 +:10E9E000253032582530325800000000F0B587B08D +:10E9F000002417460E46054601940294039404949D +:10EA00000C4B1222A22101A8059407F00BFE6846C8 +:10EA1000C574122101A804F069F912200690064875 +:10EA20000097007B334606AA01A900F00DFE07B04F +:10EA3000F0BD0000FFFF0000AA00002030B5174B1A +:10EA40000022154C5B790DE03C2555432D192D6BAB +:10EA5000854205D1002803D0002914D00A7012E0A5 +:10EA6000521CD2B29A42EFD3002210E03C2555430B +:10EA70002D196D6B854208D1002806D0002902D0DF +:10EA800080200243EAE7012030BD521CD2B29A42F4 +:10EA9000ECD3002030BD0000F034002068010020DD +:10EAA00070B500240A4D0B4E0DE03C206043401928 +:10EAB000016A052905D18169002902D0042100F0ED +:10EAC0004BFE641CE4B270798442EED370BD00004A +:10EAD000F034002068010020F0B51A480222816B52 +:10EAE0008B0001468039CA50174FFA89836B9B000F +:10EAF0005B18DA63826B154B856B1C68144B6243A1 +:10EB0000D218AD006D18AA67C26B521CC263826B2B +:10EB1000521C8263856B0F4A1278954201D30025FF +:10EB20008563866B0125B6008D51816B6143C918E1 +:10EB3000B9810564C16B5300D318994200D9C263EF +:10EB4000F0BD00003455002000900040F04D002042 +:10EB5000902B00206A010020034902680A60426885 +:10EB60004A60806888607047044E00200649026849 +:10EB70000A6042684A6082688A60C268CA60006946 +:10EB80000861002070470000F04D0020F0B583B010 +:10EB90000C46002814D0024632A1012000F0B4FF38 +:10EBA000344841784908490041703249C3224878C5 +:10EBB00010400C30487000F0F3F8002003B0F0BDB6 +:10EBC0002DA1012000F0A0FF2F4D2278AA736378B9 +:10EBD000EB73A6782E74E7786F742179A974617944 +:10EBE000E974A1792975E1796975A81C217A017503 +:10EBF000617A4175A17A8175E17AC175234D24A1AD +:10EC000001200197009600F07FFFE979A879019132 +:10EC100000906B792A7924A1012000F075FFE97A30 +:10EC2000A87A019100906B7A2A7A19A1012000F04C +:10EC30006BFFE17BA07B01910090637B227B21A194 +:10EC4000012000F061FFE17CA07C01910090637CD9 +:10EC5000227C21A1012000F057FF064801224178C3 +:10EC60001143A1E744484350204661696C20253098 +:10EC700032780A00BA00002044484350205375639C +:10EC8000636573730A0000009C000020AA00002046 +:10EC9000495041646472203D2025642E25642E2550 +:10ECA000642E2564200A000047574950416464726D +:10ECB000203D2025642E25642E25642E2564200AFF +:10ECC00000000000444E53313A2025642E25642E66 +:10ECD00025642E25640A0000444E53323A202564F0 +:10ECE0002E25642E25642E25640A000030B585B0DB +:10ECF000054614216846F9F72CFA104C002DA2683D +:10ED000009D06068401C6060042802D1694628462A +:10ED1000904705B030BD0A480168009141680191F3 +:10ED2000806802900748006AC16B0391006C0490F0 +:10ED300069462846904700206060EAE7104E0020B0 +:10ED4000AC4D0020284E002070B50F4C05462068C1 +:10ED5000002801D0002070BD18210B48F9F7F9F9FF +:10ED60000A4820610A4860610A48A560E0600A48D4 +:10ED70000BF052FB0021094A0028117001D101213A +:10ED8000216001F077F970BD104E0020A99B0100B1 +:10ED900061980100AD960100284E0020600100201E +:10EDA00010B504480BF08AFB18210348F9F7D1F994 +:10EDB000002010BD284E0020104E002010B501F09C +:10EDC000EDF810BD00B500F039FA024A0021D16219 +:10EDD00000BD0000AC4D00200148008CC0B270475F +:10EDE000AC4D002006494979884201D30020704784 +:10EDF0003C214143034A0023505C535070470000BC +:10EE000068010020F03400200120704770B5FFF742 +:10EE1000D9FF0446C0070FD0194D1AA101202A6B53 +:10EE200000F072FE1CA101206A6B00F06DFE1FA1B4 +:10EE30000120AA6B00F068FE600706D5FFF7CCFF43 +:10EE400002461FA1012000F05FFEE00617D523A1B6 +:10EE5000012000F059FE00242046FFF7C3FF050003 +:10EE600009D00346224622A1012000F04DFE29468A +:10EE7000204600F055F8641CE4B2042CECD370BDBD +:10EE8000AC4D0020556E7265616368436F64652008 +:10EE9000A3BA256C640A0000556E72656163685000 +:10EEA000726F746F20A3BA256C640A00556E726588 +:10EEB000616368506F727420A3BA256C640A000005 +:10EEC00047494E545F535441545F5048595F43483B +:10EED000414E474520253032780A000047494E54BC +:10EEE0005F535441545F534F434B45540A00000055 +:10EEF00047494E545F535441545F534F434B45541D +:10EF00002C20534F434B45545F6E756D3A25642C4E +:10EF100020736F636B6574696E69743A25640A00C7 +:10EF2000F8B506460C46480733D50021304600F0B8 +:10EF30005FFB0246009033461FA1012000F0E4FD74 +:10EF40000098002825D0244D68788009022820D117 +:10EF500022A1012000F0D8FD27486A46016830460A +:10EF600000F07EFA25A10120009A00F0CDFD68781E +:10EF70000221084368700021304600F07DF902004C +:10EF800003D02549012000F0BFFD24480099F9F77E +:10EF9000E0F8200703D522A1012000F0B5FDE0062E +:10EFA00003D525A1012000F0AFFD600603D526A101 +:10EFB000012000F0A9FDF8BD526563656976652002 +:10EFC0004C656E203D20256C642C736F636B656906 +:10EFD00064203A2025640A00BA000020656E74653A +:10EFE00072207265636520696E74215354415455D3 +:10EFF000533D330D0A000000F400002052656365A4 +:10F000006976652053756363657373204C656E2064 +:10F010003D20256C640A000070B80100944B00206C +:10F0200054435020436F6E6E656374205375636361 +:10F030006573730A000000005443502044697363F1 +:10F040006F6E6E6563740A005443502054696D6F8F +:10F0500075740A00F8B50F4604463F493F481E46FE +:10F06000154681420ED83E4981420BD83D49814226 +:10F0700008D83D49814205D83C49814202D83C49E3 +:10F08000814201D9FB20F8BD44213A48F9F761F8E3 +:10F0900018213948F9F75DF8042221463548F9F777 +:10F0A0003FF8344C04223946201DF9F739F8204640 +:10F0B000062231460C30F9F733F8002D2CD02046CB +:10F0C000042229460830F9F72BF82C4D3222A86883 +:10F0D0000127C106C90E6971C105090FA970C104D4 +:10F0E000090FE9708104C90F29714103C90EA1619B +:10F0F0000102C90E5143E161C101C90F002902D0CB +:10F10000216C394321648001C00F03D0206C02219F +:10F110000843206400260BE0FF206072A0720020EC +:10F120002072D2E73146002000F03AFB761CF6B29E +:10F1300068798642F6D302F0EFFA05F06FFB0D48CE +:10F140000F495830676201600E49416009218160B2 +:10F150002F700020F8BD0000502B0020000001207F +:10F16000902B0020F0340020E0350020E046002005 +:10F17000F44A0020AC4D0020104E00206801002011 +:10F18000204E0000983A0000F0B589B01C461546A4 +:10F190000E460746FFF738FE012802D0FC2009B0D2 +:10F1A000F0BD1449124808604B20C0000090432075 +:10F1B000C00001900120800202900A2003902B20C1 +:10F1C00004906846FFF7D2FC23462A46314638466B +:10F1D000FFF740FF084905914910069104460521B3 +:10F1E00005A80791FFF7B8FC204609B0F0BD000064 +:10F1F00084A4520070010020204E000010B5084881 +:10F20000808CC0070AD004F045FE04F0CBFB054813 +:10F210000BF06CFC02F086FEFFF742FC10BD000014 +:10F22000AC4D0020284E002010B502F075FA0248BF +:10F230000CF0A2F910BD0000284E002010B50B49BB +:10F2400000204A790A490B4B0BE03C2444431C59EB +:10F25000002C04D0C86A10221043C86203E0401C8E +:10F26000C0B29042F1D3888DC0B210BD68010020B9 +:10F27000AC4D0020F03400203C22124B4243D21807 +:10F2800010B5114B5B79984201D31A2010BD136A57 +:10F29000052B01D0172010BDD269022A05D0032A00 +:10F2A00006D0002A07D0F72010BD00F01BFB04E0B9 +:10F2B00000F0EEFA01E000F0D3FA40B200F0DAFE1E +:10F2C00010BD0000F034002068010020F8B50C46A5 +:10F2D000002101700D465A49497908E03C22594BFA +:10F2E0006A43D218126A002A03D06D1CEDB28D4217 +:10F2F000F4D38D4201D32020F8BD0570E0690028C9 +:10F3000005D002281FD0032869D02120F8BD208D08 +:10F31000C0B20DF0B9F9060075D04B4869460068D7 +:10F32000009030460DF05EF9E06A00906946304684 +:10F330000DF064F93C204349684342184349304684 +:10F340000DF0B8F93FE00FF01BFE060075D0E06A43 +:10F3500000900F2000070CF06BFE07460099072075 +:10F360000F4040070CF064FE874205D038496846DC +:10F370000BF048FE002806D0208D364982B2304678 +:10F380000FF05AFC12E03048694600680090208D6A +:10F3900082B230460FF050FC002809D1E06A00909C +:10F3A000A08C694682B230460FF094FC002802D04F +:10F3B00000F060FEF8BD3C2022496843421826490F +:10F3C00030460FF0EAFD052026632062694620489A +:10F3D0000BF0E8FA2946204600F0E2F92BE00EF0A7 +:10F3E00057F8060029D01848694600680090208D1B +:10F3F00082B230460DF0AAFA070005D030460DF073 +:10F4000023FB3846D4E718E03C200E4968434118F6 +:10F4100030460DF099FA114930460DF06DFD266326 +:10F420000520666320622946204600F0B9F9694646 +:10F4300007480BF0B7FA0020F8BD1120F8BD000016 +:10F4400068010020F0340020AC4D0020B1480100DC +:10F45000284E0020BBF201002D4B0100D1F7000027 +:10F46000F7B582B0049900220D680A603C21484338 +:10F470005D494618306A052802D0172005B0F0BD56 +:10F48000002D17D07469B0680090F168401E09180B +:10F49000B069A84200D20546039800287AD06719BF +:10F4A0008F4209D2042D07D92A462146F8F738FEA3 +:10F4B0003C467FE01A20E1E74C48007C800724D5D9 +:10F4C0000F1B7F1CAF4200D32F46042F05D93A46AD +:10F4D00021460398F8F724FE04E0BAB221460398C7 +:10F4E00003F0C2FB0398009CC019BD4262D9EF1B18 +:10F4F000042F04D93A462146F8F712FE03E0BAB2C7 +:10F50000214603F0B1FBE41954E000203EE0039AE9 +:10F5100023781370039A641C521C8C4200D9009CFF +:10F52000401CA84246D223781370521C641C8C42A3 +:10F5300000D9009C401CA8423CD223781370521C76 +:10F54000641C8C4200D9009C401CA84232D2237813 +:10F550001370521C641C8C4200D9009C401CA842B1 +:10F5600028D223781370521C641C8C4200D9009C52 +:10F57000401CA8421ED223781370521C641C0392B4 +:10F580008C4200D9009C401CA84213D2A842BED392 +:10F5900010E0FFE76019884203D2042D01D9044628 +:10F5A00008E0002004E0641C8C4200D9009C401C50 +:10F5B000A842F8D3049805607461B069411BB16139 +:10F5C00002D1B06870613061F069032809D1B28955 +:10F5D000306B511A89B24185F2688A4201D10EF02E +:10F5E000B7FF00204AE70000F0340020F04D002073 +:10F5F0003C225043034A8018002901D042690A6026 +:10F6000080697047F034002010B53C230D4C434313 +:10F610001B191C6A052C03D000201060172010BD98 +:10F62000DB69002B05D0022B06D0032B07D0FA2074 +:10F6300010BD05F093F910BD05F0D4FA10BD05F02A +:10F64000F3F910BDF0340020FFB50025146885B033 +:10F6500016461560002C18D00699002915D03C21BB +:10F6600048432A4940180290006B03902848006CD8 +:10F67000800700D4C7256D1CADB2C82D42D8172015 +:10F680008001844204D3009004E01A2009B0F0BD48 +:10F690002046009481B2002210460CF071FD070054 +:10F6A00032D07868009A0699F8F73AFD1849002098 +:10F6B000C86339460E9B089A03980FF091FC01909D +:10F6C00038460CF08BFE1248C06B002802D101981E +:10F6D00000280DDA002030604021029800F03CF84C +:10F6E0000198002802DA00F0C5FCCFE7FA20CDE748 +:10F6F0003168009808183060009906984018069004 +:10F70000641AB8D10020C1E71120BFE7F03400200F +:10F71000AC4D002000B50E490A6812180A600D4A67 +:10F720001178002913D0D188081880B27D210901F1 +:10F73000D08088420BD30020D080FFF74DFB0128FA +:10F7400005D150780CF0CEFE5078401C507000BDB2 +:10F75000F40100206801002070B5047805460829EE +:10F7600013D007DC01290BD002290BD0042916D1B4 +:10F77000042008E010290AD0402910D1402002E0DE +:10F78000012000E00220044308E00820FBE71020ED +:10F790000443686B002801D00DF056F92C6070BD51 +:10F7A00070B505463C2041430848081804463C21F2 +:10F7B000F8F7CFFC002D04D020463C222946F8F76C +:10F7C000AFFCA0682061606170BD0000F0340020D3 +:10F7D00070470000F0B58DB00E460021129C0191DB +:10F7E0000291039104910591069107910891099165 +:10F7F0000A911D46174601460E4B272201A806F026 +:10F8000011FF6846C67405A811220B49F8F788FC59 +:10F8100008A80472272101A803F068FA27200B909A +:10F8200006480095007B3B460BAA01A9FFF70CFF99 +:10F830000DB0F0BDFEFF000010660100AA00002020 +:10F84000002310B41A46002906D9845C521CE31820 +:10F8500092B2DBB28A42F8D3D84310BCC0B2704730 +:10F860003C21484310B509494418206B002803D0B7 +:10F87000216A052902D006E0172010BD0CF01EFFFA +:10F88000002020632062002010BD0000F034002022 +:10F89000F8B50E463C214843114900254418606BD9 +:10F8A0002F46002803D00DF0CFF805462762206BC5 +:10F8B000002810D0002E04D0012E06D0022E06D033 +:10F8C00008E00DF0C1F8054604E0012100E0002148 +:10F8D0000CF05CFF2762284600F0CCFBF8BD00006E +:10F8E000F03400203C21484310B509494418206BEE +:10F8F000002803D0216A052902D006E0172010BD98 +:10F900000FF04EFB002020632062002010BD00009D +:10F91000F034002010B58CB0002401940694262009 +:10F9200002940394049405940B900794089409940A +:10F93000114B272268210A9401A806F073FE0120CA +:10F940006946C87405A811220C49F8F7E9FB08A913 +:10F950000C72272101A803F0C9F9094B0BAA587BA7 +:10F96000197B000208430090064801A9007B9B1DFB +:10F97000FFF76AFE0CB010BD0180000010660100A8 +:10F98000BA000020AA00002010B50A21F8F79EFB5B +:10F9900000014018C0B210BDF0B58FB00C4607464C +:10F9A0001D4616463C216846F8F7D3FB207808A987 +:10F9B000087360784873A0788873E078C873022071 +:10F9C00007900A4802904320C00003900A960995C8 +:10F9D00069463846FFF77AFC0446220003D0044902 +:10F9E000012000F091F820460FB0F0BD944B0020AC +:10F9F00070B8010070B5354C1020201802781146FF +:10FA00004278120211438278C07812041143000632 +:10FA10000143142022181378184653781B02184308 +:10FA20009378D2781B0418431206104381424BD0BE +:10FA30002749284A0968116004F0F3FC054602468C +:10FA400025A1002000F09EF8FC21F22000F01EFB12 +:10FA5000060012D01420231818782A460146587838 +:10FA600000020143987800040143D878000601435E +:10FA70003046891CFBF722FE03E01DA1002000F0A8 +:10FA800081F8142021180A7810464A78120210438F +:10FA90008A78C978120410430906084301218902B3 +:10FAA00040182075010A6175010CA175010EE17500 +:10FAB0001449884208D9092000042075010A61759B +:10FAC000010CA175000EE07570BD000087060020D6 +:10FAD000100000200000002055534152545F302098 +:10FAE000526576696365204C656E3A2564000000B6 +:10FAF00055415254302044617461204C656E20465B +:10FB000061696C00FF0F09000FB430B50121144B7F +:10FB10008140186883B001421CD01248026800205E +:10FB20009A60D8601C695D69141B01469C611A616A +:10FB30005961A841D861019000230BA100940F489E +:10FB400008F04CFF0D490EA008F01EFF08A9079809 +:10FB500008F058FF03B030BC08BC04B018470000E0 +:10FB6000300000201000002025382E6C6C64205BD3 +:10FB700025362E6C6C645D3A20000000F3260020D0 +:10FB8000257300000FB430B50121154B8140186872 +:10FB900083B001421FD01348026800209A60D860E9 +:10FBA0001C695D69141B01469C611A615961A84179 +:10FBB000D861019000230CA10094104808F00EFFBA +:10FBC0000E490FA008F0E0FE08A9079808F01AFFF8 +:10FBD0000CA008F0D9FE03B030BC08BC04B0184734 +:10FBE000300000201000002025382E6C6C64205B53 +:10FBF00025362E6C6C645D3A20000000F326002050 +:10FC0000257300000A0D000070B50D46064601215F +:10FC1000002449020A48F8F79CFA32462946084867 +:10FC200004F080FB0020002D07D905490A5C401C28 +:10FC3000121980B2D4B2A842F8D3E043C0B270BD6A +:10FC40005727002070B50646083004F0EAFB012172 +:10FC5000002449020546884201D9012070BD0B48A5 +:10FC6000F8F777FA32462946084804F05BFB002093 +:10FC7000002D07D905490A5C401C121980B2D4B284 +:10FC8000A842F8D3E043C0B270BD0000572700205F +:10FC9000F7B5444F05467A78434E86B0900905D0B3 +:10FCA000424C012819D0022878D130E0B0680028F1 +:10FCB00004D1FF2001300BF093FFB0607D2235238B +:10FCC00052013B492846FFF767FE002866D1787845 +:10FCD0008006800E4030787060E001235B020020D7 +:10FCE000B26802F06DFF009028786A46B168FFF7AD +:10FCF0008BFC304800682074010A6174010CA17407 +:10FD0000000EE07478788006800E8030E3E71020E3 +:10FD100021180B78274F18464B781B0218438B7815 +:10FD2000C9781B041843090608433968081AC8280B +:10FD300016D91D4880680AF0A1FF1B48002686607E +:10FD400038682074010A6174010CA174000EE0741B +:10FD500028783146FFF790FA2E70022009B0F0BDE6 +:10FD600090071BD500202870102021180A78104613 +:10FD70004A78120210438A78C9781204104309069F +:10FD800008433968091A0CA008F0FEFD089A684675 +:10FD9000B1680CF051F909B0F0BDFFE7002009B0DF +:10FDA000F0BD0000BA000020EC000020BC000020E4 +:10FDB000EE000020A0000020444E5320BAC4CAB177 +:10FDC000A3BA2564306D730A0000000070B53C4989 +:10FDD00057220A70A8220A70394A403A537BDF241E +:10FDE00023405373D37BFD242340D37300230B7034 +:10FDF0003449CB70CC78DB252C43CC70CD780424EF +:10FE00002543CD70FF250D714E79C0252E434E71CF +:10FE10008E79360936018E718E7926438E71CC79B2 +:10FE20002C43CC71CC79A406A40ECC710B764C7EFD +:10FE300001231C434C768C7EE406E40E8C768C7E8B +:10FE400020252C438C768C7E10252C438C768C7E42 +:10FE5000FB252C408C768C7E1C438C76C8831A48FC +:10FE6000184B447920331C7204795C72C4789C72FC +:10FE70008478DC7244781C7300785873508B40236C +:10FE8000184350831148114A806B803A80008018D3 +:10FE9000806F88810A48803005680D490D4A0988BD +:10FEA00012880C4611430B461D4305604169E4432B +:10FEB00014432140416181681943816070BD000095 +:10FEC0004010004000900040A40000203455002065 +:10FED000980000209A00002070B51549CA6B002ACE +:10FEE00009D04A6B0C469200803C1219956F928F94 +:10FEF00093B2002205E0002070BDAE5C8654521C17 +:10FF000092B29A42F9D3486B002280002250486B8B +:10FF1000401C4863042800D34A630648C178490658 +:10FF2000490EC170C17880221143C170184670BD5E +:10FF3000345500200090004030B5124A13689B00F1 +:10FF40009B18DC68002305E005785B1C2570401CCD +:10FF50009BB2641C8B42F7D301240B4880230360BF +:10FF60000A48418111688900891889890181C1790C +:10FF700008221143C17104488038036004480460BA +:10FF8000002030BD7855002080E100E00090004066 +:10FF90007801002010B5FEF711FF10BDF8B5234C15 +:10FFA0002679700603D5FEF797FD402020713007B3 +:10FFB00004D51F490020086008202071F0062ED5C6 +:10FFC000012003F043FF1B4D1B4F400710D50120BC +:10FFD00001F04AFBE8681949194A09881288114357 +:10FFE0000843E860E07904210843E07102200FE053 +:10FFF000002001F039FBA8681049114A09881288CD +:020000040001F9 +:1000000011430843A860E079FB210840E07101201A +:100010003862F86A04210843F86210202071B007A2 +:1000200002D0607903202071F8BD000000900040EC +:1000300078010020C0100040AC4D00209800002046 +:100040009A000020F0B400252B46002A10D9AC00FD +:100050000E5DC6540E5B6D1C370AC61877700F59BB +:100060001B1D3F0CB7700C59240EF4709342EED355 +:10007000F0BC7047002805D0FF210131081A024961 +:10008000C0B2085C7047000090F20100F3B5FF2594 +:10009000013581B00F462C46082004F0ADF9064624 +:1000A0009F21401B0902884200D3124EAE421AD94A +:1000B000204604F065F901460198814209D1601C8F +:1000C00004F05EF9B84204D12046FFF7BBFD0028DA +:1000D0000CD0FF34FF35FF34FF3502340235B44213 +:1000E00001D2B542E4D3002003B0F0BD204603B0F6 +:1000F000F0BD0000FF9F000010B5082004F07CF95F +:10010000FF380138C003000E10BD0000F8B5082408 +:10011000204EE704250300F091F900F07FF8F06825 +:100120003843F060202003F0F7FF2802000E03F0B0 +:10013000F3FF2804000E03F0EFFF002003F0ECFFB4 +:10014000B0683843B06000F069F8641CE4B2102C69 +:10015000E0D30124250400F071F900F05FF8F068A5 +:100160003843F060D82003F0D7FF2802000E03F0D8 +:10017000D3FF2804000E03F0CFFF002003F0CCFFD4 +:10018000B0683843B06000F049F8641CE4B2042C55 +:10019000E0D3F8BDC010004010B50321082000F0E6 +:1001A00099F904210C05204600F0CAF903214803FF +:1001B00000F090F90121C80300F08CF90449886A25 +:1001C000082210438862034988682043886010BD74 +:1001D00080100040C0100040F7B50F4D1446E8688D +:1001E0000F460126B6053043E860032003F094FF74 +:1001F0002002000E03F090FF2004000E03F08CFF9D +:10020000E0B203F089FF3946009803F041FFA86887 +:100210003043A86003B0F0BDC0100040F8B5154DE4 +:100220000024E8680126B6053043E860052003F0A5 +:1002300073FF03F055FFA9683143A960C00716D0CA +:100240000D4F64200BF0F9FAE8683043E8600520B0 +:1002500003F062FF03F044FFA9683143A960641C06 +:10026000A4B2BC4201D90120F8BDC007E9D10020E9 +:10027000F8BD0000C0100040B80B0000F7B588B012 +:100280000A986C4E000B03900A980D460705012052 +:100290003F0D0003C41BA14200D80C460121C90236 +:1002A0007118049103980003009001900290624835 +:1002B000C0680121890508435F49C860032003F035 +:1002C0002BFF0298000C0590C0B203F025FF0298A6 +:1002D000000A0790C0B203F01FFF002003F01CFFCC +:1002E0000121C902304603F0D3FE53488068012142 +:1002F0008905084350498860049806900198C914FC +:100300004018019002904C48C068C90208434A490D +:10031000C860032003F000FF02980002000E03F003 +:10032000FBFE02980004000E03F0F6FE0298C0B235 +:1003300003F0F2FE0121C902069803F0A9FE3E482F +:1003400080680121890508433B4988600020002C12 +:1003500007D93918715CFF2903D1401C80B2A04233 +:10036000F7D3A04239D200F069F8FFF757FF3248BF +:10037000C0680121890508432F49C860202003F087 +:10038000CBFE0598C0B203F0C7FE0798C0B203F0D9 +:10039000C3FE002003F0C0FE2748806801218905C4 +:1003A000084325498860FFF739FF0020002C07D952 +:1003B0000899C219095C401C80B2B154A042F7D31D +:1003C0000127FF0239463046009A00F047F83946C7 +:1003D000019A049800F042F815E0012000038442DD +:1003E0000AD147103946009A089800F037F8089863 +:1003F00039464018019A04E0844204D221460A9A00 +:10040000089800F02BF8A54212D003980027401C52 +:1004100003900898001908900A9800190A90281B60 +:10042000012485B22403A54200D93BE72C4639E7D5 +:100430000BB0F0BDF0120020C010004070B5064CAB +:10044000E0680125AD052843E060062003F064FE66 +:10045000A0682843A06070BDC0100040F8B50746F2 +:100460000D46FF20D1B20130441A1646A54200D8ED +:100470002C46FFF7E3FF1648C1680122920511439D +:10048000C160022003F048FE3002000E03F044FE7B +:100490003004000E03F040FEF0B203F03DFE2146B2 +:1004A000384603F053FE0A48806801218905084355 +:1004B00007498860FFF7B2FEAC4208D0281B3F19FD +:1004C0003619FF2485B20134A542D2D8D0E7F8BD51 +:1004D000C0100040194A052910D20B007B441B793B +:1004E000DB189F44020C151E2500516B814351639C +:1004F000116B81431163116A814311627047516B23 +:1005000081435163116B01431163116A81430DE013 +:10051000516B01435163116B81431163116A814334 +:1005200004E0516B81435163116A014311627047CA +:10053000516B01435163116A0143F7E7801000409A +:10054000194A052910D20B007B441B79DB189F4404 +:10055000020C151E250051698143516111698143C7 +:100560001161116881431160704751698143516184 +:10057000116901431161116881430DE05169014323 +:1005800051611169814311611168814304E051692E +:100590008143516111680143116070475169014302 +:1005A000516111680143F7E7C010004010B50C48D5 +:1005B0000089C1B20B069A0F0A48022A05D0012A07 +:1005C00004D09A0F06D07D20000210BDC906C90EC6 +:1005D000054801E0C906C90EF7F778FD10BD000017 +:1005E000001000400048E80100389C1C00B502469D +:1005F00085B015321021684603F010FE6846407839 +:10060000002802D0022005B000BD012005B000BDC9 +:1006100000B502468BB015322B21684603F0FEFD73 +:1006200008A88079002802D002200BB000BD01206C +:100630000BB000BD00B50246B5B01532D2216846F8 +:1006400003F0ECFD30A80079002802D0022035B07C +:1006500000BD012035B000BD00B5024693B0153293 +:100660004621684603F0DAFD68464078002802D04B +:10067000022013B000BD012013B000BD10B50D481D +:1006800003F07EFE04020C4803F07AFE04432402C9 +:100690000A4803F075FE044309202402000403F015 +:1006A0006FFE07492043FF2241185201914200D3B7 +:1006B000044810BD03000900020009000100090000 +:1006C000E0FFF6FF2000090000B50246A7B0153292 +:1006D0009721684603F0A2FD20A8007D002802D0E3 +:1006E000022027B000BD012027B000BDF3B50646AB +:1006F00083B00020FF2500900135082003F07CFE28 +:1007000007469F21401B0902884200D3264F0498C8 +:100710000024002844D92846FFF794FA002802D084 +:10072000F02005B0F0BD284603F02AFE0190681CB9 +:1007300003F026FE029001980A2815D004DC062852 +:1007400017D0072819D10BE0152805D0F12814D1AE +:100750002846FFF76FFF0AE02846FFF77DFF06E017 +:100760002846FFF755FF02E02846FFF73FFF0090BD +:1007700003E02846FFF7A8FF0090600020180199C9 +:10078000315480190299FF354170FF3500990235C7 +:100790008170BD4204D2641C0498E4B28442BAD38E +:1007A000002005B0F0BD0000FF9F000001090A22F3 +:1007B00000075143000F0818C0B27047F0B58DB064 +:1007C0000024074601942620154606940E460294FE +:1007D00003940494059402460B900794089409949A +:1007E0000D4B0A210A9401A805F01CFF6846C77446 +:1007F00005A811220949F7F793FC262101A802F068 +:1008000075FA07480095007B33460BAA01A9FEF74D +:100810001BFF0DB0F0BD0000FEFF000010660100E0 +:10082000AA000020F7B5ACB000263D4F2B96F86823 +:100830000C464676411C86760A46C67606771F31F8 +:100840004E70037D9D0706D09A07920F012A0BD0A8 +:1008500001202FB0F0BD05231B0413751D0A55752B +:100860001D0C95751B0ED3756B461E7501225A75AE +:10087000CA78014605AD2431A81CF7F751FCF96888 +:100880002B980B462033DA78801C10182E546F22D8 +:10089000401C2A546322401C2A547427401C2F54A5 +:1008A0006522401C2A54401C2F54401C2E54401CCE +:1008B0002B90DA781B1D1BA10120FFF763F920782C +:1008C000E378A278617801AE0FC62B9800901DA145 +:1008D00001202E9B2C9AFFF755F927A10120FFF745 +:1008E00051F92B980026002809D9AA5D24A10120DE +:1008F000FFF748F9761C2B98B6B28642F5D310A1C3 +:100900000120FFF73FF92E98234680B200902BAAD2 +:1009100005A92C98FEF798FE00202FB0F0BD00002E +:10092000F800002046747046696C654E616D654C38 +:10093000656E3A2564202C206E616D653A25732022 +:100940000A000000536F636B657449643A256420A4 +:100950002C20706F72743A2564202C206C656E3ADE +:10096000256C64202C2049503A25642E25642E25C0 +:10097000642E25640A000000446174613A0000009E +:100980002530325820000000F8B5194B02251C69AB +:1009900021272570FF34FF340D78023425734D78FC +:1009A00065738D78A573CD78E57300256561A561C4 +:1009B0002261DE687576B576F5763577BD55357D7D +:1009C000731CAE0705D0AB079B0F012B0AD001208B +:1009D000F8BD05252D041D752E0A5E752E0C9E751D +:1009E0002D0EDD75636900F005F80020F8BD0000EC +:1009F000F8000020F0B50C46064687B004201849E0 +:100A00000690C9681546203149780022012921D075 +:100A10006F4604213A75797599B20A02090A1143A1 +:100A2000F982E178A278637827780293039204919F +:100A3000009001972B4632460A490120FFF7A2F8A1 +:100A4000A8B20090234606AA05A93046FEF7FCFD91 +:100A500007B0F0BD6F4605213A757975DCE70000F7 +:100A6000F800002020FA0100F3B55A4E1820F36870 +:100A700081B05B1C19180A7810464A78120210439C +:100A80008A78C97812041043090608431C215A18B1 +:100A90001378194653781B0219439378D2781B04B4 +:100AA000194312061143451A03F014FC3169002959 +:100AB00014D000274F708F70CF700F71002D0AD0A7 +:100AC000FF31FF3102314A69F1684B7C0C7C1B021B +:100AD00023439A4205DB012003B0F0BD002003B0A0 +:100AE000F0BD1C22491C8A181378194653781B0242 +:100AF00019439378D2781B04194312061143364ADE +:100B00000C18944202D9354A80180C182B462246FC +:100B100033A10120FFF736F830690322C31DFF33EC +:100B2000FA335969491C5961477082700A12C270C0 +:100B30000171012149028D4201D9996001E02946E4 +:100B40009D60254A0B19934212D9111B8DB2224682 +:100B50002946401D03F0E6FB41213069C900095ACE +:100B60004019491B89B22A4A401D03F0DBFB04E00F +:100B700089B22246401D03F0D5FBF2681C20521CAE +:100B800011180B7818464B781B0218438B78C978DC +:100B90001B041843090608433169CC1DFF34FA349D +:100BA000A368C0181077030A5377030C9377000EDD +:100BB000D077A0684122001DA0600298D20080B2C8 +:100BC000009014488A18407B491C019BFEF73CFDAD +:100BD00003B0F0BDF8000020FF1F090021E0FFFF77 +:100BE0005446545020726561645F61646472203AB7 +:100BF0002025303858202C20737572706C75735F07 +:100C000062797465203A25303858200D0A000000BA +:100C100020000900AA000020FFB5FE4C1E46A54496 +:100C200004460020FF2203A90A5401214902401C66 +:100C30008842F8D3F948F84A0421684403F0EEFAF0 +:100C4000F74803F09DFB0546F64803F099FB0002C8 +:100C50000543F5480195C268104620308178491C4B +:100C60008170042E7DD9F14B6B44D86A408801060F +:100C70000D0C010AE01DFF30FA3002904069294353 +:100C8000401C81426DD10020311F351F002909D938 +:100C900003A9E64B6B44DB6A1B181B790B54401C01 +:100CA000A842F6D3511C18200B181F7838465F78DD +:100CB0003F0238439F78DB783F0438431B061843D4 +:100CC00040195076030A4B76030C8B76000EC876DB +:100CD000701EC117890F0818D44B8003000C6B4499 +:100CE0001861107D8107890F02D001297BD195E021 +:100CF00002994B69002B0AD0FF21B1318B4272DD82 +:100D0000C94E8009012871D002287FD175E06A465A +:100D1000517B107B09024018917BD27B090412069B +:100D20008918401807460246C1A10120FEF72AFF94 +:100D3000C7493846084001214907884253D0C5A118 +:100D40000120FEF71FFFCAA10120FEF71BFF0027AD +:100D5000002E0CD9B548C9A16844C06AC25D012003 +:100D600000E0FAE0FEF70EFF7F1CB742F2D3BFA10E +:100D70000120FEF707FFC2A10120FEF703FF0027B5 +:100D8000042E08D003AEF25DBCA10120FEF7FAFEEE +:100D90007F1CAF42F7D3B5A10120FEF7F3FEA24EB0 +:100DA000F068007D8009012802D0022810D106E0F9 +:100DB0009A4904206944019AFFF700FD08E00020E9 +:100DC000964A00906A4404216820019BFEF702FDC8 +:100DD000F1680120203148706846437B0022AA490F +:100DE0000120FEF7CFFE70E000E00FE08B4903200A +:100DF0006944019AFFF7E2FC08E00020874A00906E +:100E00006A4403216820019BFEF7E4FCF16801209D +:100E1000203148709DA1FEF7B5FE56E00299496960 +:100E2000002908D0402950DD7F4E8009012835D0A7 +:100E3000022843D139E0A178607809024018E178AE +:100E400022790904120689184618324695A1012014 +:100E5000FEF798FE9848B04337D0734EF068007D97 +:100E60008009012802D0022810D106E06B49042035 +:100E70006944019AFDF7BAFD08E00120674A009035 +:100E80006A4404216820019BFEF7A4FCF16801205C +:100E90002031487089A1FEF775FE16E05F490320F6 +:100EA0006944019AFDF7A2FD08E001205B4A009029 +:100EB0006A4403216820019BFEF78CFCF168012045 +:100EC0002031487087A1FEF75DFE574EF068017D26 +:100ED0008907890F01D001294FD10299401C4A6925 +:100EE000521C4A611421401801780A4641780902CF +:100EF0000A438178C07809040A43000602430121AD +:100F0000490203A803F010FBF36814205B1C1918B6 +:100F10000A7810464A78120210438A78C978120477 +:100F20001043090608434149694409698900421888 +:100F30001A75100A5875100C9875100ED8753B4923 +:100F4000009569440B696EA10120FEF71BFE029813 +:100F500080694219029882610FE034486844C06A8F +:100F6000408801060A0C010A1143E21DFF32FA32E1 +:100F70005069401C814200D15061E01DFF30FA30C1 +:100F80002A4F00906F4405464369FA6CB96CB86A01 +:100F9000FFF730FD244EF068417C027C080269694D +:100FA0001043884234D138460021806AFEF764F944 +:100FB0005E480021407BFEF75FF90021304641701A +:100FC000C268107D8007800F05D0012821D0012044 +:100FD0002032507069E21548002168440161416186 +:100FE0008161C1611420521C11180A78504D1046BD +:100FF0004A780526120210438A78C97812041043F1 +:101000000906084336046D44074F811B2A4691E0C8 +:101010006BE2C9E1DCF7FFFF00E6080020080000F2 +:1010200004E6080005E60800F800002000080000BB +:1010300074656D705F766172203A202530385820D3 +:101040002C20626C6F636B203A25640A000000005C +:101050000000FE2FC4DAB4E6B7D6C5E4B5C4B5D8EF +:10106000D6B7B2BBCAC7D3D0D0A7B5C40A00000058 +:10107000706B745F6275663A0000000025582000AE +:10108000646174613A000000D8F90100C9FDBCB682 +:10109000CAA7B0DCA3ACB3ACB3F6D7EEB4F3BFE9E8 +:1010A000CAFD0A0074656D705F766172203A202572 +:1010B00030783038580A0000F00FA900C9FDBCB6DE +:1010C000C5E4D6C3CAA7B0DCA3ACC5E4D6C3CEC4BE +:1010D000BCFECDB7A1A2B0E6B1BEB5C8B4EDCEF3AB +:1010E0000A000000C9FDBCB6C5E4D6C3CAA7B0DC7F +:1010F000A3ACB3ACB3F6D7EEB4F3BFE9CAFD0A00B4 +:10110000D0B4C8EBB5D8D6B7A3BA253038582CD050 +:10111000B4C8EBCAFDBEDD3A20636F756E743D2521 +:10112000642C62797465A3BA25640A00AA000020C1 +:1011300010080000304601F0BDF8F8681421401C8A +:1011400041180A7810464A78120210438A78C97802 +:101150001204104309060843821BE5A10120FEF793 +:10116000D3FC1026FB680020295C1A5C914208D051 +:10117000187D0124E54D800901287DD002287CD10D +:1011800001E1401CB042EFD3E1A10120FEF7BCFC1D +:10119000DE4EE44DF068007D8009012802D002286F +:1011A0000FD106E0E0A10120FEF7AEFC29460120A8 +:1011B00005E0E4A10120FEF7A7FC2946022003F088 +:1011C000E1F9E7A10120FEF79FFCFEF79FFFCF4862 +:1011D0000025C068E84E417C027C0802104317D00D +:1011E00005206F0200043A1801214902601C03F037 +:1011F00099F80121BA194902601CFFF73FF8C3486A +:101200006D1CC068417C027C08021043A842E7D8EC +:10121000002022180021517001214902401C8842FF +:10122000F7D30098D5A142690120FEF7ABFCB7487F +:10123000C068427C017C100208438107890F7DD081 +:1012400087087F1C0025002F26D901213246C902BC +:1012500003A8FEF7C1FF0121C90203A801F06AFD3E +:101260006A00010A121920329172C3B2D37202933A +:10127000019100902B4601E07DE08DE03246C4A153 +:101280000120FEF741FC0120C0023618CF488642FB +:1012900002D26D1CBD42D8D320462030027A79009C +:1012A0000A430272427A090A0A43984D4272E96877 +:1012B0001422491C8A181378194653781B021943C3 +:1012C0009378D2781B041943120611430922D203E2 +:1012D000891A02780270427880231A434270827819 +:1012E0008270C278C27002790B0A0A430271427995 +:1012F0001A43427182790B0C1A438271C279090E2A +:101300000A43C2716620E070FF21FF31E01C01F04A +:1013100011FD6378C1B20B436370A278000A0243E7 +:10132000A270ABA10120FEF7EFFB012100224902D0 +:10133000601CFEF7A3FFABA1012000E019E0FEF75F +:10134000E3FB0A200AF060FAE868CF22017D114031 +:1013500020310175002801D009F090FC0024EC60D8 +:101360002869002801D009F089FC2C6103F054F9A8 +:1013700095E0870866E7A048EA886844816C052004 +:10138000FFF71CFA08E000209C4A00906A440521FF +:101390006820019BFEF71EFAE86899A1203044708E +:1013A0000120FEF7B1FB7AE09349002769440F6101 +:1013B0004F618F611420521CCF6111180A78384692 +:1013C00010434A78944C120210438A78C978120468 +:1013D0001043090608438F494C4E41186C4435466A +:1013E00022468E4800F066FFEA6810250020235C44 +:1013F000115C8B4208D0107D0124800935460128FC +:1014000036D0022844D13BE0401CA842EFD33D46F1 +:1014100083A10120FEF7B6FBF0683446007D800909 +:10142000012802D0022811D107E07348E2886844FD +:10143000816C0120FDF7DAFA08E001206F4A009084 +:1014400001466A446820019BFEF7C4F9E068CF2298 +:10145000017D114020310175002801D009F00EFCFA +:10146000E5602069002801D009F008FC256116E03C +:101470006148EA886844816C0520FDF7B7FA07E007 +:101480005E4A00946A4405216820019BFEF7A2F998 +:10149000E86868A1203044700120FEF773FB1B4808 +:1014A000C0682030407801281FD168A10120FEF7D4 +:1014B00069FB514800216844806AFDF7DDFE6848F9 +:1014C0000021407BFDF7D8FE104C00256570E068D8 +:1014D00021210D54002801D009F0D0FBE5602069DE +:1014E000002801D009F0CAFB25615E4CA544F0BD7F +:1014F00066616C7368D0B4C8EBD7DCB3A4B6C8A37C +:10150000BA256420427974650A000000F8000020C2 +:10151000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8E9 +:10152000B70D0A0006E60800BCC7C2BCBED6D3F29F +:10153000CDF8C9FDBCB6B3C9B9A6D7B4CCAC2E2E74 +:101540000D0A0000BCC7C2BCD4C6B6CBC9FDBCB630 +:10155000B3C9B9A6D7B4CCAC2E2E0D0A000000003A +:10156000BDAB415050D0B4C8EB466C617368D6D067 +:101570002E2E0D0A000000000080000061726773CB +:101580002D3E626C6F636B3A25640D0A000000000B +:101590005352414D5F414444523A20253038582C33 +:1015A00020426C6F636B3A256C64202C6372635F1E +:1015B00076616C3A25303458202C20646174613A8D +:1015C00025303258253032580A000000FFE503006C +:1015D000415050204352433A25303258253032583A +:1015E0000A0000004E455420555064617465205334 +:1015F0005543432E2E2E0A0000080000200800004C +:10160000C9FDBCB6CAA7B0DCA3AC4D6435B4EDCE01 +:10161000F30A0000009AF7FF1008000000660800B7 +:10162000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8D8 +:10163000B70A0000C9FDBCB6C5E4D6C3CAA7B0DC72 +:10164000A3AC4D6435B4EDCEF30A0000C9FDBCB6C1 +:10165000B4EDCEF3A3AC4D6435B4EDCEF30A000087 +:10166000AA0000203408000070B5074C0025207047 +:10167000A570E570257105486571A11D0068F6F734 +:10168000A4FD657070BD00008C550020F4010020A1 +:1016900070B5144905460878002816D00C46881DF8 +:1016A000F6F789FD7D21281AC90088420CD9A11DB1 +:1016B0002846F6F78AFDE078A1780002084305285D +:1016C00008D90020FFF7D0FF70BD2846891DF6F726 +:1016D0007CFD70BD401CA070000AE07002F0AAFF03 +:1016E00070BD00008C55002010B504460020FFF7A7 +:1016F000BBFF0748002C07D001214170054802229A +:10170000C16A1143C16210BD0021417010BD0000CB +:101710008C550020AC4D002010B50548FEF756FB57 +:1017200004490020086004490120086210BD00003F +:101730004F02000078010020AC4D0020F8B5764C37 +:10174000E068002830D0007D8106890F01292BD167 +:1017500082097348009073482146006889686F4D7C +:10176000401A697B2B7B09021943012A12D0022AF5 +:1017700010D0032A18D1A2786B4F0026092A7DD2F7 +:1017800013007B441B79DB189F44324861C4504CE2 +:101790008589A8006278002A07D0012A23D0022A6E +:1017A00002D1A81D03F022FBF8BDFDF715FB0228AE +:1017B000FAD32878C007F7D05CA10120FEF7E2F940 +:1017C000614A4521009804F0FBFE60A10120FEF76C +:1017D000D9F9664A6649674804F0F2FE5148006844 +:1017E000A060012002E00528DED902206070F8BD6B +:1017F000FDF7F2FA0228FAD32878C007F7D04BA1F8 +:101800000120FEF7BFF95C4A5C49009804F0D8FE5D +:1018100044480068A0600120A070F8BD0528FCD9EC +:101820000420F9E70528F8D90620F5E74521A81C8A +:1018300003F010FDF0282AD01122206939685201E6 +:101840001150FF30FF30023046620220E4E7216988 +:101850003A68C81DFF30FA30036A456AD71A304625 +:10186000A8417D252D010023ED1B8341D5D2C81D44 +:10187000FF30FA3046620262112000E04AE0400187 +:101880000818017A491CC9B20172032901D908203C +:10189000C2E70720C0E7A81CFFF7E6F8CCE738A1AD +:1018A0000120FEF76FF9687B297B00020843009056 +:1018B000412221693848D2008A18AB1C407B491C60 +:1018C000FDF7C2FE11222069396852011150FF3024 +:1018D000FF30023046620220A070F8BD2FA1012027 +:1018E000FEF750F92C480021407BFDF7C5FCE0686D +:1018F000CF22017D114020310175002801D009F06F +:10190000BDF9E6602069002801D009F0B7F9266129 +:10191000A670F8BDA670F8BDF8000020BA0000203F +:10192000B7000020A000002010000020BFAACABC01 +:10193000B4B4BDA854465450B7FECEF1CCD7BDD3F5 +:10194000D7D62E2E2E200A0055640100BFAACABC8D +:10195000B4B4BDA854465450CEC4BCFEB4ABCAE423 +:10196000CCD7BDD3D7D62E2E2E200A00D5640100A9 +:10197000FFFF0000B8000020B54F0100DCFF0000B1 +:10198000D6D8D0C2B7A2CBCDD2BBB4CECAFDBEDDB5 +:101990002E2E2E200A000000AA000020B9D8B1D5B2 +:1019A000CCD7BDD3D7D6A3ACCACDB7C5C9EAC7EB90 +:1019B000BFD5BCE42E2E2E200A00000070B50121F8 +:1019C0000C052046FEF7BCFD0121CD042846FEF79C +:1019D000B7FD01218E043046FEF7B2FD0549886847 +:1019E000204388608868284388608868304388601E +:1019F00070BD0000C01000400648074900680A6832 +:101A0000064B821A9A4204D910B5086000F060F8BB +:101A100010BD70471000002020000020C0270900E2 +:101A200000B587B0002000900190029003900490D0 +:101A30000B22059012031521684602F0EFFB684661 +:101A4000407B062802D00620694648730320694679 +:101A5000887305A10020FEF757F815226946052076 +:101A600000F082F907B000BD4C4F475F53617665C7 +:101A70005F476C6F62616C5F506172616D65746528 +:101A80007273200D0A00000008B5002009220090A2 +:101A9000120404216846FEF79FFB6846C07857226F +:101AA0000102684680785201084301026846407886 +:101AB00008430102684600780843034941189142EF +:101AC00000D3024808BD0000E0FFF6FF2000090037 +:101AD000F0B585B000260124A4020496FEF7CEFDE1 +:101AE0000390724802F04CFC0502714802F048FC79 +:101AF00005432D026F4802F043FC05432D026E485A +:101B000002F03EFC05436D482918FF204001814248 +:101B100000D36B4D0398A84201D9461B07E0A842A9 +:101B200005D268480399401B411864480E18FFF716 +:101B3000ABFF074664482B46C01B029000970196F6 +:101B400062490020039AFDF7DFFF002E77D0B00A2C +:101B5000401C024601905EA10020FDF7D5FFA64281 +:101B600000D834460298844200D3044655492819C7 +:101B7000884200D94C1B0198401E0190401C5CD04B +:101B8000A1B22A46564802F0CDFB2B463A465549AB +:101B900000200094FDF7B8FF049801280CD14848B4 +:101BA000874209D1002004904F4901200870601C31 +:101BB00081B27A1E4C4802E0A1B23A464848FEF78C +:101BC0005DFB3F192D19A64204D148A10020FDF765 +:101BD0009BFF32E00298361B001B02903948854279 +:101BE00008D32A4648A10020FDF78EFF0198344D06 +:101BF000401C0190344887420CD33A464AA1002049 +:101C0000FDF782FF012004904F48029001982C4F6D +:101C1000401C01900124A402A64200D83446029838 +:101C2000844200D3044627482919814200D9441B25 +:101C30000198401E0190401CA2D13A4600E033E0DA +:101C400042A10020FDF760FF00201C4D00905721AD +:101C500078194901884200D36F4269460F70380AEB +:101C60004870380C8870380EC8700922120404219C +:101C70006846FEF703FB039CFF2061194001814287 +:101C800000D30F4C0C49E0B202F07CFC2004000EA3 +:101C9000084902F077FC2002000E054902F072FCB0 +:101CA000200E024902F06EFC05B0F0BD0B000900E9 +:101CB0000A0009000900090008000900E0FFF6FF1A +:101CC00020000900FF1F0900FF0A090014F30100AA +:101CD000775F6E756D203A2025640D0A00000000C4 +:101CE000F1220020D0F20100F02200204C4F475F8B +:101CF000466C61736820577269746520436F6D701C +:101D00006C657465210D0A004C4F475F5352414D7D +:101D10005F456E645F416464726573733A30782521 +:101D20003038580D0A0000004C4F475F466C617315 +:101D3000685F456E645F416464726573733A3078BE +:101D4000253038580D0A0000DF0A00004C4F4720AC +:101D5000466C61736820454E445F6164643A307834 +:101D600025303858200D0A00F7B55648564E0468FD +:101D700082B01746707801F0A5FE54494843041913 +:101D8000B07801F09FFE5249009748430C3705197F +:101D9000FFB2FEF773FC04464E49C019884204D3D3 +:101DA0004DA10020FDF7B0FE524CA520214602F0C7 +:101DB000E9FB514802F0E4FA611C019002F0E2FBF9 +:101DC00001984D49401CC0B202F0DCFBA11C384612 +:101DD00002F0D8FBE11C002002F0D4FB3A488079E5 +:101DE00001F070FE86023848407901F06BFE400138 +:101DF00036183548007901F065FE301886B2300A91 +:101E0000211D02F0BFFBF0B2611D02F0BBFBA11D62 +:101E1000029802F0B7FBE8B2E11D02F0B3FB280420 +:101E20002146000E083102F0ADFB28022146000ECB +:101E3000093102F0A7FB2146280E0A3102F0A2FB6D +:101E400022460B320099039802F06EFB009821188D +:101E50005A200B3102F096FB00263546002F08D998 +:101E6000601902F08DFA80196D1CEDB2C6B2BD4248 +:101E7000F6D3F043C0B2E11C02F084FBE5191F4821 +:101E8000FF21281849012C46884200D3194C09210A +:101E9000E0B2090402F076FB2004000E184902F0BB +:101EA00071FB2002000E174902F06CFB200E164950 +:101EB00002F068FB2A4615A10020FDF725FE002050 +:101EC00005B0F0BD180000202800002060EA0000E6 +:101ED00080EE3600FF1F0900205352414D20537001 +:101EE000616365206973206E6F7420656E6F75671E +:101EF000680D0A002000090014000900E0FFF6FF49 +:101F00000100090002000900030009005352414D7D +:101F1000204C4F472041646472203A2025303858C5 +:101F20000D0A0000F8B5324C606800903148016A33 +:101F300001295CD00099A268C069891A40088142D1 +:101F400015D30098A0602D4962782B480988002A93 +:101F500008D082680A4205D10022627082680A4372 +:101F6000826002E0C2680A43C2600CF0C1FD0098C2 +:101F7000E168401A2249884203D30098E06008F0E3 +:101F80003DFD2048C16800290AD00099E269891AFC +:101F90007D22D200914203D30099E16140688047DD +:101FA000194DFF262868F536002816D000982169BB +:101FB000401AB04205D3009820612869002800D05B +:101FC000804700986169401A1049884205D30098FB +:101FD00060616869002800D080470098A169401AB4 +:101FE000B04201D90098A0610098FFF751FBF8BDFD +:101FF000F0010020AC4D0020C01000409A000020ED +:102000008813000098550020104E002060EA000060 +:1020100001490120C8637047AC4D0020F8B5064661 +:1020200000256846057069463046FCF707FD002824 +:102030000BD0684600781349020607D54006400ECB +:102040003C225043401845630562F8BD3C224243A0 +:1020500054180D4949798842F7D2E0690328F4D130 +:10206000367C20463C21F6F774F8092E08D00A2E5B +:1020700006D040212046FDF76FFB25632562F8BDA1 +:102080001021F7E7F03400206801002010B5054C5E +:1020900023636263A1636061E06A01210843E06237 +:1020A00010BD0000AC4D0020F8B506460D461446A4 +:1020B000104609F095FD07462146F6F74AF82A46EC +:1020C0002146384602F0AAF822463946304600F04A +:1020D00005F8384608F0D2FDF8BD0000F8B5FF2637 +:1020E000F53615460C46012809D0474F022838D04E +:1020F000032835D14548007803285CD06CE044487B +:102100000078032810D143482B46027811464278C4 +:10211000120211438278C078120411430006014371 +:102120002246012006F068F83B4F2046BA6829464F +:10213000002401256D052A43BA6003F07DFE37486F +:102140004179490602D5C07A002806D0642009F0FA +:1021500074FB641CA4B2B442F1D9F8682843F86057 +:10216000F8BD2F480078032810D12E482B4602785E +:1021700011464278120211438278C078120411434A +:10218000000601432246022006F036F82046BA6ACD +:102190002946002402252A43BA6203F0AFFF2248F1 +:1021A000407940062CD4642009F047FB641CA4B29B +:1021B000B442F4D924E01D482B46027811464278F7 +:1021C000120211438278C0781204114300060143C1 +:1021D0002246032006F010F82046BA6A2946002459 +:1021E00001252A43BA6204F0E5F811484079400617 +:1021F00006D4642009F021FB641CA4B2B442F4D9D3 +:10220000F86A2843F862F8BD801000405729002082 +:10221000CB290020DD290020C01000400034004000 +:1022200092290020A42900200038004069290020BC +:10223000003C0040F8B50E4E0024B26801277F052F +:102240003A43B26003F0F8FD0A4D6879400602D5C2 +:10225000E87A002808D0642009F0EFFA641CFF2017 +:10226000A4B2F5308442F0D9F0683843F060F8BD8C +:10227000C010004000340040F8B50C4D0024AA6A9C +:1022800002263243AA6203F039FF094F78794006EB +:1022900008D4642009F0D1FA641CFF20A4B2F53000 +:1022A0008442F3D9E86A3043E862F8BD8010004008 +:1022B0000038004010B5034696B000200590049009 +:1022C00009480090094801900948029014460948BD +:1022D0000A4603901946684600F030FC69462046DD +:1022E00000F00AF816B010BD0123456789ABCDEFA9 +:1022F000FEDCBA987654321030B583B00C460546F1 +:10230000082210316846FDF79DFE208AC005820E26 +:10231000382A01D2382000E07820821A0949204664 +:1023200000F0D4FB08226946204600F0CFFB1022C3 +:1023300021462846FDF786FE58212046F5F709FF7D +:1023400003B030BD20010020F0B599B002680392BF +:1023500086684568C26804910192402108AA002756 +:1023600005923B4606910499C9180A4614788C4692 +:10237000214654781B1D240221439478D2782404EA +:102380002143120611430A026146C978120A09065E +:102390000A430599BC000A5106997F1C8B42E2D37F +:1023A000019A29463140AA431143FE4A099C8B18E1 +:1023B000089A0399511859181922D14149190A4606 +:1023C00033462A408B431A43F74BD318019AA2187D +:1023D0009A181423DA41521813462C460B409443A2 +:1023E0002343F24C1B190A9CA4191B190F24E34127 +:1023F0009B181C460E4614409E433443EC4EA419D1 +:102400000B9E751964190A25EC41E41825461646F9 +:102410001D40A6433543E74EAD190C9E711869184F +:102420001925E94109190D461E4625408E433543BD +:10243000E14EAD190D9EB218AA181425EA415218A2 +:10244000154626460D4096433543DC4EAD190E9E8B +:10245000F318EB180F25EB419B181D460E4615404F +:102460009E433543D64EAD190F9E34192C190A25BB +:10247000EC41E418254616461D40A6433543D14E8F +:10248000AD19109E711869181925E94109190D46F1 +:102490001E4625408E433543CB4EAD19119EB218D2 +:1024A000AA181425EA415218154626460D409643AF +:1024B0003543C64EAD19129EF318EB180F25EB41AC +:1024C0009B181D460E4615409E433543C04EAD1920 +:1024D000139E34192C190A25EC41E418254616469A +:1024E0001D40A6433543BB4EAD19149E71186918A3 +:1024F0001925E94109190D461E4625408E433543ED +:10250000B54EAD19159EB218AA181425EA415218F5 +:10251000154626460D4096433543B04EAD19169EDE +:10252000F318EB180F25EB419B181D460E4615407E +:102530009E433543AA4EAD19179E34192C190A250E +:10254000EC41E41825461E46154096433543A54EFA +:10255000AD19099E711869181B25E94109190D4625 +:102560001D4026469E4335439F4EAD190E9EB21820 +:10257000AA181725EA41521815460E462540A643CB +:1025800035439A4EAD19139EF318EB181225EB4103 +:102590009B181D4616460D408E433543944EAD198B +:1025A000089E34192C190C25EC41E41825461E46CA +:1025B0001540964335438F4EAD190D9E711869181D +:1025C0001B25E94109190D4626461D409E4335430A +:1025D000894EAD19129EB218AA181725EA41521851 +:1025E00015460E462540A6433543844EAD19179E29 +:1025F000F318EB181225EB419B181D4616460D40AB +:102600008E4335437E4EAD190C9E34192C190C2582 +:10261000EC41E41825461E46154096433543794E55 +:10262000AD19119E711869181B25E94109190D464C +:1026300026461D409E433543734EAD19169EB21873 +:10264000AA181725EA41521815460E462540A643FA +:1026500035436E4EAD190B9EF318EB181225EB4166 +:102660009B181D4616460D408E433543684EAD19E6 +:10267000109E34192C190C25EC41E41825461E46F1 +:10268000154096433543634EAD19159E7118691870 +:102690001B25E94109190D4626461D409E43354339 +:1026A0005D4EAD190A9EB218AA181725EA415218B4 +:1026B00015460E462540A6433543584EAD190F9E8C +:1026C000F318EB181225EB419B181D4616460D40DA +:1026D0008E433543524EAD19149E34192C190C25D6 +:1026E000EC410D9DE418691825465D404D4E55405E +:1026F000AD1949191C25E941109D0919AA180D4663 +:102700006540494E5D40AD1952191525EA41139DAA +:102710005218EB1815464D40444E6540AD195B19F3 +:102720001025EB41169D9B182C191D465540404E17 +:102730004D40AD1964190925EC41099DE41869184B +:1027400025465D403B4E5540AD1949191C25E941D0 +:102750000C9D0919AA180D466540374E5D40AD190C +:1027600052191525EA410F9D5218EB1815464D4098 +:10277000324E6540AD195B191025EB41129D9B1837 +:102780002C191D4655402E4E4D40AD196419092592 +:10279000EC41159DE418691825465D40294E5540C9 +:1027A000AD1951E078A46AD756B7C7E8DB7020248A +:1027B000EECEBDC1AF0F7CF52AC68747134630A8C1 +:1027C000019546FDD8988069AFF7448BB15BFFFF58 +:1027D000BED75C892211906B937198FD8E4379A6C8 +:1027E0002108B44962251EF640B340C0515A5E2606 +:1027F000AAC7B6E95D102FD65314440281E6A1D8CA +:10280000C8FBD3E7E6CDE121D60737C3870DD5F462 +:10281000ED145A4505E9E3A9F8A3EFFCD9026F6767 +:102820008A4C2A8D4239FAFF81F6718722619D6DAB +:102830000C38E5FD44EABEA4A9CFDE4B604BBBF6E5 +:1028400070BCBFBEC67E9B2849191C25E941089D66 +:102850000919AA180D466540854E5D40AD195219FB +:102860001525EA410B9D5218EB1815464D40814E37 +:102870006540AD195B191025EB410E9D9B182C1975 +:102880001D4655407C4E4D40AD1964190925EC415B +:10289000119DE418691825465D40784E5540AD19E4 +:1028A00049191C25E941149D0919AA180D466540CE +:1028B000734E5D40AD1952191525EA41179D521806 +:1028C000EB1815464D406F4E6540AD195B1910254C +:1028D000EB410A9D9B182C191D4655404D406A4EF0 +:1028E000AD1964190925EC41089DE4186918D54310 +:1028F0002543664E5D40AD1949191A25E9410F9DE2 +:102900000919AA18DD430D43614E6540AD195219EE +:102910001625EA41169D5218EB18E54315435D4E06 +:102920004D40AD195B191125EB410D9D9B182C19DC +:10293000CD431D43584E5540AD1964190B25EC414C +:10294000149DE4186918D5432543544E5D40AD19D4 +:1029500049191A25E9410B9D0919AA18DD430D43B0 +:102960004F4E6540AD1952191625EA41129D521875 +:10297000EB18E54315434B4E4D40AD195B1911253E +:10298000EB41099D9B182C19CD431D43464E5540E4 +:10299000AD1964190B25EC41109DE4186918D54355 +:1029A0002543424E5D40AD1949191A25E941179D4D +:1029B0000919AA18DD430D433D4E6540AD19521962 +:1029C0001625EA410E9D5218EB18E5431543394E82 +:1029D0004D40AD195B191125EB41159D9B182C1924 +:1029E000CD431D43344E5540AD1964190B25EC41C0 +:1029F0000C9DE4186918D5432543304E5D40AD1950 +:102A000049191A25E941139D0919AA18DD430D43F7 +:102A10002B4E6540AD1952191625EA410A9D5218F0 +:102A2000EB18E5431543274E4D40AD195B191125B1 +:102A3000EB41119D9B182C19CD431D43224E55404F +:102A4000AD1964190B25EC410568E418691801609B +:102A50004168091941608168C9188160C168891895 +:102A6000C160402108A8F5F774FB19B0F0BD000063 +:102A7000FA27A1EA8530EFD4051D880439D0D4D9CE +:102A8000E599DBE6F87CA21F6556ACC4442229F424 +:102A900097FF2A43A72394AB39A093FCC3595B65E6 +:102AA00092CC0C8F7DF4EFFFD15D84854F7EA86FB3 +:102AB000E0E62CFE144301A3A111084E827E53F7D9 +:102AC00035F23ABDBBD2D72A91D386EBF8B516467C +:102AD000026905460F46D005F1005218800E2A61A2 +:102AE0008A42696901D2491C6961720F891869615A +:102AF00040210C1AA64219D328182246394618300C +:102B0000F5F70EFB294618312846FFF71DFC204635 +:102B10003F30B04208D239192846FFF715FC20464D +:102B200040347F30B042F6D3002000E00024281863 +:102B3000321B39191830F5F7F3FAF8BDF0B516461F +:102B4000026904460F46D005F100521891B0800E7C +:102B500022618A42616901D2491C6161720F891840 +:102B6000616140210D1AAE4220D320183A46294611 +:102B7000183001F053FB21467F1918312046FFF72A +:102B8000E3FB28463F30B0420ED23A464021684629 +:102B900001F044FB694620464037FFF7D5FB284645 +:102BA00040357F30B042F0D3002000E00025711B9B +:102BB000201889B23A46183001F030FB11B0F0BD50 +:102BC000FFB5284BFFB01A8884B0521C859D1A802F +:102BD000130AC0022B70FF306A700130020AAA701B +:102BE000E8700020287101226A71A871E8712872CA +:102BF0006872A872E87202A80C35F5F7D3FA02AE33 +:102C00003046F5F7C8FA87B22E213046F5F7B9FA03 +:102C10000090002802D0801B84B200E03C462C705B +:102C20006D1C002C11D0224631462846F5F79CFA3F +:102C300000982D19002805D0381B401E361987B280 +:102C4000761CE1E7002028706D1C0020287001210F +:102C50006970A870E97085982D1D281A7FB080B220 +:102C600008B0F0BDEC00002003E00B780370401CBE +:102C7000491C1346521E92B2002BF6D17047000039 +:102C8000174C0020A17A57250907164BA8260029C2 +:102C900005DB1D701E70A17A08221143A1721D7000 +:102CA0001E7005212181104F398803225202914361 +:102CB0003980A17A10221143A172002119700122DA +:102CC000BC79E40701D00020FAE77D242401401CF0 +:102CD000A042F5D91D701E709A711970F0E70000BE +:102CE00000100040401000402010004070B4891EC9 +:102CF0008DB20E490E4E0023002D10D9C25C5140FA +:102D00000022CC07E40F4908002C00D07140521C6F +:102D100092B2082AF5D35B1C9BB2AB42EED341556D +:102D2000090A4019417070BC70470000FFFF0000A5 +:102D300001A0000070B406460B480C4D002300298A +:102D400010D9F25C50400022C407E40F4008002C68 +:102D500000D06840521C92B2082AF5D35B1C9BB28B +:102D60008B42EED370BC7047FFFF000001A0000053 +:102D7000F0B5FF488FB041788806000F0A2874D25A +:102D800002007A44127992189744044B7C8FA9E888 +:102D9000FD6FFCFBF64C2078400840002070FCF7EB +:102DA00043FAF4486E46817845790379C2782EC695 +:102DB00043780278F0A10120FCF7A6FEED4BF94A1A +:102DC000F949FA48FCF7E0F9020004D0F84901207B +:102DD000FCF79AFEDDE2F7A10120FCF795FEFC4826 +:102DE0000221017000210170FA49C160817981716D +:102DF00001218170027804231A430270F6480160B1 +:102E000080210160F54841681E3081740A0AC2744D +:102E10000A0C0275090E41756078C3210840001D37 +:102E20007CE0EF48006A022820D2EE4910200A1800 +:102E30001378184653781B0218439378D2781B04F2 +:102E4000184312061043E54AFF2352682D33101A27 +:102E500098420AD90A74100A4874100C8874100E2B +:102E6000C874E1A10120FCF74FFE92E2C048C27D88 +:102E7000D20903D0C32211401C312EE0C3221140DD +:102E800008312AE0E048FBF75FFFD44841681E3074 +:102E900081740A0AC2740A0C0275090E4175014652 +:102EA0004878C32210401C308BE0D8490A7810467D +:102EB0004A78120210438A78C9781204104309062E +:102EC0000843C64949680A1AD1A10120FCF71CFE33 +:102ED000A748C322417811401031417059E2A44CF7 +:102EE000D0A1A21CD548FCF7D3FE012802D00228AD +:102EF00016D04EE22078012108432070C9A2D0A14B +:102F00000120FCF701FE6179207901910090E378BE +:102F1000A278D0A10120FCF7F7FDCCE0607038E288 +:102F2000D2A10120FCF7F0FD6078C3228006800E5C +:102F300010401030A94B60701978491CC9B2197043 +:102F400005293FD9217801231943217010401C30F5 +:102F50006070C9A11846FCF7D7FD1AE2B74EC94DFB +:102F6000C94C3C216846F5F7F4F802200790C748A1 +:102F700002904320C00003900A9569460E943046A3 +:102F800002E0B0E031E01EE0FCF7A0F9020003D05F +:102F900087490120FCF7B8FD8448BDA1C27B012010 +:102FA000FCF7B2FD8D4841681E3081740A0AC27474 +:102FB0000A0C0275090E417501464878C32210407B +:102FC00018304870E5E1914A1378184653781B028F +:102FD00018439378D2781B041843120610437F4A93 +:102FE0005268101A0A2845D8D3E17D48006A0228A1 +:102FF00040D35F4C1C2022181378184653781B02CC +:1030000018439378D2781B0418431206104331D02A +:10301000A3A10120FCF778FDA64D6878297800026D +:1030200008430190A448417A027A09021143001D25 +:10303000009101780B46417809020B438178C078F2 +:1030400009040B43000603431C2020180278114694 +:103050004278120211438278C078120411430006AC +:103060000143E07D01AA4007400FFCF7EDFA00287C +:1030700002D025E03E48FDE6687829780002084342 +:10308000019988421CD18DA10120FCF73DFDA07D56 +:1030900040210843A0751C2021180A7810464A7860 +:1030A000120210438A78C9781204104309060843B3 +:1030B00001D007F0E3FD6078C32108401C302DE704 +:1030C00083A10120FCF720FD444841681E30817433 +:1030D0000A0AC2740A0C0275090E41756078C32190 +:1030E000084024301AE73F4C102021180A783B4F43 +:1030F00010464A78120210438A78C97812041043A5 +:10310000090608437968081A05282FD92174080A86 +:103110006074080CA074080E664DE0746878297815 +:10312000000208430190A81E417A027A0902114365 +:10313000001D00910178A61E0B46417809020B4341 +:103140008178C07809040B43000603431C20301823 +:10315000027811464278120211438278C078120434 +:10316000114300060143F07D4007BBE011E1000080 +:10317000BA000020A40000204D4143416464722045 +:103180003A20253032582E253032582E25303258EC +:103190002E253032582E253032582E2530325820E8 +:1031A0000D0A0000B2000020AE000020AA0000209E +:1031B00070B8010043483537784E45544C69624930 +:1031C0006E697420537563636573730D0A000000A4 +:1031D0000020004000E2040000E100E09C0000202C +:1031E000AC4D0020BC000020CDF8C2E7504859D0BB +:1031F000ADC9CCCAA7B0DCA3ACC7EBBCECB2E9CD7F +:10320000F8CFDF0A000000008DEB0000CC000020AA +:103210004448435020BAC4CAB1A3BA2564306D7380 +:103220000A0000007777772E626F6F6E6C697665A3 +:103230002D7263752E636F6D00000000B9000020D1 +:10324000446F6D61696E206E616D653A2573200A69 +:10325000000000002048545450735F49503D2564DD +:103260002E25642E25642E25640A0A00444E53B38D +:10327000ACCAB10A00000000444E53CAA7B0DC201B +:103280002D200A00431F000055650100944B0020CB +:10329000536F636B65744964343A25640A00000017 +:1032A0004E4554BFAACABCB7A2CBCDCAFDBEDD0AEB +:1032B00000000000DC000020DA0000204E4554B77A +:1032C000A2CBCDCAFDBEDDB3C9B9A60A000000007D +:1032D0004E4554B7A2CBCDCAFDBEDDCAA7B0DC0AAD +:1032E00000000000400F01AAFCF7AEF9002822D12F +:1032F0006878297800020843019988421BD12BA1E4 +:103300000120FCF701FCB07D40210843B0751C2072 +:1033100031180A7810464A78120210438A78C97820 +:10332000120410430906084328D17078C3210840CD +:103330001C3070702DE0B07D0621C8410121490785 +:1033400040181A21C841B0758006400F022818D3D2 +:103350001BA10120FCF7D8FBB07DBF210840B07550 +:103360001C2031180A7810464A78120210438A78D5 +:10337000C9781204104309060843D6D007F07EFC32 +:10338000D3E778682074010A6174010CA174000EFF +:10339000E074FBF733FFFBF751FF002801D0FBF788 +:1033A00035FD04F061F80FB0F0BD00004E4554D675 +:1033B000D8B7A2CAFDBEDDB3C9B9A60A0000000095 +:1033C0004E4554D6D8B7A2CAFDBEDDCAA7B0DC0AA6 +:1033D00000000000F0B457261C228B07134DA827CD +:1033E0000A409B0F124C00282E702F7010D0080638 +:1033F00003D5E07BFD210840E073A07A1043A07262 +:103400000C48C17B1943C17300202870F0BC704781 +:10341000080603D5E07B02210843E073A07A9043BD +:10342000A0720448C17B9943EDE7000040100040C2 +:103430000010004020100040F0B406460020044672 +:1034400005460B78491C002C00D1401C1F06BF0FFD +:10345000032F0AD1002C00D1401C9B0609789B0C3D +:103460009B19C91801240B78491C002B12D0002C81 +:1034700000D1C0185B1E9BB20F7817701F465B1EF1 +:10348000491C521C9BB2002FF6D12E231370521CE4 +:103490006D1CD6E7002D02D12E211170521C002187 +:1034A0001170F0BC70470000F8B5FF4C0C202018DC +:1034B0000278FC4E114642787378120211438278EA +:1034C000C078120411430006014310202218177817 +:1034D000F64D384657783F0238439778D2783F0404 +:1034E000384312061043002B04D0062B7ED0002058 +:1034F0007070F8BD814246D000F093FF0246ECA107 +:103500000020FCF73FFB1020201801780A46417884 +:1035100009020A438178C07809040A43000602437D +:10352000102028180378194643781B021943837822 +:10353000C0781B04194300060143012004F0CCFDB0 +:10354000102021180A7810464A78120210438A780F +:10355000C978120410430906084301218902401862 +:103560002074010A6174010CA174010EE174D84940 +:10357000884208D9492040032074010A6174010C73 +:10358000A174000EE0742279E07911466279000698 +:1035900012021143A2791204114301430820221898 +:1035A0001378184653781B0218439378D2781B047B +:1035B000184312061043814260D000F032FF0746E4 +:1035C000082021180A7810464A78120210438A7897 +:1035D000C9781204104309060843801C00F0D0FE8D +:1035E0002873010A6973010CA97300E097E0000ECB +:1035F000FF21E131E8738F4200D90F46B5480068DA +:103600002872010A6972010CA972000EE872082082 +:103610002018027811464278120211438278C0784D +:1036200012041143000601433A460120C91CFEF76B +:103630003BFD06207070082021180A7810464A7851 +:10364000120210438A78C97812041043090608430D +:103650000121890240182072010A6172010CA172D5 +:10366000010EE1729C49884208D993200003207220 +:10367000010A6172010CA172000EE0722A78E978E9 +:1036800010466A78090612021043AA78914C120477 +:103690001043084321682A790B1A10466A79E979A0 +:1036A00012021043AA790906120410430843834208 +:1036B00000D81EE789A10020FCF764FA2068287072 +:1036C000010A6970010CA970000EE87001203070C9 +:1036D000102028180278114642781202114382788D +:1036E000C07812041143000601434B20C0018142FF +:1036F000DFD02874010A6974010CA974010EE97401 +:1037000014216A181378194653781B0219439378C9 +:10371000D2781B041943120611438847F8BD814231 +:1037200047D000F07EFE024661A10020FCF72AFA95 +:103730001020201801780A46417809020A4381784E +:10374000C07809040A43000602437048037819460A +:1037500043781B0219438378C0781B041943000681 +:103760000143012004F0B8FC0020707010202118E3 +:103770000A7810464A78120210438A78C9781204EF +:103780001043090608430121890240182074010AE8 +:103790006174010CA174010EE1744D49884208D98D +:1037A000492040032074010A6174010CA174000EC9 +:1037B000E0742279E0791146627900061202114321 +:1037C000A2791204114301430820221813781846E5 +:1037D00053781B0218439378D2781B0418431206BF +:1037E000104381425CD000F01CFE074608202118DF +:1037F0000A7810464A78120210438A78C97812046F +:10380000104309060843801C00F0BAFD2873010A22 +:103810006973010CA973000EFF21E131E8738F4237 +:1038200000D90F462B4800682872010A6972010C02 +:10383000A972000EE872082020180278114642781A +:10384000120211438278C07812041143000601432A +:103850003A460120C91CFEF727FC0620707008209C +:1038600021180A7810464A78120210438A78C978DB +:1038700012041043090608430121890240182072EE +:10388000010A6172010CA172010EE17212498842B3 +:1038900041D9932000032072010A6172010C37E0C4 +:1038A00039E00000CB290020A60A0020CD29002005 +:1038B000554152543220646174615F6C656E203AE8 +:1038C0002564202C52585F4275666665723A000086 +:1038D000FF2F090014000020FF3F0900506F6C6C9F +:1038E0003438355F496E666F20506F72745F4E6F6B +:1038F000726D616C5F4D6F6465206D6F64655F6FA5 +:10390000757474696D65200D0A000000A4290020FB +:10391000A172000EE072082029180A7810464A7831 +:10392000120210438A78C97812041043090608432A +:103930000B4909680B1A0C2029180A7810464A7896 +:10394000120210438A78C97812041043090608430A +:10395000834200D8E2E604F06DFB00207070F8BDF1 +:1039600014000020F8B557260C4C0021A8270C4D58 +:103970000028267027700ED0012068712871002061 +:103980002070012007F059FF267027700D20287144 +:1039900000202070F8BD29712170F8BD4010004052 +:1039A0002010004010B5124C206C00281CD111A032 +:1039B00004F0EAFFA06B81002046803841580029BE +:1039C00001D0002010BDA26B012192008150A06B9C +:1039D0000C4A128850430C4A82180C488281C279E2 +:1039E00004231A43C2712164206CC0B210BD0000D0 +:1039F0003455002051756172794574685278446D70 +:103A0000610D0A00F04D0020902B00200090004036 +:103A100001480079704700006801002070B5044635 +:103A200000201849207009786170F221A170E070BF +:103A30000E2626716071A0711320134DE071A879D4 +:103A4000FCF7B4FE20726879FCF7B0FE607228794A +:103A5000FCF7ACFEA072A878FCF7A8FEE0726878CC +:103A6000FCF7A4FE20732878FCF7A0FE6073E878CA +:103A7000FCF79CFEA07331462046FBF7E1FEA071E7 +:103A8000304670BD062A00202800002010B5042111 +:103A90008C012046FCF754FD0949CB684A151343B5 +:103AA000CB60C8682043C86000BF00BF886810436F +:103AB000886000BF00BFC8681043C86010BD000028 +:103AC000C010004001090A2200075143000F0818E6 +:103AD000C0B2704770B504218C012046FCF730FD60 +:103AE0000421CD012846FCF72BFD054988682043B9 +:103AF0008860886828438860024804F0A4FF70BD8D +:103B0000C01000402800002010B504218C01204680 +:103B1000FCF716FD0949CB684A151343CB6088684A +:103B20002043886000BF00BF88681043886000BFE2 +:103B300000BFC8681043C86010BD0000C01000403E +:103B400010B5044600F08AF8652000F05BF800F03C +:103B5000E1F8002828D000F02BF82070FFF796FF3E +:103B600000F026F86070FFF791FF00F021F84006A2 +:103B7000400EA070FFF78AFF00F01AF8E070FFF720 +:103B800085FF00F015F82071FFF780FF00F010F8B6 +:103B90006071FFF77BFF00F00BF8A071FFF7B4FF37 +:103BA00000F07CF8012010BD00F078F8002010BD76 +:103BB00070B501210D0200242846FCF7C1FC104914 +:103BC00088682843886007204A1501236406CD6869 +:103BD000240E1543CD6000BF00BF8D6815438D6076 +:103BE00000BF00BF4D68ED0500D51C430546401ED3 +:103BF000C0B2002DEAD1C8681043C860204670BD2D +:103C0000C010004070B5042104468D012846FCF721 +:103C100097FC114807214315C2681A43C26000BFD0 +:103C200000BF220603D582682A43826002E0C26890 +:103C30002A43C2606206140E00BF00BF82681A43A6 +:103C4000826000BF00BF0A46491EC9B2002AE3D104 +:103C5000C1681943C16070BDC010004010B5042197 +:103C60008C012046FCF76CFC00BF00BF0A49886845 +:103C7000204388608B684A1513438B6000BF00BFE8 +:103C8000C8682043C86000BF00BFC8681043C86050 +:103C900000BF00BF10BD0000C010004010B50421DF +:103CA0008C012046FCF74CFC0949C8682043C860D9 +:103CB000C8684A151043C86000BF00BF8868104339 +:103CC000886000BF00BF88682043886010BD000086 +:103CD000C01000400B480C4900680A687D23821A16 +:103CE000DB009A420DD370B5084D6C780860284609 +:103CF000FFF726FF6878A04202D00549002008603F +:103D000070BD704710000020240000202800002013 +:103D10001800002070B50C4CE06866153043E06078 +:103D200001210D022846FCF70BFCA1682943A16084 +:103D300000BF00BFA0683043A0606068E068304307 +:103D4000E060012070BD0000C010004013B500F01D +:103D50006EF8FFF783FF6420FFF754FFFFF7DAFFE9 +:103D6000002837D00020FFF74DFFFFF7D3FF68464C +:103D70000078FFF747FFFFF7CDFF68464078FFF771 +:103D800041FFFFF7C7FF6846807880210843FFF7AF +:103D900039FFFFF7BFFF6846C078FFF733FFFFF733 +:103DA000B9FF68460079FFF72DFFFFF7B3FF6846BC +:103DB0004079FFF727FFFFF7ADFF68468079FFF7EF +:103DC00021FFFFF7A7FFFFF769FF00F021F80120AF +:103DD00002B010BDFFF762FF002002B010BD70B549 +:103DE00014460D460646FFF739FF3046FFF70AFF37 +:103DF000FFF790FF2846FFF705FFFFF78BFF2046F0 +:103E0000FFF700FFFFF786FFFFF748FF012070BDB7 +:103E100010B500220F216420FFF7E1FF002805D034 +:103E2000002210216420FFF7DAFF012010BD10B539 +:103E3000802210216420FFF7D2FF002805D08422C1 +:103E40000F216420FFF7CBFF012010BDC006C00E7C +:103E500020210843014908710888704720900040DC +:103E600030B5FF24C1B0013421466846F4F771F93A +:103E700021466846F4F76DF91125ED032A462146DF +:103E80006846FCF7A9F92A462146684600F0F4F98D +:103E900041B030BDF8B50C4E0025B46911E02046A4 +:103EA000FEF7BCF8204609F09BFDE068002D01D02C +:103EB000E86000E0B06121460220E76807F0CAFF31 +:103EC0003C46002CEBD1F8BD98010020F0B5FF2650 +:103ED000C1B00136002531466846F4F73AF90024AE +:103EE00031466846F4F735F91122D2033146684667 +:103EF000FCF772F90C4F6E46E01900F041FA315DA3 +:103F0000814202D06D1C3055EDB2641CA4B2FF2C6E +:103F1000F2D9002D06D01122FF21D20301316846CB +:103F2000FCF7ACF941B0F0BD00E808000346002002 +:103F300010B40246002906D99C5C521C2018D2B24B +:103F4000C0B28A42F8D310BC7047F8B500250E46BF +:103F500007462C46002908D9381900F011FA4019F3 +:103F6000641CE4B2C5B2B442F6D32846F8BD0000E2 +:103F700010B41349F722202300280DD0DF24012894 +:103F800010D00822022815D0032811D10878104338 +:103F90000870487820400AE0087810400870487897 +:103FA000184304E0087810400870487820404870B2 +:103FB00010BC704708781043087048781843F6E73B +:103FC0000040004010B4114A1378102423431370AA +:103FD00010834018908391810920907150780121BD +:103FE000084350700A480B49006808609179C90776 +:103FF00005D1001A642802D89179C907FAD05078FF +:1040000040084000507010BC704700000040004065 +:104010000C0000201C00002010B4114A1378EF247B +:104020002340137010834018908391810920907170 +:1040300050780121084350700A480B490068086015 +:104040009179C90705D1001A642802D89179C90766 +:10405000FAD0507840084000507010BC7047000003 +:10406000004000400C0000201C00002007480421F4 +:10407000C17002210170602101704178102211434A +:104080004170417849084900417070470040004044 +:1040900070B4104A137810242343137091810123C4 +:1040A00093710D4B0D4C1D682560002910D0D579FA +:1040B000002D06D0157C0570491E1D6889B2401C74 +:1040C00025601D682668AD1B642D01D80029EED13E +:1040D00070BC7047004000400C0000201C00002015 +:1040E0000A480178EF2211400170FF21017108494F +:1040F000084A096811608279520605D4491A642970 +:1041000002D882795206FAD5007970470040004003 +:104110000C0000201C00002009490A78EF231A40F7 +:104120000A7008710748084A006810608A795206C8 +:1041300005D4001A642802D88A795206FAD5704745 +:10414000004000400C0000201C00002030B4134B45 +:104150001A78EF2422401A70998101229A71104A2C +:10416000104C1268226000290DD0DD79082D05D28F +:1041700005781D74491E89B2401C2260951A642D71 +:1041800001D80029F1D1D879002805D0901A6428E7 +:1041900002D8D9790029FAD130BC704700400040DC +:1041A0000C0000201C00002070B5094CA06AA5146A +:1041B0002843A062072003210003FCF78BF9FFF7D7 +:1041C00055FF0120FFF7D4FEA06A2843A06270BD0E +:1041D00080100040F3B50F4C0F4E002581B00F4604 +:1041E000002913D90198401900F0CAF84440002072 +:1041F000E107C90F6408002900D07440401C80B258 +:104200000828F5D36D1CADB2BD42EBD3204603B0F8 +:10421000F0BD0000FFFF000001A00000F7B582B074 +:10422000D0B200901004060E1002000E01900D4650 +:1042300001205119C00581421AD20E4CE06AA71420 +:104240003843E0620320FFF767FF0198FFF764FF40 +:104250003046FFF761FF0098FFF75EFF294602989E +:10426000FFF7B0FEA06A3843A062642007F0E5FAC9 +:1042700005B0F0BD80100040F7B582B0D0B200901C +:104280001004060E1002000E01900D460120511977 +:10429000C00581421AD20E4CE06AA7143843E0628E +:1042A0000220FFF739FF0198FFF736FF3046FFF78E +:1042B00033FF0098FFF730FF29460298FFF7ACFE66 +:1042C000A06A3843A062642007F0B7FA05B0F0BDD9 +:1042D0008010004010B50D4800F052F804020C4860 +:1042E00000F04EF8044324020A4800F049F8044361 +:1042F0002402094800F044F808492043FF224118ED +:104300005201914200D3064810BD00000700090089 +:10431000060009000500090004000900E0FFF6FF9F +:1043200020000900F7B582B0D0B200901004060E4C +:104330001002000E01900D4601205119C005814266 +:104340001AD20E4CE06AA7143843E0620320FFF74C +:10435000E3FE0198FFF7E0FE3046FFF7DDFE009830 +:10436000FFF7DAFE29460298FFF792FEA06A38436B +:10437000A062642007F061FA05B0F0BD8010004033 +:10438000F8B501040E0E0102090E00910121C905C4 +:10439000C5B2884201D30020F8BD154CE06AA714CD +:1043A0003843E0620320FFF7B7FE0098FFF7B4FE42 +:1043B0003046FFF7B1FE2846FFF7AEFEFFF790FE4E +:1043C0000546A06A3843A062FF2D0CD10949486810 +:1043D00002070820002A03DB8A6802438A6002E0A1 +:1043E000CA680243CA60642007F027FA2846F8BD6D +:1043F00080100040C010004070B50446C01CFFF79C +:10440000BFFF0502A01CFFF7BBFF28430502601C8D +:10441000FFF7B6FF284305022046FFF7B1FF284308 +:1044200070BD70B50546401CFFF7AAFF0402284680 +:10443000FFF7A6FF204370BD10B504460C48FF21CE +:1044400020184901884200D30A4C0B49E0B200F021 +:1044500099F82004000E094900F094F82002000E9B +:10446000074900F08FF8200E064900F08BF810BDC8 +:10447000E0FFF6FF2000090010000900110009000C +:10448000120009001300090010B504460C48FF2172 +:1044900020184901884200D30A4C0B49E0B200F0D1 +:1044A00071F82004000E094900F06CF82002000E9B +:1044B000074900F067F8200E064900F063F810BDC8 +:1044C000E0FFF6FF200009000C0009000D000900C4 +:1044D0000E0009000F00090010B504460C48FF212A +:1044E00020184901884200D30A4C0B49E0B200F081 +:1044F00049F82004000E094900F044F82002000E9B +:10450000074900F03FF8200E064900F03BF810BDC7 +:10451000E0FFF6FF20000900040009000500090083 +:104520000600090007000900F7B582B0D0B200907C +:104530001004060E1002000E01900D4601205119C4 +:10454000C00581421AD20E4CE06AA7143843E062DB +:104550000220FFF7E1FD0198FFF7DEFD3046FFF78F +:10456000DBFD0098FFF7D8FD29460298FFF7EEFD26 +:10457000A06A3843A062642007F05FF905B0F0BD7F +:1045800080100040F3B5080481B0000E00900802CE +:10459000060E0120C005CDB2814219D20D4CE06A51 +:1045A000A7143843E0620220FFF7B6FD3046FFF75C +:1045B000B3FD0098FFF7B0FD2846FFF7ADFD019869 +:1045C000FFF7AAFDA06A3843A062642007F035F91E +:1045D00003B0F0BD8010004070B504460D46C0B277 +:1045E000FFF7D0FF2004000E691CFFF7CBFF20026D +:1045F000000EA91CFFF7C6FF200EE91CFFF7C2FF43 +:1046000070BD70B504460D46C0B2FFF7BBFF200A6F +:10461000691CFFF7B7FF70BD054857210170A8213D +:10462000017081790122114381710021017070476D +:104630004010004038B5064C002061680091606071 +:104640006946204606F0AEF90098606038BD00006B +:10465000284E002043490D2846D202007A441279A0 +:104660009218974406132029313A424A525B636CF0 +:10467000750057200870A82008703B48C27BFB23B8 +:104680001A40C273394AC820108168E05720087068 +:10469000A82008703448C27B04231A43C273334AEB +:1046A000C82010815BE057200870A82008705120B6 +:1046B0002E4AC000108152E057200870A8200870D0 +:1046C0002A4A2B4810814AE057200870A820087019 +:1046D0008120264A8000108141E057200870A820E0 +:1046E0000870224A8820108139E057200870A820DD +:1046F00008701E4A0220108131E057200870A8205F +:1047000008701A4A0420108129E057200870A82058 +:1047100008709320154A8000108120E0572008700F +:10472000A8200870114A1348108118E0572008701B +:10473000A820087095200D4A800010810FE05720B6 +:104740000870A82008704B20084AC000108106E0BD +:1047500057200870A8200870044A074810810020DC +:1047600008707047401000402010004000100040CA +:10477000020200004F0200005E02000010B5044675 +:104780000D48FF2120184901884200D30B4C092114 +:10479000E0B20904FFF7F6FE2004000E0849FFF717 +:1047A000F1FE2002000E0749FFF7ECFE200E06493D +:1047B000FFF7E8FE10BD0000E0FFF6FF2000090053 +:1047C00001000900020009000300090010B4124CA6 +:1047D000E1235B0206220019994206D10270110AF8 +:1047E0004170110C8170110E12E07D231B03994260 +:1047F00008D10270110A4170110C8170110EC17044 +:1048000010BC704714210170002242708270114662 +:10481000C17010BC704700000304000030B587B0C1 +:1048200000251D4C039504951A48059520620C3807 +:104830006062001DA062001DE06206F0B9FF042264 +:1048400003A8616AF3F76CFC042204A8E16AF3F799 +:1048500067FC042205A8A16AF3F762FC06220F4850 +:10486000216AF3F75DFC0E4805600E4805600B48B1 +:104870002B3807F067FB0C4802900C490748019160 +:1048800005AB04AA009503A92B3807F023FB07B05A +:1048900030BD0000B84D0020F0010020534E002034 +:1048A000900100209401002045AA0100A9AA01005E +:1048B000FFB504690546C168601E81B00F180398F2 +:1048C00000264068417802780802104307F0B2FBE6 +:1048D0000005000F80004142039807F0A1FD002869 +:1048E00002D0002005B0F0BD0398002834D0002C81 +:1048F0000CD0E868002809D00398428941689319D0 +:1049000012199EB2BA4212D900220CE0039807F0A5 +:1049100065FD21E00B782370491C641CBC4200D962 +:10492000AC68521C92B243899342F3D80AE0002249 +:1049300005E00B78521C2370491C92B2641C438919 +:104940009342F6D800680028D7D1039807F046FDB7 +:10495000A8692C618019A8610120C3E7F7B53C2143 +:1049600048432F490025146884B040181560164646 +:104970000290002C14D00598002811D00298006BEA +:1049800003902848006C800700D4C7256D1CADB289 +:10499000C82D40D8B920C000844204D9009004E05A +:1049A0001A2007B0F0BD2046009481B200221046C4 +:1049B00007F0E6FB070030D07868009A0599F3F716 +:1049C000AFFB18490020C8633946039807F090FEF2 +:1049D0000190384607F002FD1248C06B002802D152 +:1049E000019800280DDA0020306040210298FAF783 +:1049F000B3FE0198002802DAFBF73CFBD1E7FA206E +:104A0000CFE7316800980818306000990598401881 +:104A10000590641ABAD10020C3E71120C1E7000055 +:104A2000F0340020AC4D0020F7B50025146882B0AA +:104A300017462E461560002C15D00399002912D078 +:104A40003C21484337494018006B01903648006CC0 +:104A5000800700D4C726761CB6B2C82E06D938689F +:104A6000002850D156E01A2005B0F0BD0198007C16 +:104A7000042801D01720F7E72B48006C800701D5E8 +:104A8000FAF7BCFB01984030C08D0090002807D099 +:104A9000254D4435287CC00704D10098844201D9B3 +:104AA0001120E1E70098844200D8009468680099DA +:104AB000884200D20090019808F080FD1A484430E6 +:104AC000007CC007009802D082B2012301E082B2CC +:104AD0000023039901980AF037F8050005D0681CF7 +:104AE00001981BD008F06AFD14E0019808F066FDFB +:104AF00005463968009808183860009903984018EE +:104B00000390641A01D10020AEE707484430007CCE +:104B1000C007A0D12846FBF7ADFAA5E708F04EFD87 +:104B2000F3E70000F0340020AC4D0020FFB505464F +:104B30000469C068611E4718A96B002681B09446BD +:104B4000002902D0AC68611E4718110006D0002C65 +:104B500001D0002804D1084607F040FC05B0F0BDA4 +:104B60004B8948689A1996B21A19BA420ED900238D +:104B700008E002782270401C641CBC4200D9AC687A +:104B80005B1C9BB24A899A42F3D80AE0002305E0F5 +:104B900002785B1C2270401C9BB2641C4A899A42BA +:104BA000F6D809680029DBD101200003864200D92C +:104BB0000646604607F012FCAF6B002F0DD004983C +:104BC000F3F7F9FA00960146AB6828460A9AB84707 +:104BD0000020A861A8682861C0E7A8692C61801935 +:104BE000A861BBE7F7B50025146884B016461560C8 +:104BF000002C17D00599002914D03C21484327499F +:104C00004018006B02902648006C800700D4C7252E +:104C10006D1CADB2C82D3CD817208001844204D34E +:104C2000009004E01A2007B0F0BD2046009481B245 +:104C30000022104607F0A4FA07002CD07868009AEA +:104C40000599F3F76DFA16490020C86339460298B2 +:104C50000AF0C0F90190384607F0C0FB1048C06B5D +:104C6000002802D10198002809DA0020306001985C +:104C7000002802DAFBF7FEF9D5E7FA20D3E731681E +:104C80000098081830600099059840180590641A3B +:104C9000BED10020C7E71120C5E70000F034002096 +:104CA000AC4D0020F8B5044608460D460830FFF725 +:104CB00067FBFAF769FEFF21090400048F430840EF +:104CC000074328460930FFF75BFBFAF75DFEFF213B +:104CD000090200028F430840074328460A30FFF7C5 +:104CE0004FFBFAF751FE3F0A3F02074328460B30BD +:104CF000FFF746FBFAF748FEFF21090400048E4344 +:104D00000840064328460C30FFF73AFBFAF73CFE12 +:104D1000FF21090200028E430840064328460D3059 +:104D2000FFF72EFBFAF730FE360A36020643284616 +:104D30000E30FFF725FBFAF727FE01463002000A86 +:104D4000090608433946FFF701F8024600200A49E0 +:104D5000207009786170F221A1700925E070257139 +:104D60006071A0711320E071227229462046FAF783 +:104D700067FDA0712846F8BD062A00200F4841684B +:104D8000491C41600178491CC9B201700A2913D13C +:104D90000022027081687D23491C81600169DB006B +:104DA000491C01614188491C89B24180994203D163 +:104DB0004280C168491CC1607047000008000020A3 +:104DC00010B5084857210170A821017051200649EB +:104DD000C00008810A2006F030FD0120FEF7C2FD68 +:104DE00010BD00004010004000100040F3B5274CFB +:104DF0000127E0682146007D254D0007830F232011 +:104E00000001F3260A6981B0012B05D0022B1AD1CB +:104E1000E770002A19D01FE0E770002A06D1074684 +:104E200006F0DEFE39462061F3F793F919A101205F +:104E3000FAF7A8FEA87B029A0199FBF7A5FDE068A6 +:104E4000017D3140017503B0F0BD074606F0C8FE94 +:104E500039462061F3F77DF9E068A03041790079A7 +:104E60000A02024311A10120FAF78CFEE068A0308B +:104E7000417900790A020243A87B0199FBF7D2FC31 +:104E8000E068017D3140017503B0F0BDF8000020FD +:104E9000AA00002054465450BBD8B8B4D0B4CEC4F5 +:104EA000BCFED6B8C1EE2E2E2E200A005446545019 +:104EB000B6C1CEC4BCFED6B8C1EEB7A2CBCD207071 +:104EC0006F72743A25642E2E2E200A00F8B54078B1 +:104ED0001A4E1B4F1D46144602280ED0062825D117 +:104EE00018A10120FAF74EFEF8680C22017D11434B +:104EF0000175386900281AD008E0F868F322017DAE +:104F00001140091D01753869002810D023210901BD +:104F1000F3F71FF90948217881716178C171A1788F +:104F20000172E17841723573280A7073F8BD23204D +:104F3000000106F055FE3861E8E70000BA000020E5 +:104F4000F8000020BDD3CAD5B5BDD0B4C8D5D6BEF3 +:104F5000C7EBC7F3BBD8B8B42D2D2D0A0000000055 +:104F600010B5447882B0032C07D0042C03D109A1DA +:104F70000120FAF707FE02B010BD019300928BB238 +:104F800002460A490A48897B0069FBF745FE02B0E0 +:104F900010BD000054465450B5C441434B2CB4CB13 +:104FA000B4A6CAC7D0B4C8D5D6BE0A00AA0000208D +:104FB000F8000020FFB516460B041C0E120AC8B2FA +:104FC0001202FF2302431B029A43A4462302FF243A +:104FD000240223401A430B0224021B0EA243FF2784 +:104FE0001C043F043C402243090E140283B00A060D +:104FF000240A0091144301460C9D6246019665A067 +:1050000003F0C2FC6A482A46417B6AA003F0BCFC5C +:105010000027002D07D90698C15D6DA003F0B4FCF0 +:105020007F1CAF42F7D36CA003F0AEFC06986B4F29 +:1050300040786B4D02285FD006287DD008240528D3 +:105040007BD0042856D1286966A1FF30FF3002309A +:1050500042690120FAF796FD0620A8702869EB68DE +:10506000FF30FF3002304169587C1A7C0002104347 +:1050700081423FD118205B1C1818027811464278F3 +:10508000120211438278C0781204114300060143D2 +:105090001C201A1816783046567836023043967817 +:1050A000D2783604304312061043814222D11420B4 +:1050B00019180A7810464A78120210438A78C9787B +:1050C0001204104309060843FFF706FAE8681421A2 +:1050D000401C401801780A46417809020A43817849 +:1050E000C07809040A430006024344A10120FAF7EC +:1050F00049FDAC7007B0F0BDE868F322017D1140B6 +:10510000091D01752869002804D12320000106F03B +:1051100067FD286123210901F3F71BF82F482104BB +:105120008471090EC1712102090E0172210E4172B2 +:105130003E73300A787301E002E026E007B0F0BD6C +:1051400039A10120FAF71EFDE8680C22017D114308 +:1051500001752869002804D12320000106F040FDD4 +:10516000286123210901F2F7F4FF1C48210484710E +:10517000090EC1712102090E0172210E41723E73A6 +:10518000300A78730620A870D5E72EA10120FAF71F +:10519000F9FCAEE769703A25642E25642E25642E4D +:1051A00025642C20706F72743A25640A0000000098 +:1051B000AA000020536F636B65742564206C656ED4 +:1051C0003A256C64202C5265636976653A200000AC +:1051D00025303258200000000A000000BA000020EC +:1051E000F8000020544654505F41434B20426C6FFE +:1051F000636B3A25642D2D2D0A0000004C4F47208B +:10520000446174612053656E6420436F6D706C65FA +:105210007465202C20616464723A2530385821214D +:105220002121210A00000000BDD3CAD5B5BDD0B4EC +:10523000C8D5D6BEC7EBC7F3BBD8B8B42D2D2D0A41 +:1052400000000000544654505F4552524F52202DEA +:105250002D2D0A00F3B5944C85B0E068002805D0E8 +:10526000232520692D01002803D006E0012007B086 +:10527000F0BD284606F0B4FC20612946F2F769FF2C +:10528000FFF728F8E26814211346521C55182E78AF +:1052900031466E7836023143AE78ED7836043143CC +:1052A0002D062943814208D9081A1076010A517641 +:1052B000010C9176000ED0760DE081427ED27B4DBE +:1052C000281A40187A4940181076010A5176010CC4 +:1052D0009176000ED076182011180A7810464A7878 +:1052E000120210438A78C978120410430906084351 +:1052F000C101090C0A0A19745A74C00503D0491C6B +:105300001974080A5874FBF7B9F9E1680246487C39 +:105310000B7C0002184300901820491C09180878DB +:105320004D78034688782D022B4300040343C87848 +:1053300060A1000603430120FAF724FC2069002540 +:10534000457002218170C11DFF31FA318A68401C0D +:10535000921C8A60634994460F784E788B780A795C +:1053600004970396029301924A7900928B796044E4 +:105370005DA2282103F018FB2169CB1DFF330A46EB +:10538000FA339968521C4018411C99608554412198 +:105390002069C9000958401C08185EA20A2103F0C0 +:1053A00003FB2169CB1DFF330A46FA339968401885 +:1053B000411C521C99608554412100E070E0206935 +:1053C000C9000958401C081854A20A2103F0ECFA3D +:1053D0002169CB1DFF330A46FA339968521C4018E5 +:1053E000411C9960855441212069C9000958401C1D +:1053F00008184CA20A2103F0D7FA2169CB1DFF330C +:105400000A46FA339968521C4018411C9960855429 +:1054100041212069C9000958401C081842A20A21EC +:1054200003F0C2FA2169CB1DFF330A46FA339968AB +:10543000521C4018461C9E608554E0681821401C90 +:10544000401801783AA20B46417809020B43817853 +:10545000C07809040B430006034341212069C900B9 +:105460000958401C08180A2103F09EFA2169CB1D37 +:10547000FF330A46FA339968521C4018411C996060 +:1054800085540698412280B2009021692948D200B3 +:105490008A18407B059B491CFAF7D6F807B0F0BD87 +:1054A000F02007B0F0BD0000F8000020FF1F090049 +:1054B000E0FFF6FF5352414D203A20253038582066 +:1054C0002C205446545020474554204C4F472053DD +:1054D000495A453A2564202C20426C6F636B3A256B +:1054E000640D0A002800002043315F4C4F475F32B3 +:1054F00030253032585F253032585F253032585FC2 +:10550000253032585F253032585F253032582E749E +:10551000787400006F63746574000000626C6B73D4 +:10552000697A6500353132007473697A650000006C +:1055300025640000AA00002010B50A20FAF7EAF856 +:1055400004488179FF221143817103484168491C55 +:10555000416010BD002000409C00002070B5002577 +:105560000C46292878D201007944097949188F44DA +:10557000731425364758699A779A9A7F9A878F9B32 +:10558000A7B3C29A9AD1EFFAECEBEAE9E8E7E6E5CD +:10559000E4E3E2E1E0DFDEDDDC0004212020FAF7D5 +:1055A00099FFD348012C04D0C16A20221143C16263 +:1055B0009BE1816A20221143816296E1042110203F +:1055C000FAF788FFCA48012C04D0C16A102211439F +:1055D000C1628AE1816A10221143816285E104215E +:1055E0004020FAF777FFC248012C04D0C16A40225C +:1055F0001143C16279E1816A40221143816274E101 +:1056000004210120FAF766FFB948012C04D0C16AD1 +:1056100001221143C16268E1816A01221143816262 +:1056200063E104210220FAF755FFB148012C04D0B0 +:10563000C16A02221143C16257E1816A0222114309 +:10564000816252E104210846FAF744FFA848012C80 +:1056500003D0C16A042257E046E1816A042257E080 +:1056600004214E023046FAF735FF012C3FD03AE0D4 +:1056700004218E033046FAF763FF012C27D00EE099 +:1056800004218E013046FAF75BFF012C1FD006E0A3 +:105690000421CE033046FAF753FF012C17D095486A +:1056A000C1683143C16020E10421CE013046FAF7E0 +:1056B00011FF012C1BD016E0816216E1C16214E1DA +:1056C0000421CE013046FAF73BFF012C29D189484D +:1056D00081683143816008E104218E013046FAF788 +:1056E000F9FE012C03D08248C16A3143E6E78048C5 +:1056F000816A3143E0E704218020FAF7EBFE7C4821 +:10570000012C03D0C16A80221143D7E7816A80222D +:105710001143D1E704218E043046FAF711FF012C22 +:105720001DD07448C16831434CE0D5E0CCE0C3E003 +:10573000BAE0B1E0A8E09AE08CE07DE06CE05EE0E9 +:105740004FE041E02FE026E01DE014E00BE0FFE732 +:105750000421CE043046FAF7F3FE012CE1D165486E +:10576000816831432CE004214E043046FAF7E8FE0C +:10577000012CF4D0D5E704210E053046FAF7E0FEFF +:10578000012CECD0CDE704210E043046FAF7D8FE08 +:10579000012CE4D0C5E704214E053046FAF7D0FECF +:1057A000012CDCD0BDE704210120FAF7C9FE5148E5 +:1057B000012C02D0C16801221CE081680122114342 +:1057C000816092E0C16090E004210846FAF7B8FEDB +:1057D0004848012C02D0C16804220BE081680422F1 +:1057E00036E004210220FAF7ABFE4248012C03D038 +:1057F000C16802221143E5E78168022228E0042102 +:105800000820FAF79DFE3B48012C02D0C16808220F +:10581000F0E7816808221BE004212020FAF790FEBF +:10582000012C03D03348C1682022E3E7314988685E +:1058300020221043886058E004211020FAF780FEEF +:105840002C48012C02D0C1681022D3E781681022B5 +:105850001143B5E704218020FAF772FE2548012C98 +:1058600002D0C1688022C5E781688022F0E7042168 +:105870004020FAF765FE1F48012C02D0C168402283 +:10588000B8E781684022E3E704214E023046FAF788 +:1058900057FE012C85D044E704210E023046FAF76A +:1058A0004FFE012CF6D03CE70421CE023046FAF739 +:1058B00047FE012CEED034E704218E023046FAF781 +:1058C0003FFE012CE6D02CE704214E033046FAF7C8 +:1058D00037FE012CDED024E704210E033046FAF710 +:1058E0002FFE012CD6D01CE7F025284670BD000005 +:1058F00080100040C010004010B50446FAF756FE74 +:105900000A214843C0082146F2F7E0FB0A21401D66 +:10591000F2F7DCFB0149888110BD00000030004037 +:1059200003498A789206920E800102438A7070477A +:1059300000300040064A0028507806D008435070D6 +:1059400010780821084310707047884350707047E2 +:105950000030004010B51C4908790007000F0428EA +:1059600004D02EDD06282DD00C282AD1887A174C99 +:1059700061782278090211430818012189028842BE +:1059800002D3002020706070607821780002084304 +:105990000F49401800F0E2F86178227809021143BB +:1059A00008182070000A60700A480B4900680871E6 +:1059B000020A4A71020C8A71000EC871074901205F +:1059C000087010BD487910BD0030004085060020E9 +:1059D000850200201000002087060020840200209D +:1059E000F8B5574E307801287ED1564C2279E179AE +:1059F00010466279090612021043A2792378120434 +:105A0000104308435049E278096812060D1A1846F7 +:105A100063781B021843A3781B0418431043854284 +:105A200062D92171080A6071080CA071080E474AFA +:105A3000E0715079464DC10768782B780002184311 +:105A40000027002917D0917A41181015814202D3FE +:105A50002F70380A687068782978000208433D4939 +:105A6000401800F07BF869782A7809021143081879 +:105A70002870000A61E01021377062181378C0B2F4 +:105A8000194653781B0219439378D2781B041943A3 +:105A900012061143FEF776FD1020201802781146F9 +:105AA0004278120211438278C07812041143000632 +:105AB000014368782A7800021043000A491CFEF767 +:105AC00061FD1020201801782B780A4641780902E0 +:105AD0000A438178C07809040A43000602436878C3 +:105AE00001021943701C00E028E0921CFEF71CFD27 +:105AF000102021180A7810464A78120210438A783A +:105B0000C97812041043090608430121890240188C +:105B10002074010A6174010CA174010EE1740E4934 +:105B2000884208D9092000042074010A6174010C1C +:105B3000A174000EE0742F70380A6870F8BD000080 +:105B40008402002087060020100000200030004062 +:105B50008506002085020020FF0F0900074A00216A +:105B6000937A002B07D0137A0370491C937A89B279 +:105B7000401C002BF7D10846704700000030004061 +:105B800000290AD0054AD37A082B04D0037813726F +:105B9000491E89B2401C0029F5D1704700300040F1 +:105BA00010B50446FAF702FD0A214843C008214611 +:105BB000F2F78CFA0A21401DF2F788FA0149888130 +:105BC00010BD00000034004003498A789206920E0E +:105BD000800102438A70704700340040064A002862 +:105BE000507806D008435070107808210843107090 +:105BF00070478843507070470034004010B51C490E +:105C000008790007000F042804D02EDD06282DD0C7 +:105C10000C282AD1887A174C617F227F0902114310 +:105C2000091801208002814202D30020207760778A +:105C3000607F217F000208430F49401800F0EAF816 +:105C4000617F227F0902114308182077000A6077DC +:105C50000A480B4900680870020A4A70020C8A70F0 +:105C6000000EC87007480121C17610BD487910BDEB +:105C700000340040840A0020A0060020100000200C +:105C8000A60A0020840600205A4AD07E01287DD131 +:105C9000F8B5594D2B78E97818466B7809061B0240 +:105CA0001843AB781B04184308435449544B096804 +:105CB0001C780E1A20465C78240220439C78DB78FE +:105CC000240420431B06184386427DD92970080A04 +:105CD0006870080CA870080E4A4BE87058794A4C56 +:105CE000C1074A480619DC140419607F277F0002A7 +:105CF00038430027002916D0997A41181815814297 +:105D000002D32777380A6077607F217F000208433B +:105D1000801900F07FF8617F227F09021143081883 +:105D20002077000A63E0D7760C216A181378C0B296 +:105D3000194653781B0219439378D2781B041943F0 +:105D400012061143FEF71EFC0C202818027811469B +:105D50004278120211438278C0781204114300067F +:105D60000143607F227F00021043000A491CFEF7B6 +:105D700009FC0C20281801780A46417809020A43D8 +:105D80008178C07809040A43000600E031E002434C +:105D9000607F237F010219433046921CFEF7C4FB4B +:105DA0000C2029180A7810464A78120210438A7883 +:105DB000C9781204104309060843012189024018DA +:105DC0002873010A697300E012E0010CA973010E47 +:105DD000E9730F49884208D9492040032873010A12 +:105DE0006973010CA973000EE8732777380A60778E +:105DF000F8BD704784060020A60A0020100000208D +:105E0000A20A0020003400401C040000840200208C +:105E1000FF2F0900074A0021937A002B07D0137A3D +:105E20000370491C937A89B2401C002BF7D10846B5 +:105E3000704700000034004000290AD0054AD37A98 +:105E4000082B04D003781372491E89B2401C002924 +:105E5000F5D170470034004010B50446FAF7A6FBB0 +:105E60000A214843C0082146F2F730F90A21401DB3 +:105E7000F2F72CF90149888110BD0000003800407C +:105E800003498A789206920E800102438A70704715 +:105E900000380040064A0028507806D00843507069 +:105EA000107808210843107070478843507070477D +:105EB0000038004010B51C4908790007000F04287D +:105EC00004D02EDD06282DD00C282AD1887A174C34 +:105ED000617D227D0902114309180120800281425F +:105EE00002D3002020756075607D217D000208438B +:105EF0000F49401800F0F0F8617D227D090211433E +:105F000008182075000A60750A480B490068087770 +:105F1000020A4A77020C8A77000EC87707480121E7 +:105F2000817510BD487910BD00380040A70E0020D3 +:105F3000BB0A002010000020A50E0020A40A0020AB +:105F40005C4A907D01287DD1F8B55B491C200B1877 +:105F50001C7820465C78240220439C78DB7824045B +:105F600020431B061843554B1B681E1A18200C189B +:105F70002578284665782D022843A578E4782D04F5 +:105F800028432406204386427ED90B77180A487797 +:105F9000180C8877180E4A4BC8775879494CC107B6 +:105FA000494800270619494C0419607D257D0002E7 +:105FB0002843002916D0997A41181815814202D336 +:105FC0002775380A6075607D217D000208438019BD +:105FD00000F082F8617D227D0902114308182075C6 +:105FE000000A64E03A4D977508216A181378C0B228 +:105FF000194653781B0219439378D2781B0419432E +:1060000012061143FEF7BEFA08202818027811463E +:106010004278120211438278C078120411430006BC +:106020000143607D227D00021043000A491CFEF7F7 +:10603000A9FA0820281801780A46417809020A437B +:10604000817800E035E0C07809040A430006024385 +:10605000607D237D010219433046921CFEF764FAED +:10606000082029180A7810464A78120210438A78C4 +:10607000C978120410430906084301218902401817 +:106080002872010A697200E012E0010CA972010E87 +:10609000E9721049884208D9252080032872010A34 +:1060A0006972010CA972000EE8722775380A6075D2 +:1060B000F8BD7047A40A0020A50E002010000020A3 +:1060C000003800403708000084020020230C000044 +:1060D000C50E0020FF4F0900074A0021937A002BCC +:1060E00007D0137A0370491C937A89B2401C002BA5 +:1060F000F7D10846704700000038004000290AD058 +:10610000054AD37A082B04D003781372491E89B24A +:10611000401C0029F5D170470038004010B50446F6 +:10612000FAF744FA0A214843C0082146F1F7CEFFA6 +:106130000A21401DF1F7CAFF0149888110BD000006 +:10614000003C004003498A789206920E8001024387 +:106150008A707047003C0040064A0028507806D0FC +:106160000843507010780821084310707047884326 +:1061700050707047003C004010B51C49087900077A +:10618000000F042804D02EDD06282DD00C282AD19B +:10619000887A174C617C227C09021143091801207E +:1061A0008002814202D3002020746074607C217CD4 +:1061B000000208430F49401800F0EAF8617C227C95 +:1061C0000902114308182074000A60740A480B4938 +:1061D00000680876020A4A76020C8A76000EC876B3 +:1061E00007480121417410BD487910BD003C0040B2 +:1061F000C6120020D60E002010000020C41200207D +:10620000C40E0020F8B5594D687C01287ED158494C +:1062100018200A181378184653781B0218439378ED +:10622000D2781B04184312061043524A1268161AF9 +:1062300014200B181C7820465C78240220439C789C +:10624000DB78240420431B06184386425ED90A7675 +:10625000100A4876100C8876100E474AC876507996 +:10626000464BC10746480027C618464BC4180029AC +:106270001BD0907A617C227C09021143091801200D +:106280008002814202D32774380A6074607C217CCA +:1062900000020843801900F07BF8617C227C09022F +:1062A000114308182074000A60746F74364D2A79FF +:1062B000E87911466A79000612021143AA7912049C +:1062C00011430143607C227C00021043C0B2FEF700 +:1062D00059F92A79E87911466A79000612021143C0 +:1062E000AA79120411430143607C227C000210430E +:1062F000000A491CFEF746F92979E8790A466979C6 +:1063000009020A43A97909040A4300E02DE00006C6 +:106310000243607C237C010219433046921CFEF745 +:1063200003F92A79E97910466A79090612021043BD +:10633000AA791204104308430121890240182871E8 +:10634000010A6971010CA971010EE9710F498842B6 +:1063500008D94B2040032871010A6971010CA97109 +:10636000000EE8712774380A6074F8BDC40E00206E +:10637000C412002010000020003C0040520C00001D +:106380008402002042100000E4120020FF6F090088 +:10639000074A0021937A002B07D0137A0370491C17 +:1063A000937A89B2401C002BF7D108467047000051 +:1063B000003C004000290AD0054AD37A082B04D0BB +:1063C00003781372491E89B2401C0029F5D1704729 +:1063D000003C0040F0B51E46080485B01446030E8C +:1063E000CAB26F460A9D08023A737B73000EB873F7 +:1063F000090EF97301910090029409A10120F9F7A7 +:1064000083FB0E482B46427B0DA10120F9F7BAFB16 +:10641000234603AA2946304600F086FD05B0F0BDAC +:1064200069703A25642E25642E25642E25642C205F +:10643000706F72743A25640A00000000AA00002000 +:10644000536F636B65742564206C656E3A256C64CC +:1064500000000000F0B51E46080485B01446030E87 +:10646000CAB26F460A9D08023A737B73000EB87376 +:10647000090EF97301910090029409A10120F9F726 +:1064800043FB0E482B46427B0DA10120F9F77AFB16 +:10649000234603AA29463046FEF718FD05B0F0BD95 +:1064A00069703A25642E25642E25642E25642C20DF +:1064B000706F72743A25640A00000000AA00002080 +:1064C000536F636B65742564206C656E3A256C644C +:1064D00000000000F0B51E46080485B01446030E07 +:1064E000CAB26F460A9D08023A737B73000EB873F6 +:1064F000090EF97301910090029409A10120F9F7A6 +:1065000003FB0E482B46427B0DA10120F9F73AFB15 +:10651000234603AA29463046FEF722FD05B0F0BD0A +:1065200069703A25642E25642E25642E25642C205E +:10653000706F72743A25640A00000000AA000020FF +:10654000536F636B65742564206C656E3A256C64CB +:106550000000000030B51C460804030E83B008029A +:10656000CDB2000E090E0292019100902A4606A1BA +:106570000120F9F7C9FA0B482346C27B0AA1012082 +:10658000F9F7C2FA03B030BD69703A25642E25646C +:106590002E25642E25642C20706F72743A25640AAF +:1065A00000000000AA000020536F636B657425642F +:1065B000205265636976653A2025730A0000000061 +:1065C00070B590B00D46064614463C216846F1F77A +:1065D000C0FD02210791094802904320C0000390AA +:1065E0000A9569460E943046F8F770FE020003D013 +:1065F00003490120F9F788FA10B070BD944B0020D0 +:1066000070B8010010B5112201A1F1F789FD10BD8C +:10661000424C562D43352D30312D3030312D303117 +:106620000000000010B4AA24047055244470827045 +:10663000120AC270542202713322427153228271B3 +:106640004122C27101724372190A81720549898A15 +:10665000C172090A017304498A784273C978817347 +:1066600010BC7047F8000020AA00002001464B2211 +:10667000520200208B1A91421BD009DC104A891A61 +:1066800013D05210891A12D0914200D103207047C2 +:106690000C4959180FD019229201891A0DD0E12204 +:1066A00012029142F3D10720704701207047022067 +:1066B000704704207047052070470620704700008F +:1066C0008025000040BBFFFFFFB58FB0002603967A +:1066D00004960596069607960446089609960A9625 +:1066E0000B960C96A27A407A1202801880B20E9015 +:1066F000272203200D92282941D95F48E17B81712F +:10670000217CC171617C0172A17C4172217DE07CA0 +:1067100009025A4F4018F968594AA0310871000A15 +:106720004871204606210F30FDF7A6FDA27C617C52 +:10673000207C029201910090F868E37BA0304179BF +:1067400000790A0202434FA10120F9F71BFAA07851 +:10675000010240182A38C2B22321F868802A0A545C +:106760000CD8214628312430F1F7DAFC25462035B3 +:10677000E97907A8002904D001290ED0022013B01E +:10678000F0BDF9680A7D920892000A751122474906 +:10679000F1F7C6FC08A806740CE0F9680A7D9208B7 +:1067A0009200521C0A7511224049F1F7B9FC0120F0 +:1067B00008A90874A979687909024118F86827229C +:1067C0000174090A4174217E0170E17D4170A17D4F +:1067D0008170617DC170217F0171E17E4171A17E77 +:1067E0008171617EC17129780172E17F4172A17F5F +:1067F0008172617FC17229790173E9784173A97847 +:1068000081736978C173217A03A80E9BFFF70AFF91 +:10681000F968487C0A7C00021043FF22B032401E17 +:1068200090420ED86846C676087DCF2210401030C0 +:106830008206920EF32080320124024008320A754B +:1068400002E002246946CC76272103A8FCF74EFA21 +:106850000D98174D00902A7B16A10120129BF9F785 +:1068600091F912980090287B0DAA03A9119BF8F7C3 +:10687000EBFE204613B0F0BDBA000020F800002067 +:1068800000E60800D4C6B6CB5446545020706F7250 +:10689000743A25303458202C2049503A25642E254E +:1068A000642E25642E2564200A0000001066010075 +:1068B000AA000020536F636B657449643A25642015 +:1068C0002C20706F72743A2578202C206C656E3AFB +:1068D000256C640A000000000146002008290AD245 +:1068E0000A007A44127992189744050306090C0F9E +:1068F00011144B20C0017047E120800170474B20EC +:10690000000270474B204002704704487047E12066 +:1069100000027047E120400270470000C0DA00002A +:10692000F3B5802101250326872781B0002859D09F +:10693000A84C01287DD002287CD0032850D1A06A21 +:1069400020210843A06201211020F9F7C3FD032193 +:106950002020F9F7BFFD04210120F9F7BBFDE06A13 +:106960002843E0620298FFF7D9FB9B488770C67006 +:106970004021417085730320FFF7E4FB05210120CE +:10698000FFF7EAFB9548A90401609648944904463C +:10699000F1F7DFFB20460299FDF718FF4B21490371 +:1069A00091480A0A017242720A0C82720A0EC2727D +:1069B00001710A0A42710A0C8271090EC171972194 +:1069C000090301700A0A42700A0C82700A0EC27032 +:1069D00086480A0A017742770A0C8277090EC17746 +:1069E00003B0F0BD824882680A4382600121102012 +:1069F000F9F7A6FD03218020F9F7A2FD0298FEF722 +:106A00007BFF7C488770C6704021417085730320EE +:106A1000FEF786FF05210120FEF78CFF01216F485C +:106A2000890201606E497448F1F793FB724802993C +:106A300001E025E07BE0FDF7C9FE092109046F486C +:106A40000A0A017542750A0C82750A0EC275017434 +:106A50000A0A42740A0C8274090EC1749121090356 +:106A600001730A0A42730A0C82730A0EC27301721E +:106A70000A0A42720A0C8272090EC17203B0F0BD9A +:106A8000A06A012149020843A06201210802F9F726 +:106A900021FD012003214002F9F71CFD0421CC0453 +:106AA0002046F9F74DFD5248C1682143C160029864 +:106AB000FFF776F852488770C670402141708573A1 +:106AC0000320FFF781F805210120FFF787F84348ED +:106AD000A11201604249484840180446F1F739FBC9 +:106AE00020460299FDF772FE4921490345480A0AEA +:106AF000017442740A0C82740A0EC27401730A0A89 +:106B000042730A0C8273090EC17393210903017247 +:106B10000A0A42720A0C82720A0EC27201710A0AD1 +:106B200042710A0C8271090EC17103B0F0BDA06AF6 +:106B30000843A06201214020F9F7CCFC032180200A +:106B4000F9F7C8FC04210220F9F7C4FCE06A02212D +:106B50000843E0620298FFF77FF92B488770C67000 +:106B60004021417085730320FFF78AF90521012038 +:106B7000FFF790F901211948490401602348184999 +:106B80000446F1F7E6FA20460299FDF71FFE25219B +:106B900089031F480A0A017342730A0C82730A0EA2 +:106BA000C27301720A0A42720A0C8272090EC17221 +:106BB0009521090301710A0A42710A0C82710A0EB9 +:106BC000C27101700A0A42700A0C8270090EC1700B +:106BD00003B0F0BD80100040003C004000E100E048 +:106BE0001B040000D50E0020E4120020C412002077 +:106BF000C0100040003000408402002087060020C2 +:106C000000340040A60A002000380040BA0A0020E4 +:106C1000C50E002070B50024084DFF26F5366879B2 +:106C2000400602D5E87A002806D0642004F005FE6C +:106C3000641CA4B2B442F2D970BD00000030004020 +:106C4000F0B50E46074619A1086883B04968009060 +:106C500000240191304604F0C3FF050009D03A46F4 +:106C60003146FDF75FFBA8192038C17F0A2903D000 +:106C700005E0FF2003B0F0BD807F0D2806D0012481 +:106C8000284603F0FBFF204603B0F0BD0020B61EEF +:106C9000002EF5DD69462A5C0B5C9A4201D0641C2B +:106CA000EEE7401CB042F6DBEAE700004A756D7083 +:106CB0003A310000F0B51BA20E4607465168106835 +:106CC00083B092680090002402920191304604F053 +:106CD00087FF050009D03A463146FDF723FBA81986 +:106CE0002038C17F0A2903D005E0FF2003B0F0BDA2 +:106CF000807F0D2806D00124284603F0BFFF2046E0 +:106D000003B0F0BD0020B61E002EF5DD69462A5CFA +:106D10000B5C9A4201D0641CEEE7401CB042F6DBEB +:106D2000EAE700005365617263683A3100000000D1 +:106D3000F0B5C5B0FF210024013102A8F1F709FA2E +:106D40004148FDF759FB414F4390B84205D24049B5 +:106D5000884202D9022045B0F0BD3E49401885B2B4 +:106D600044902806000E29D0280A401CC6B23A4892 +:106D70004290C012854200D90546002E27D93A46D6 +:106D8000294602A8FDF74AFA294602A8429AF9F7CD +:106D900075FA01942B46009630A10120429AF8F72B +:106DA000F1FE42987F19401942904398FF21C01B81 +:106DB00080B20131884203D90D4604E02E0AD6E79D +:106DC000002804D00546641CE4B2B442D7D3019431 +:106DD0002B46009630A10120429AF8F7D3FE0125F8 +:106DE000601CED04B04218D144981B4980B244188D +:106DF000224638A10120F8F7C5FE69460C72200A28 +:106E00004872200C8872200EC8722A46042102A8FB +:106E1000F9F734FA012045B0F0BD3346224637A1D8 +:106E20000120F8F7AFFE00206A461072012151726E +:106E300008219172D0722A46042102A8F9F71EFA9D +:106E4000022045B0F0BD00000066080000670800A1 +:106E5000FFE508000099F7FF00010800424C564387 +:106E60006F6E66696720777269746520466C61731E +:106E70006820616464723A2025303858204C656E71 +:106E80003A25642074656D705F6E756D3A256420D7 +:106E9000693A256400000000424C56436F6E6669F3 +:106EA0006720777269746520466C6173682061643D +:106EB00064723A2025303858204C656E3A2564209B +:106EC00074656D705F6E756D3A25642020693A2592 +:106ED00064000000424C56436F6E6669672077720B +:106EE00069746520466C6173682053756363203A4A +:106EF000253038582121212100000000424C564302 +:106F00006F6E66696720777269746520466C61737D +:106F100068204661696C20693A25642C4E756D3A8B +:106F20002564212121210000FFB50446007881B0AD +:106F30000D46AA2831D1607855282ED1E178A07865 +:106F40000902401881B20846734A1138904224D889 +:106F50002079542821D1607933281ED1A079532873 +:106F60001BD1E079412818D16C4E207AF26868284C +:106F70007CD022DC0F2870D011DC01286FD00A28C9 +:106F80003AD00E2809D166A10120F8F7FBFD6A4826 +:106F9000FDF732FA6949FDF71FFB05B0F0BD302857 +:106FA00079D03128F9D1A9B22046049B039A01F087 +:106FB000F1FAF0281AD005B0F0BDA2283AD009DCC9 +:106FC000702869D07128F6D15DA10120F8F7DAFDAB +:106FD00005B0F0BDD1287DD0D228F9D1A9B2204684 +:106FE000049B039A00F000F9F028F1D15FA1012081 +:106FF000F8F7C8FD05B0F0BD62A10120F8F7C2FDA9 +:10700000292D05D063A10120F8F7BCFD05B0F0BD26 +:10701000F068002803D1A62004F0E2FDF060A6216C +:10702000F1F797F829212046049B039A00F026FBEC +:1070300005B0F0BD002A03D1A62004F0D1FDF06018 +:10704000A621F068F1F785F8A9B22046049B039ABF +:1070500001F03AF905B0F0BD08E01EE0FFE7A9B283 +:107060002046049B039A00F01BFDF3E7002A03D19E +:10707000A62004F0B5FDF060A621F068F1F769F8EC +:1070800048A10120F8F77EFDA9B22046049B039A8F +:10709000FFF71AFBDEE725E037E012398DB2E27B1D +:1070A0002B4645A10120F8F76DFDA17A607A0E020A +:1070B0000643E07B4A49FDF765FA4A4F20463A46C7 +:1070C00029461030FDF7D8F81B21E819C902FDF751 +:1070D00083FA00E010E031460F20049B039A00F091 +:1070E000A1FBB7E7A9B22046049B039A00F0D6FBA8 +:1070F000F02800D17AE7ADE7A9B22046049B039AB5 +:1071000000F068F9F028F5D0A4E7A9B22046049B66 +:10711000039A00F0B7FD9DE701020000F80000208F +:10712000B7BFBCE4C9E8B1B8C9CFB1A8C3FCC1EED0 +:10713000BBD8B8B40D0A000008D0000004D000008D +:107140004E65742055445020496E5F5365726961E5 +:107150004E65745265706F727465645F436D642030 +:1071600052656C6179210D0A000000004E657420A3 +:1071700055445020435243204552524F52210D0A4C +:10718000000000005446545020C9FDBCB6C3FCC1E9 +:10719000EE0A0000CAFDBEDDB3A4B6C8B2BBB6D4C9 +:1071A0000A000000D4C6B6CB5446545020C9FDBCDA +:1071B000B6C3FCC1EE0A0000B7FECEF1C6F7CFC2DF +:1071C000B7A2C9E8B1B8BFD8D6C6CAFDA3BA25646C +:1071D0002CCAFDBEDDB3A4B6C8A3BA25640D0A004F +:1071E0000CD8000010D80000FFB504464018203825 +:1071F000827FC07F891E0002101885B289B089B2D3 +:107200002046FBF797FDA84202D0F0200DB0F0BD5C +:10721000002612210696039601960296049605967C +:107220000891A17A607A0902401880B2024607905C +:1072300035463CA10120F8F7A5FC207C434F0128EE +:107240000CD0E17B88420BD24148FDF7D5F80546CA +:10725000B8421BD23F48854217D817E03D4615E09B +:10726000884212D1012006903948FDF7C5F805463D +:107270003748FDF7C1F8024637A10120F8F782FC34 +:10728000BD4203D23348854200D902260095237CB3 +:10729000E27B3AA10120F8F775FCE078A1780002C2 +:1072A0001338081887B2FF20EB30874220D8022E0F +:1072B0001ED020462A4639461130FCF7DDFF244C0B +:1072C000E8192146FDF788F92046FDF795F80246B2 +:1072D00021A10120F8F756FC0698002806D0FFF7F8 +:1072E00027FD024632A10120F8F74CFC012400E002 +:1072F00002241222D22101A8079BFFF793F96846C6 +:10730000C474122101A8FBF7F1FC0C9800903048DE +:1073100008AA007B01A90B9BF8F796F900200DB095 +:10732000F0BD0000424C56436F6E6669675F507255 +:107330006F63657373207061636B5F6672616D6507 +:10734000203A2025303458200D0A0000006708003C +:1073500000660800FFE50800424C56436F6E666900 +:10736000675F50726F63657373207772697465200D +:10737000616464723A253038580D0A00424C564315 +:107380006F6E6669675F50726F63657373204E55E9 +:107390004D203A2564207061636B5F6E756D203AF5 +:1073A00020256420616464723A253038580D0A0043 +:1073B0005564705F436F6E6669675F5372616D5F9E +:1073C000746F5F466C617368207265763A2564005D +:1073D000AA000020FFB5044640182038827FC07FF5 +:1073E000891E0002101885B283B01E4689B220465D +:1073F000FBF7A0FCA84202D0F02007B0F0BDF8F7E0 +:107400007BFE05464000281812300190801C009039 +:1074100004F0E6FB07460099F0F79BFEA17A607A3C +:107420000902401883B20198D12182B23846FFF791 +:10743000F9F83846FD7329461030F9F757F90198E5 +:1074400081B23846FBF752FC06480096007B01AA41 +:107450003946059BF8F7F8F8384603F00FFC002092 +:1074600007B0F0BDAA000020614862490068CA69FF +:10747000821A0A2A77D9F8B5C8611B20C002FCF726 +:10748000BBFF5D49002688426ED0081FFCF778FFDD +:1074900000250746002868D92C4606204443564854 +:1074A0002018FCF76DFF012804D0052823D00728F9 +:1074B00047D17CE00021F120F8F7E8FD00909F2102 +:1074C000FF380902013888427CD24C482018FCF76A +:1074D00057FF06464A482018FCF752FF0446034669 +:1074E000324648A10120F8F74DFB761EF6B222463F +:1074F0003146009857E00021F120F8F7C7FD024619 +:10750000FF389F2101380902884204D34DA1012090 +:10751000F8F738FB60E03A482018FCF731FF0446E2 +:107520000346324637A10120F8F72CFB0720400321 +:10753000FCF726FF0646012C04D0022C16D0062CA0 +:1075400025D049E00021F120F8F7A0FD7D23044675 +:10755000DB0001220C21F6F73DFA02220D21204624 +:10756000F6F7D7F938E042E040E03AE00021F120B8 +:10757000F8F78CFD044602220C21F6F7CAF97D23A8 +:10758000DB0001220D212046F6F724FA24E0002139 +:10759000F120F8F77BFD044602220C21F6F7B9F939 +:1075A00002220D212046F6F7B4F915E00AE0012188 +:1075B0000720F8F76BFD00909F21FF380902013882 +:1075C000884201D3009AA1E70D482018FCF7D8FEA5 +:1075D00001460098F5F7B0FD6D1CEDB2BD4200D23A +:1075E0005AE71B210448C902FCF7F6FFF8BD7047B3 +:1075F00010000020F800002010D8000012D8000071 +:1076000014D800005564705F496E7465726E616CC9 +:107610005F4465765F436F6E74726F6C20433549CB +:107620004F204C6F6F703A253032582020737461B0 +:1076300072743A253032582D2D2D2D2D2D2D2D0DD6 +:107640000A0000005564705F496E7465726E616C6B +:107650005F4465765F436F6E74726F6C204465762D +:1076600061646472204661696C25303858202D2D84 +:107670002D2D2D2D2D2D0D0A00000000F0B50446F6 +:1076800091B000200490059006900790089016464F +:1076900009900A900B900C900D90A27A607A1202D9 +:1076A000801880B20090262003271D4610902929BB +:1076B00006D049A10120F8F765FA384611B0F0BDAF +:1076C0004948290A05734173317881717178C17114 +:1076D000B1780172F1784172307808A90876707833 +:1076E0004876B0788876F078C8760D77280A48779B +:1076F0003E4A06210EA8FCF7BFFD3D4FFD80F8680D +:10770000002806D1A62004F06BFAA621F860F0F755 +:1077100020FDF868017D8908890001752146203126 +:107720008B794A791B02D2180274120A4274227EA3 +:107730000270E27D4270A27D8270627DC270227F03 +:107740000271E27E4271A27E8271627EC2710A780B +:107750000272E27F4272A27F8272627FC2720A79F3 +:107760000273CA7842738A7882734978C173217A26 +:10777000262204A8009BFEF755FF00206A46F96800 +:10778000D077087DCF22104010308006800E403028 +:107790000875012408A811221649F0F7C1FC26211A +:1077A00004A8FBF7A3FAF078B178727801910290FF +:1077B00003950092104F33783A7B10A10120F8F71F +:1077C000E1F90095387B334610AA04A9F7F73CFF8E +:1077D000204611B0F0BD0000CAFDBEDDB3A4B6C89E +:1077E000B2BBB6D40A000000BA00002000E60800D0 +:1077F000F800002010660100AA000020536F636BA0 +:10780000657449643A2564202C2049503A25642E39 +:1078100025642E25642E2564202C20706F72743A06 +:1078200025640A00F0B5074683B011201C461546B2 +:107830000E46029004F0D4F901900EA10120F8F751 +:10784000A1F90298334682B239460198FEF7EAFE62 +:10785000029881B20198FBF749FA0F480094007B27 +:107860002B4602AA0199F7F7EFFE019803F006FAFA +:1078700003B0F0BD5564705F496E7465726E616CE3 +:107880005F50726F636573735F41636B202D2D2DA5 +:107890002D2D2D2D2D0D0A00AA000020FFB5064626 +:1078A00040182038827FC07F891E0002101884B2E1 +:1078B00083B089B23046FBF73DFAA04202D0F020F7 +:1078C00007B0F0BDF07B0121C00012300025490255 +:1078D0000290884200D90291029CA41C204604F028 +:1078E0007FF921460190F0F734FCB17A707A0902F1 +:1078F000401883B20298302182B20198FEF792FEBE +:10790000F07B232803D901982321C17301E0019959 +:10791000C8730198C07B00282ED9A8008019C17CAB +:10792000827C0B021A431302427CEC001A431302BE +:10793000027C1A43019BE418E174817CA174417CB0 +:107940006174007C2074164810180090FCF754FDF8 +:107950000746034613A10120009AF8F713F9380EE1 +:10796000E075380CA075380A6075277501986D1C94 +:10797000C07BEDB2A842D0D8029881B20198FBF743 +:10798000B5F9069800900E4802AA007B059B019964 +:10799000F7F75AFE019803F071F9002007B0F0BD27 +:1079A00000E8080074656D705F6F66667365743A11 +:1079B0002530385820646174613A25640000000065 +:1079C000AA00002070B590B00020049005900690A9 +:1079D0000790089009900A900B900C900D900E90D3 +:1079E00026200F901D4E1E4A04210EA8FCF79AFC7B +:1079F0001C48FCF7C5FC05461B48FCF7C1FC04020B +:107A00001A482C43C480334626220A2104A8FEF7D4 +:107A100009FE01206A46D07708A811221449F0F720 +:107A20007FFB262104A8FBF761F908AAD07E917E8E +:107A3000527E009201910290039408AA0D4D137E8C +:107A40002A7B0DA10120F8F79DF80094287B0EAB4E +:107A50000FAA04A9F7F7F8FD10B070BD018000006F +:107A600000E6080004E6080005E60800F80000202B +:107A700010660100AA000020536F636B65744964AF +:107A80003A2564202C2049503A25642E25642E2561 +:107A9000642E2564202C20706F72743A25640A00CD +:107AA000FFB597B00D4604463C2101A8F0F751FB05 +:107AB0000320112D01D01C2D36D1A17A607A090244 +:107AC000401886B228465B4D5B4F112802D01C2817 +:107AD0007ED124E059A10120F8F754F85B4B3878A7 +:107AE0009E4203D1C007C00F001D02E0C007C00FB7 +:107AF000801C38701122022110A8FEF793FD11217D +:107B000010A8FBF7F3F811201690F87BB97B000260 +:107B100008430090287BBB1C16AA10A95FE0012037 +:107B2000C003864202D302201BB0F0BD617E207EDE +:107B300009024018E17C80B2012955D044A10120FE +:107B4000F8F720F8414B3C22012101A8FEF76AFD1D +:107B5000B8786946C874F8780875387948757879BE +:107B60008875287AC875687A0876A87A4876E87A97 +:107B700088762879C87668790877A8794877E87987 +:107B80008877374808A902784A7042788A708278E4 +:107B9000CA70C2780A7102794A71407988710D20E1 +:107BA0006946C87708A90870C81D11222D49F0F749 +:107BB000B7FA2D4808A94278CA7682780A77C07841 +:107BC00048773C2101A8FBF791F83C20159000E094 +:107BD00007E01A980090287B15AA01A9199BF7F7CE +:107BE00033FD01201BB0F0BD217DBA78914211D147 +:107BF000617DFA7891420DD1A17D3A79914209D106 +:107C0000E17D7A79914205D1F97BBA7B0902114372 +:107C100081420AD0B873000AF873207DB870607D85 +:107C2000F870A07D3871E07D787110A10120F7F720 +:107C3000A9FF87E7AA000020BA000020D7A2B2E17E +:107C4000C3FCC1EEBBD8B8B4A3A10000FFFF000085 +:107C5000CAD5B5BDCBD1CBF7C3FCC1EEA3A1000003 +:107C6000A40000201066010010010020CAD5B5BD97 +:107C7000B7FECEF1C6F7CBD1CBF7C3FCC1EEA3A1C3 +:107C800000000000FFB58BB004460C982018203887 +:107C9000817FC07F0002081885B20C98801E81B2D7 +:107CA0002046FBF747F8A84202D0F0200FB0F0BD05 +:107CB00000200390049005900690079013200890F0 +:107CC000A17A607A0902401880B20990AA4A042178 +:107CD0000D98FCF7D1FAA9490E98FCF792FC0D9883 +:107CE0000E9AC1788078009001910D9802924378A5 +:107CF0000278A3A10120F7F745FFE07BB04FB14D1B +:107D0000B14E012804D0022847D0032844D101E114 +:107D10001322702103A8099BFEF784FC0120694609 +:107D2000C876207C012804D002280FD003281AD05E +:107D300025E0A64800780877A54800683070010A59 +:107D40007170010CB170000EF07018E0A14800785D +:107D500008779F4800682870010A6970010CA970B3 +:107D6000000EE8700BE09C4800780877984800689F +:107D70003870010A7970010CB970000EF870132187 +:107D800003A8FAF7B3FF0E980090944808AA007B66 +:107D900003A90D9BF7F758FCEAE01322702103A812 +:107DA000099BFEF73FFC02216A46D176012010773D +:107DB000207C4B23DB01012805D0022833D0032887 +:107DC0007DD01177DBE7607CFEF786FD3074010A19 +:107DD0007174010CB174010EF17498420DD014212C +:107DE00072181378194653781B0219439378D27886 +:107DF0001B041943120611438847A07C40003071D0 +:107E0000010A7171010CB171000EF0716F48E17CD3 +:107E100001706F4800683070010A7170010CB17018 +:107E2000000EF070ABE7607CFEF756FD2874010A87 +:107E30006974010CA974010EE97498420DD01421E3 +:107E40006A181378194653781B0219439378D2782D +:107E50001B041943120611438847A07C4000287177 +:107E6000010A6971010CA971000EE871E07C594C9E +:107E70002070574800682870010A6970010CA970C9 +:107E8000000EE8701020281801780A46417809028F +:107E90000A438178C07809040A430006024350A1CE +:107EA0000120F7F76FFE2979E8790A466979090216 +:107EB0000A43A97909040A430006024300E009E0E5 +:107EC0004DA10120F7F75EFE227853A10120F7F7BC +:107ED00059FE54E7607CFEF7FFFC3874010A7974A0 +:107EE000010CB974000EF874A07C40003871010ACE +:107EF0007971010CB971000EF8713748E17C01709D +:107F0000334800683870010A7970010CB970000EAE +:107F1000F87034E7207C012804D002280CD0032814 +:107F200014D01CE02A4800683070010A7170010CFE +:107F3000B170000EF07012E0254800682870010A48 +:107F40006970010CA970000EE87008E02048006814 +:107F50003870010A7970010CB970000EF8700C9835 +:107F60002246143883B2617C207C123200F09EFBE2 +:107F700000200FB0F0BD000000E6080004E6080095 +:107F80005564705F496E7465726E616C5F536572A3 +:107F900069614E65745F50726F63657373204950F9 +:107FA0003A253032582E253032582E253032582E70 +:107FB0002530325820506F72743A25640D0A000043 +:107FC0005929002094290020CD290020CB29002008 +:107FD000140000209229002057290020AA00002028 +:107FE0004163743438355F496E666F2E6261756423 +:107FF0003A2564200D0A00004163743438355F4926 +:108000006E666F2E706173735F6F757474696D65E2 +:108010003A2564200D0A00004163743438355F4905 +:108020006E666F2E706F72745F6D6F64653A256453 +:10803000200D0A0070B5132484B02046019403F08B +:10804000CFFD05460020029021462846F0F781F832 +:108050001D4C607C217C000208430121C903421AA7 +:108060008B1E9A4203D2401C2074000A01E0217446 +:10807000080A6074154A042102A8FCF7CFF81448D6 +:10808000FCF7CFF90646607C217C030201980B4384 +:1080900082B270212846FEF7C5FA0320E8732874DF +:1080A000019881B22846FAF721FE0A480096007B23 +:1080B00002AB01AA2946F7F7C7FA284602F0DEFD0F +:1080C000002004B070BD0000BA00002000E60800E7 +:1080D00004E60800AA000020F7B586B01646104650 +:1080E000FCF79FF9FF21E1310390884200D9039109 +:1080F0000398054603F074FD0446002004902946C9 +:108100002046F0F726F82C4D687C297C00020843B5 +:108110000121C903421A8B1E9A4203D2401C2874C3 +:10812000000A01E02974080A6874244A042104A89A +:10813000FCF774F82248FCF774F907466846C17CDE +:10814000807C0191009002976846437C027C1D4927 +:108150000120F7F717FD0398B21C81B220461130B9 +:10816000FCF75CF818A10120039AF7F70BFD0398C0 +:1081700013300390697C2A7C0B02134382B2712175 +:108180002046FEF74FFA0698E0730798FEF76EFA5E +:108190002074039881B22046FAF7A8FD154800978D +:1081A000007B04AB03AA2146F7F74EFA204602F003 +:1081B00065FD002009B0F0BDBA00002000E608000F +:1081C00004E6080094F901005564705F496E746517 +:1081D000726E616C5F53657269614E65745F557054 +:1081E0006C6F6164696E67204C656E3A25640D0A98 +:1081F00000000000AA000020FFB507461333FF204F +:1082000083B0E13015460193834200D90190019E6D +:10821000761C304603F0E4FC044600200290314610 +:108220002046EFF796FF244E707C317C0002084315 +:108230000121C903421A8B1E9A4203D2401C30749A +:10824000000A01E03174080A70741C4A042102A873 +:10825000FBF7E4FF1A48FCF7E4F80090707C317CEF +:10826000030201980B4382B271212046FEF7DAF92E +:10827000E7730498FEF7FAF9207401990020132996 +:1082800008D0295C221851740199401C80B213391E +:108290008842F6D3019881B22046FAF727FD0948B3 +:1082A00002AB007B01AA2146F7F7CEF9204602F087 +:1082B000E5FC002007B0F0BDBA00002000E6080091 +:1082C00004E60800AA000020F0B5022789B01D4688 +:1082D00016460446292902D0384609B0F0BD434865 +:1082E000290A05734173317881717178C171B17850 +:1082F0000172F1784172307869460871707848717E +:10830000B0788871F078C8710D72280A4872384ABE +:10831000062101A8FBF7B0FF3648C580C0680028D9 +:1083200007D1A62003F05CFC3249C860A621EFF714 +:1083300010FF3048A17CC0680170617C4170217CD5 +:108340008170E17BC170A17D0171617D4171217DF1 +:108350008171E17CC171A17E0172617E4172217ED9 +:108360008172E17DC172A17F0173617F4173217FC1 +:108370008173E17EC173E17F203422781202891873 +:1083800089B201740A0A4274027D491E9208920061 +:10839000521C02753F2909D8CF210A40103291069C +:1083A00001270024890E4031017500E003240020DC +:1083B000039004900590069007900F4B1222A22183 +:1083C00003A8FEF72FF96846C476122103A8FAF72E +:1083D0008DFC1220089009480095007B334608AABE +:1083E00003A9F7F731F9384609B0F0BDBA0000200B +:1083F00000E60800F8000020FFFF0000AA000020AF +:10840000F8B53E4C3E4E20783E4D002806D001285F +:108410001CD0022801D1F9F791F9F8BDF6F7DCFC80 +:108420000228FAD338480078C007F6D037A10120D7 +:10843000F7F7A8FB3F4A40494048FEF7C1F83068CB +:10844000A060012020702946002028E03068A16843 +:10845000411A0A29E1D33A4FA0603846FBF790FF52 +:108460000226012806D03846FBF78AFF022823D0CF +:108470002670F8BD33A10120F7F784FBFFF7A2FABD +:1084800000280FD034A10120F7F77CFB2846FBF72A +:1084900077FF052800D32670401CC0B22946FCF7A0 +:1084A00071F8F8BD2FA10120F7F76CFB3946FF20CA +:1084B000FCF768F82670F8BD2DA10120F7F762FBE4 +:1084C000F7F728FA00280FD023A10120F7F75AFB6D +:1084D0002846FBF755FF052800D32670401CC0B284 +:1084E0002946FCF74FF8F8BD27A10120F7F74AFB12 +:1084F0003946FF20FCF746F82670F8BDF80000204A +:10850000A000002007E60800BA00002020CDF8C235 +:10851000E7B3F5CABCBBAFCDEAB1CF20A3AC20BF57 +:10852000AACABCB4B4BDA8CCD7BDD3D7D62E2E2EE4 +:1085300020000000D56301000D0D0000B6000020F2 +:1085400006E60800BBD8B8B42DCDF8C2E7C9FDBC1B +:10855000B6B3C9B9A62E2E00BBD8B8B4CAA7B0DC32 +:10856000A3A10000BBD8B8B4B3C9B9A6A3A10000A9 +:10857000BBD8B8B42DD4C6B6CBCDF8C2E7C9FDBCC4 +:10858000B6B3C9B9A62E2E00BBD8B8B4B3C9B9A624 +:10859000A3A10A00FFB5054640182038827FC07F9E +:1085A000891E0002101884B285B089B22846FAF7F5 +:1085B000C1FBA04202D0F02009B0F0BD1220142669 +:1085C00002900024304603F00BFB31460190EFF798 +:1085D000C0FDA97A687A0902401883B20298312155 +:1085E00082B20198FEF71EF801200090EE7B232E48 +:1085F00000D92326002E2DD9E0004019C17C077D2B +:108600000A02817C11430A02417C11430A02017C67 +:108610001143C27D1302827D1A431302427D1A4820 +:108620001A43120208181743024603903B4617A14B +:108630000120F7F7A7FA38460399FBF7CDFF039817 +:10864000FBF7DAFEB84201D002200090641CE4B2CD +:10865000B442D1D3FBF73AFC01990098C873029851 +:1086600081B20198FAF742FB089800900E4802AADE +:10867000007B079B0199F6F7E7FF019802F0FEFAED +:10868000002009B0F0BD000000E8080074656D70BE +:108690005F6F66667365743A25303858206461747C +:1086A000613A256400000000AA000020FFB5012502 +:1086B000AD0281B01E460F4600285CD001287DD057 +:1086C00002287CD0032854D1A74C1C202018027803 +:1086D00011464278120211438278C0781204114385 +:1086E000000601431846FBF78CFF1C202018027877 +:1086F00011464278120211438278C0781204114365 +:10870000000601433846891CFBF73CFF1C2020185B +:1087100001780A46417809020A438178C078090441 +:108720000A43000602433146D21C0398FBF7A4FD1E +:108730001C2021180A7810464A78120210438A78C1 +:10874000C978120410430906084340192077010A2A +:108750006177010CA177010EE1778449884208D93D +:10876000972000032077010A6177010CA177000EA2 +:10877000E07705B0F0BD7E4C082020180278114645 +:108780004278120211438278C07812041143000625 +:1087900001431846FBF735FF0820201802781146E0 +:1087A0004278120211438278C07812041143000605 +:1087B00001433846891CFBF7E5FE01E035E083E024 +:1087C0000820201801780A46417809020A43817876 +:1087D000C07809040A43000602433146D21C0398BC +:1087E000FBF74AFD082021180A7810464A78120241 +:1087F00010438A78C97812041043090608434019C7 +:108800002072010A6172010CA172010EE1725949D4 +:108810008842AED9912000032072010A6172010CD6 +:10882000A172000EE07205B0F0BD534C2279E079E0 +:1088300011466279000612021143A2791204114313 +:1088400001431846FBF7DDFE2279E0791146627993 +:10885000000612021143A279120411430143384663 +:10886000891CFBF78FFE2179E0790A4661790006C1 +:1088700009020A43A17909040A4302433146D21C82 +:108880000398FBF7F9FC2279E17910466279090631 +:1088900012021043A27912041043084340192071B8 +:1088A000010A6171010CA171010EE1713349884225 +:1088B000B9D9932000032071010A6171010CA171E3 +:1088C000000EE07105B0F0BD2D4C2278E078114625 +:1088D0006278000612021143A27812041143014388 +:1088E0001846FBF78EFE2278E07811466278000683 +:1088F00012021143A2781204114301433846891C25 +:10890000FBF740FE2178E0780A466178000609020C +:108910000A43A17809040A4302433146D21C039852 +:10892000FBF7AAFC2278E178104662780906120269 +:108930001043A27812041043084340192070010A22 +:108940006170010CA170010EE1700E498842B9D925 +:10895000952000032070010A6170010CA170000EC7 +:10896000E07005B0F0BD0000C4120020FF7F0900D8 +:1089700087060020FF1F0900A60A0020FF3F09000C +:10898000C50E0020FF5F09000FB410B503A9044B0A +:10899000044A029800F032F910BC08BC04B0184731 +:1089A0006DAC0100780200200FB41CB50246002017 +:1089B00007AC00290BD0491E01910092064B6A4674 +:1089C0002146069800F01AF9009A002111701CBC8B +:1089D00008BC04B018470000359301000FB410B56F +:1089E00004A9074B02AA039800F008F9044602A95B +:1089F000002000F0AAFC204610BC08BC04B01847B8 +:108A00004B93010010B5024B024A00F0F7F810BD7D +:108A10006DAC0100780200202021020C01D0102151 +:108A20001046020A01D010460839020901D010464A +:108A3000091F820801D01046891E420801D0881EF5 +:108A40007047081A7047002101608180817170476A +:108A500030B47446641E2578641CAB4200D21D46B7 +:108A6000635D5B00E31830BC184702E008C8121FC2 +:108A700008C1002AFAD170477047002001E001C107 +:108A8000121F002AFBD17047F0B51FB486B00998B9 +:108A9000089A030D0021024314D05148514A181876 +:108AA000504305141198012810981AD0281A401C18 +:108AB00000264D4F4D49009601910490002812DA8E +:108AC000444211E01198012449A3012801D11098D2 +:108AD000C1430698119A84600360C26041600BB084 +:108AE000F0BD4042E4E70446210500203F4A001C57 +:108AF00051410391029012E0E00707D032463B4615 +:108B000001990098EFF74CFC0191009032463B46EA +:108B100010461946EFF744FC06460F466410002C39 +:108B2000EAD10498039B0028029A0999089806DA6A +:108B3000EFF736FC019B009AEFF732FC05E0EFF708 +:108B400097FC019B009AEFF793FC04460E46002227 +:108B5000284BEFF725FD03D80020C043014607E06E +:108B60000022254B20463146EFF768FBEFF7F8FC73 +:108B7000102409E0002C0ADB0A220023EFF72EFB69 +:108B8000079B30321A55641E02460A43F2D1112265 +:108B9000641C079B121B1C19119B012B03D0012382 +:108BA00008430ED10AE0084304D0112010900020A1 +:108BB000119077E71098151A6D1E0BE010988242FD +:108BC00002DD00236D1C03E0824201DA00236D1EEA +:108BD000002BEED0069811998260C16030C07EE70C +:108BE00001FCFFFF104D0000000014400000F03FAA +:108BF000300000000000F0430000E03FFFB597B0F8 +:108C00000646002518E2252877D100242746FD498D +:108C1000049400E00443761C32780120203A90400E +:108C20000842F7D130782A280ED002223078014647 +:108C30003039092916D804990A2359433039401884 +:108C40001443761C0490F1E7189802C80491189018 +:108C5000002904DA01204003044348420490022022 +:108C60000443761C30782E2814D1042004437078F5 +:108C7000761C2A2809D11898761C80C8189009E01B +:108C80000A214F43303FC719761C307801463039EE +:108C90000929F5D930786C2810D006DC4C281AD078 +:108CA00068280ED06A2817D104E0742813D07A28D7 +:108CB00012D110E00120400504430CE00121090518 +:108CC00001E0032109050C437178814203D10120A1 +:108CD00000052418761C761C3078119066280BD07D +:108CE00013DC58287DD009DC00287BD04528F6D03D +:108CF0004628F4D047281AD1A5E118E0632835D0DA +:108D0000642870D0652812D19DE170286CD008DCF1 +:108D10006728F1D069287BD06E280DD06F2806D146 +:108D2000BAE073282ED0752871D0782859D01A9AB5 +:108D3000199990476D1C7EE16002400F022809D00E +:108D400003280DD00428189801680DD00D60001D6F +:108D5000189070E11898EA1701680D604A60F6E70C +:108D6000189801680D80F2E70D70F0E718986A46D0 +:108D700001781172001D18900020507202A8009016 +:108D8000012005E0189802C8189000200091C04307 +:108D900061070DD5002101E00199491C0191B942FB +:108DA00012DA8142F8DB009A515C0029F4D10BE021 +:108DB000002101E00199491C01918142FADB019AED +:108DC0000099895C0029F5D1019904981A9B471AEA +:108DD00021463846199A00F097FA0199401945182A +:108DE0000BE04FE02CE113E04EE000980099007892 +:108DF000491C00911A9A199990470198401E0190B8 +:108E0000401CF2D1214638461A9B199A10E137E0EE +:108E10000A200021009001916002410F022907D031 +:108E2000189A01CA1892C2179446032908D00AE07A +:108E30001898C01DC108C90005C91891944607E0DB +:108E400000B2C2179446042902D140B2C1178C4621 +:108E500000226146944506DA0A46002140429141CB +:108E60008C462D2102E0210504D52B216A46117381 +:108E7000012103E0E10701D02021F7E7029155E04D +:108E80000A200AE0102008E01020009000210420B1 +:108E900004430191082703E008200021019100907C +:108EA0006002410F022907D0189A01CA18920022C5 +:108EB0009446032908D008E01898C01DC108C900CD +:108EC00005C91891944603E080B2042900D1C0B2CC +:108ED00000210291210729D51199702906D0009A05 +:108EE0001021019B4A401A4305D00EE040216A46FA +:108EF0001173012108E06146014306D030216A4622 +:108F000011731199517302210291009A0821019B5A +:108F10004A401A430AD16146014301D1610705D590 +:108F200030216A46117301217F1E0291119958293F +:108F300004D035A10E910DA90D910DE037A1F9E7EF +:108F40006146019B009AEFF749F90E9B8C469B5CAA +:108F50000D9A521E0D92137061460143F0D10D9887 +:108F600005A9081A20300190600703D501200004EC +:108F7000844300E001270198874201DD381A00E0B0 +:108F80000020019900904118029809180498401A8D +:108F90000490E00306D421461A9B199A049800F025 +:108FA000B3F94519002706E003A81A9AC05D19997C +:108FB00090476D1C7F1C02988742F5DBE0030CD5BF +:108FC00021461A9B199A049800F09EF9451904E06D +:108FD0001A9A3020199990476D1C0099481E0090EC +:108FE0000029F5DC08E00D980D990078491C0D91D9 +:108FF0001A9A199990476D1C0199481E01900029F1 +:10900000F1DC63E109280100303132333435363781 +:1090100038396162636465660000000030313233C4 +:109020003435363738394142434445460000000064 +:1090300000F05AF94519761C3078002800D0E2E596 +:1090400028461BB0F0BD600700D406271898C01D45 +:10905000C108C90048680A680831C30FDB071891C6 +:10906000190001D09CA108E0210501D59BA104E0D5 +:10907000E10701D09AA100E09AA1430011985B0892 +:10908000109165280CD006DC452809D046281DD053 +:10909000472841D141E0662818D067283CD13CE000 +:1090A0000021112F01DB112000E0781C01910090BC +:1090B00008A911A8FFF7E8FC139905910021119A5E +:1090C00015927F1C12980197009150E00120C00773 +:1090D00003900120019008A9009711A8FFF7D4FC84 +:1090E000139A149905920022119B009212981593DD +:1090F000059A0192002901D0104602E0791C40181F +:109100000190381A01D5019804E04042401E0090B9 +:10911000781C0190C01B029043E0012F00DA012768 +:109120000021112F01DD112000E03846019100904F +:1091300008A911A8FFF7A8FC13990591119A00211D +:10914000129815920091019721070CD40599B94204 +:1091500001DB019900E00191012904DD159A491E06 +:10916000515C302906D0B84201DA011D05DA01212F +:10917000029115E00199491EEDE7002805DC0099F0 +:10918000411800910199091A03E0019A411C91428A +:1091900000DD01910099401A401C02900120C00797 +:1091A0000390200706D402990198814202DB002037 +:1091B000C043029000206946C87707AF0121039899 +:1091C0000337C907884224D0022011902B20129027 +:1091D000039800280CDA404203902D20129007E0FB +:1091E0000A210398EEF772FF30317F1E0390397029 +:1091F0001199481E11900029F2DC03980028EFD144 +:10920000791E129808703078202108404530BF1E22 +:10921000387006A8C01BC01D039010980078002865 +:1092200000D00120019941180298C017091803982D +:1092300009180498401A401E0490E00306D4214601 +:109240001A9B199A049800F05FF845191098007855 +:10925000002803D01A9A199990476D1CE00324D571 +:1092600021461A9B199A049800F04EF845191CE003 +:109270000098002807DB00990598884203DD1598BF +:10928000405C199901E0199930201A9A904700988A +:109290006D1C401C00900298401E0290002804D1D2 +:1092A0001A9A2E20199990476D1C0199481E019019 +:1092B0000029DDDC05E038781A9A7F1C199990475F +:1092C0006D1C0399481E03900029F4DC21461A9B6B +:1092D000199A0498ACE600002D0000002B00000055 +:1092E0002000000000000000F8B5044600251E46DE +:1092F0001746880404D405E039462020B0476D1C89 +:10930000641EF9D52846F8BDFFB50446002581B096 +:109310001E46C80301D5302700E02027880404D565 +:1093200005E038460399B0476D1C641EF9D5284600 +:1093300005B0F0BD4A68002A06D00A68531C0B60CD +:1093400010704868401E486070470A68531C0B60E4 +:1093500010707047F7B53049034648682E4C81B00D +:109360004978A5780095A66865688646AF19E568CE +:10937000246900202E19009C8446002913D0002C5B +:1093800013D126498869186049690120491EA942FC +:1093900013D38E4211D3029C012C0ED902205960A6 +:1093A00001218C4609E0002C07D07146724501D29C +:1093B0000A4602E0974200D23A460097974229D9DE +:1093C0001168CC0722D0491EA9421FD38E421DD35B +:1093D00010281BD20C1F27886488BE46E70A1F2F5F +:1093E00003D17746FF0A1E2F02D0240A472C0DD145 +:1093F000029CA0420AD2022805D16446002C02D069 +:109400005C688C4202D084001951401C0099121DE6 +:109410009142D5D804B0F0BD64000020082B002094 +:10942000F0B545480C468BB0466C056CC26C816C3F +:109430005030009202910FC806AF0FC73F48017825 +:1094400000290BD04178002911D03D4A3DA140A010 +:10945000FFF79AFA46A0FFF797FAFEE7384A45A1C8 +:109460003BA0FFF791FA42A0FFF78EFAFEE73348E0 +:109470000121417041A0FFF787FA3DA0FFF784FA70 +:109480003F4F404B404A41497868FFF77DFA4048DA +:10949000FFF77AFAF86AFFF777FA35A0FFF774FA60 +:1094A0002046203005902548807800283ED1386B32 +:1094B000FFF76AFA2EA0FFF767FA2068354F844657 +:1094C000386061687960A068B860E368FB60226911 +:1094D0003A6162697A61A269BA61E269FA61029AE3 +:1094E000009C0493019200910290039433466246DB +:1094F000294629A0FFF748FA1DA0FFF745FA08986A +:10950000FB69099AB96901AC0FC478690090079B9F +:109510003A6921A00699FFF737FA15A0FFF734FA48 +:1095200028A0FFF731FA12A0FFF72EFA059803F0F2 +:1095300011F80BB0F0BD000030F201006400002013 +:109540005CF20100216F6E5F6661756C7400000053 +:1095500028257329206861732061737365727420F4 +:109560006661696C65642061742025732E000000BB +:109570000D0A0000696E69745F6F6B0000000000E7 +:10958000B0F10100582A0020382A0020182A0020B3 +:109590002C960100082B0020202025733A2025302E +:1095A0003878202025733A202530387820202573FC +:1095B0003A2025303878202025733A202530387815 +:1095C000000000003D3D3D3D3D3D3D3D3D3D3D3DBF +:1095D0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DBB +:1095E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DAB +:1095F0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D9B +:109600003D3D000010B50548054B4068054A064938 +:10961000FFF7BAF905A0FFF7B7F910BDB0F10100E7 +:10962000582A0020382A0020182A00200D0A00009D +:1096300070B50D461446014620221248EEF794FDFF +:10964000202229461048EEF78FFD202221460F48A0 +:10965000EEF78AFD0F4A0E480F495060081A0F496D +:109660000F4BD160591A90601161002802D001207F +:10967000107070BD0B480068FFF786F90AA0FFF76D +:1096800083F970BD182A0020382A0020582A0020AB +:10969000405C002064000020406C0020008000003E +:1096A00000FB0100B0F101000D0A000070B50400DC +:1096B0000ED0256A002D0BD0A87C082808D10846BA +:1096C000EEF779FDA96A884202D1204600F092F9AE +:1096D00070BD0000F1B582B00298002600287DD050 +:1096E000046A002C7AD0A06C504D411C012700293F +:1096F0000BD03C211E30EEF7E9FCA84200D92846E9 +:109700000004000C208400D12784E06C411C0BD0A5 +:109710003C211E30EEF7DAFCA84200D928460004AE +:10972000000C608400D1678420462C3000D0E06AB1 +:10973000009000280ED102F07BFC000E7F2802D89A +:10974000FF20000603E0C0280CD3FF20C04301F037 +:10975000BFFA00902046303000D0206B01900028E6 +:1097600003D00CE03148C043F1E7A06A00990840FB +:109770000190012001F0ACFA0199084301902146C3 +:1097800028310D46029802F0F7FB2946284DA26ABF +:109790002868824200D001260878287048786870CE +:1097A0008878A870C878E8706946029802F026FCAC +:1097B000A8680099814200D0012668460078287286 +:1097C00068464078687268468078A8726846C078B3 +:1097D000E87201A9029802F0C3FB00E01CE068688F +:1097E0000199814200D001266846007928716846B7 +:1097F0004079687168468079A8716846C079E871D7 +:10980000029802F006FC0A21204600F0FDFD002E21 +:1098100003D00020F5F76AFAFEBD064C2078002838 +:10982000FAD1F5F763FA2770FEBD0000FFFF0000D4 +:10983000AC4D00206001002070B5046A0546082187 +:10984000204600F0E1FD214600222831284600F0A4 +:10985000F5FFE07C401CE0740120E08370BD000057 +:1098600010B51648046826E0216A002922D0488CE9 +:10987000421E4A84012806D0216A088C421E0A84AE +:1098800001280CD016E0216A2046897C012903D0EA +:109890000A2901D005290DD100F026FB0AE0216A32 +:1098A0002046897C012903D00A2901D0052901D14C +:1098B00000F0C4FC2468002CD6D110BD900100201B +:1098C000F8B5050010D02C6A002C10D00022FF2122 +:1098D0003531104602F054FC606100280AD0E27C69 +:1098E0004249002A09D00BE00920C043F8BD0820F6 +:1098F000C043F8BD0020C043F8BD4A68521C4A600E +:109900004968216041680120A1610870A1690026B1 +:109910004870A16906208870A069C670206801F0AF +:10992000D7F9A169091DEEF750FCA069310A06724A +:109930004172A069310A8672C172A16900200C319E +:10994000EEF743FCA07C0A2803D0052801D00428A8 +:1099500004D1A16968680C31EEF737FCA1690020D9 +:109960001031EEF732FCA16900201431EEF72DFC26 +:10997000A16900201831EEF728FC0020294620318B +:109980008A7A824203D92A182032D27A00E0002251 +:1099900007461C37A369401C80B2DA551028EFD364 +:1099A000002001462C31A269401C80B25654402848 +:1099B000F7D3002001466C31A269401C80B2565496 +:1099C0008028F7D30A4801F083F9A169EC31EEF75A +:1099D000FCFBA68300200146A269F0315054401CD4 +:1099E00080B24428F7D30020F8BD000060010020B9 +:1099F00063538263F8B50546046A002000900C2189 +:109A0000204600F001FD2846FFF75AFF060046D128 +:109A100001223521204600F0CBF90421204600F038 +:109A2000D7F904223221204600F0C2F9A06A02F0E0 +:109A3000FFFA0146204600F0D3F9042236212046E1 +:109A400000F0B6F9606A02F0F3FA0146204600F031 +:109A5000C7F907223D21204600F0AAF929462B31FB +:109A6000204600F0DEF9204600F026FAA08BF03008 +:109A700081B2606902F007FDA169A06A0C31EEF7BE +:109A8000A4FB6F680098686000954323074A6169EA +:109A9000606805F0BAFA28466F6000F009F8E07CCB +:109AA000401CE0740420E0833046F8BDBFF20100A2 +:109AB00010B500280AD0046A002C07D0606900287D +:109AC00001D002F08BFC00206061A06110BD00009D +:109AD000F8B505460020009031482C6AEEF76BFB84 +:109AE000A0620621204600F08FFC2846FFF7E8FE22 +:109AF00006003DD101223521204600F059F901210F +:109B0000204600F065F902223921204600F050F984 +:109B1000298D204600F0BFF904223721204600F0AD +:109B200047F90121204600F053F90321204600F0B7 +:109B30004FF91C21204600F04BF90621204600F089 +:109B400047F9204600F0B8F9A08BF03081B2606987 +:109B500002F099FC6F680098686000954323114AF1 +:109B60006169606805F051FA28466F60FFF7A0FF51 +:109B7000E07C401CC0B2E074062802D20121814082 +:109B800000E03C217D20C000414388B2FF21FF302E +:109B9000F531F430EEF79AFAE0833046F8BD000074 +:109BA000BBF20100BFF2010070B510480025052688 +:109BB000046817E0216A002913D0C88B012802D954 +:109BC000401EC8830DE001280BD1CD83204600F054 +:109BD0008DFC0120F5F78AF8206AC18B052900D990 +:109BE000C6832468002CE5D170BD000090010020E0 +:109BF00070B5044680680025002802D002F026F8DF +:109C0000A560E068002803D002F020F8E560258216 +:109C100070BD01780A064178090411438278C07842 +:109C200012020A431043704770B5C3680024002B2A +:109C30003BD0068A002E38D0002210E0342D03D00D +:109C40008D4206D1981870BD921C92B29C5C521C39 +:109C500004E0521C92B29D5C521CAA1892B2964229 +:109C600002D99D5CFF2DE9D1002C1ED0012C06D01D +:109C70008068022C08D0C02300222C3012E08068BB +:109C8000802300226C300DE04023F5E78C4201D1A7 +:109C9000801870BD521C92B2845C521CA21892B201 +:109CA0009A4202D2845CFF2CF0D1002070BD0000EB +:109CB000F8B5046A0020E062206360633321204627 +:109CC000FFF7B2FF002803D0801CFFF7A2FF6064FB +:109CD0003A212046FFF7A8FF002803D0801CFFF799 +:109CE00098FF01E0606C4008A0643B212046FFF72C +:109CF0009BFF002803D0801CFFF78BFF00E0606C07 +:109D0000E064A0680146103136D01030EEF753FA07 +:109D1000A06201212046FFF787FF002805D0801CA4 +:109D2000FFF777FF00F0D4FFE06203212046FFF742 +:109D30007BFF002805D0801CFFF76BFF00F0C8FFF9 +:109D400020631C212046FFF76FFF002805D0801CF0 +:109D5000FFF75FFF00F0BCFF606306212046FFF7BE +:109D600063FF060020D070788008A063022801D924 +:109D70000220A063002510E00020C9E7AF00B81959 +:109D8000801CFFF746FF00F0A3FF3919C86328467F +:109D90003C3100F01DFC6D1CEDB2A06BA842EDD86B +:109DA0000249284600F014FCF8BD0000BBF2010097 +:109DB00010B5838B8469E4185B1C8383E0342174C1 +:109DC000818B83695B18491C8183E0331A7410BD51 +:109DD000828B83699B18521C8283E033197470470D +:109DE00010B5828B83690C0E9B18521C8283E03362 +:109DF0001C74828B84690B0CA418521C8283E0347F +:109E00002374828B84690B0AA418521C8283E03469 +:109E10002374828B83699B18521C8283E0331974EC +:109E200010BD10B5828B836901249B18521C82835C +:109E3000E0331C74828B83690C789B18521C8283DC +:109E4000E0331C74828B83694C789B18521C82838C +:109E5000E0331C74828B83698C789B18521C82833C +:109E6000E0331C74828B8369CC789B18521C8283EC +:109E7000E0331C74828B83690C799B18521C82839B +:109E8000E0331C744B79818B82695218491C8183A1 +:109E9000E032137410BD10B5828B83690C0A9B18D5 +:109EA000521C8283E0331C74828B83699B18521C82 +:109EB0008283E033197410BD002814D0818B82692D +:109EC000FF235218491C8183E0321374002305E0FC +:109ED00082695218491C8183E0321374818B4429B2 +:109EE000F6D38A07F4D17047F8B5046A074604210F +:109EF000204600F089FA3846FFF7E2FC060037D129 +:109F0000012235212046FFF753FF03212046FFF7AA +:109F10005FFF022239212046FFF74AFF398D204694 +:109F2000FFF7B9FF7D6A002D0FD02846EEF733F911 +:109F3000C2B20C212046FFF73BFF03E020466D1C18 +:109F4000FFF746FF29780029F8D12046FFF7B4FF34 +:109F5000A08BF03081B2606902F095FA009743233C +:109F60000E4A6169606805F050F83846FFF7A0FDB9 +:109F7000E07C401CC0B2E0740A2803D27D21C900F5 +:109F8000484300E00648FF2180B2FF30F531F4304D +:109F9000EEF79CF8E0833046F8BD0000BFF2010008 +:109FA00010270000F8B5046A06460321204600F099 +:109FB0002BFA3046FFF784FC050031D10122352110 +:109FC0002046FFF7F5FE03212046FFF701FF02229E +:109FD00039212046FFF7ECFE092189012046FFF7D1 +:109FE0005AFF042232212046FFF7E2FEA06A02F067 +:109FF0001FF801462046FFF7F3FE2046FFF75CFFFF +:10A00000A08BF03081B2606902F03DFA00964323E4 +:10A010000E4A6169606804F0F8FF3046FFF748FDBA +:10A02000E07C401CC0B2E0740A2803D27D21C90044 +:10A03000484300E00648FF2180B2FF30F531F4309C +:10A04000EEF744F8E0832846F8BD0000BFF20100B7 +:10A0500010270000F8B50446056A50895168164675 +:10A060002C282DD3087802282AD100202A22125D1C +:10A0700008E0231820330F18DB7A3F7FBB4276D1EC +:10A08000401CC0B28242F4D8081DEEF794F801F0EB +:10A09000CFFF296888426AD13146284600F062FA2B +:10A0A000002864D135212846FFF7BEFD00285ED088 +:10A0B00080780027052804D0062819D0022839D036 +:10A0C00055E0A87C012806D003280CD004280AD02B +:10A0D000052808D04BE02046FFF7EAFDEF83204635 +:10A0E000FFF7AAFB43E0EF832046FFF7F3FA3EE0D9 +:10A0F000A87C032805D0012803D0042801D0052816 +:10A1000035D1EF832046276A01F022FF1C49204603 +:10A1100001F032FF1A49204601F022FF184920467B +:10A1200001F06CFF0C21384600F06EF92046FFF775 +:10A13000CFFC1CE0A87C062819D1EF832746246AAF +:10A1400036212046FFF770FD002810D0801CFFF755 +:10A1500060FD00F0BDFD6062A068014610310DD0C9 +:10A160001030EEF728F8A062384600F0C3F8284611 +:10A17000FFF73EFD304602F031F9F8BD0020F2E76E +:10A18000BBF20100F8B5046A05460D21204600F037 +:10A190003BF900206062E062A06260632063E064DB +:10A1A000A0646064A0632846FFF78AFB06001CD108 +:10A1B000012235212046FFF7FBFD07212046FFF74E +:10A1C00007FE2046FFF778FEA08BF03081B2606971 +:10A1D00002F059F9009522464323243261696068F0 +:10A1E00004F013FF2846FFF763FCE07C401CC0B27C +:10A1F000E0740A2803D27D21C900484300E00D48DD +:10A20000FF2180B2FF30F531F430EDF75FFFE083DE +:10A21000284601F09DFE0849284601F0ADFE06499A +:10A22000284601F09DFE0449284601F0E7FE30462D +:10A23000F8BD000010270000BBF20100F8B5046A69 +:10A2400007460521204600F0DFF83846FFF738FBC7 +:10A25000060038D1012235212046FFF7A9FD032150 +:10A260002046FFF7B5FD022239212046FFF7A0FD69 +:10A27000398D2046FFF70FFE7D6A002D0FD028464E +:10A28000EDF789FFC2B20C212046FFF791FD03E0F4 +:10A2900020466D1CFFF79CFD29780029F8D1204647 +:10A2A000FFF70AFEA08BF03081B2606902F0EBF894 +:10A2B00000972246432324326169606804F0A5FEBA +:10A2C0003846FFF7F5FBE07C401CC0B2E0740A287A +:10A2D00003D27D210901484300E00548FF2180B2F7 +:10A2E000FF30F531F430EDF7F1FEE0833046F8BD94 +:10A2F000204E0000F8B5046A06460121204600F011 +:10A3000083F83046FFF7DCFA070064D101223521DB +:10A310002046FFF74DFD03212046FFF759FD02229D +:10A3200039212046FFF744FD318D2046FFF7B3FD6C +:10A33000042232212046FFF73BFDA06A01F078FE9F +:10A3400001462046FFF74CFD042236212046FFF748 +:10A350002FFD606A01F06CFE01462046FFF740FDCC +:10A36000042237212046FFF723FD01212046FFF775 +:10A370002FFD03212046FFF72BFD1C212046FFF770 +:10A3800027FD06212046FFF723FD756A002D0FD01B +:10A390002846EDF700FFC2B20C212046FFF708FD6A +:10A3A00003E020466D1CFFF713FD29780029F8D142 +:10A3B0002046FFF781FDA08BF03081B2606902F08A +:10A3C00062F8009643230F4A6169606804F01DFE3D +:10A3D0003046FFF76DFBE07C401CC0B2E0740628FD +:10A3E00002D20121814000E03C217D20C000414398 +:10A3F00088B2FF21FF30F531F430EDF767FEE083DE +:10A400003846F8BDBFF20100827C8A4202D08174D6 +:10A410000021C17470470000F8B5040035D026460D +:10A420002036707CF7210840256A7074208D092140 +:10A4300000278901FF43884225D3002D28D0686872 +:10A44000002801D004F0ACFD50212846EDF781FE34 +:10A4500004F096FD6860002821D04422154904F0DC +:10A46000EBFB43221349686804F034FC224612498E +:10A47000686804F092FD2046FFF72AFB002814D0FC +:10A48000204600F01BF83846F8BD0920C043F8BD4F +:10A49000502001F019FC0500F5D02562D4E72846CC +:10A4A00001F0D4FB00202062EDE7717C082211430B +:10A4B0007174F8BDBBF2010055A0010070B5040035 +:10A4C000256A12D020462030417CF7221140417489 +:10A4D000002D0AD068680026002802D004F060FD34 +:10A4E0006E60284601F0B2FB266270BD10B5026AAC +:10A4F0000446917C0C2912D0062910D0012911D0D4 +:10A5000008291BD0052923D0042924D0032905D1EB +:10A51000D07C022810D22046FFF744FD10BDFFF783 +:10A52000D7FA10BDD07C052803D82046FFF7E2FEFD +:10A5300010BD2046FFF726FE2046F0E7D07C01281C +:10A54000204602D8FFF778F910BDFFF7C3F810BD19 +:10A55000FFF774FE10BDD07C0828EAD82046FFF72C +:10A56000C3FC10BDF8B50E46040023D0FFF740FB36 +:10A57000308900256F1EF02807D9F03880B220827C +:10A5800001F0A2FBE060002817D0F02001F09CFB56 +:10A59000A060011E13D00023F022304601F0E9FE36 +:10A5A000E168002904D0228AF023304601F0E1FE60 +:10A5B0000020F8BD0920C043F8BD258206E0E06810 +:10A5C000002803D001F042FBE560F6E73846F8BD0D +:10A5D00070B505460C46022812D20A484068002889 +:10A5E0000ED0002C0CD00846EDF7E5FD002807D072 +:10A5F0000449A8000831401804222146EDF790FDD7 +:10A6000070BD000034020020F7B584B006007DD094 +:10A61000069840892B287AD30698456801202C4655 +:10A620000F3400F057FB6178227809021143884209 +:10A630007CD1414800F04EFB01466079227900024E +:10A640001043814272D10120C00200F043FB014659 +:10A65000E078A27800021043814267D1374800F0C9 +:10A6600039FBAA7B6B7B1102194388425ED12146DC +:10A670000E31042202A80091EDF752FD2146183157 +:10A68000042203A80191EDF74BFD7068002805D066 +:10A690000399814202D101273B4601E000273B4656 +:10A6A0002246083202A9304604F024FDE079A1795F +:10A6B0000002084300F00EFB012802D0022835D129 +:10A6C00026E0002F32D0022000F004FBA071000A27 +:10A6D000E071042200990198EDF722FD0422311D5A +:10A6E0000098EDF71DFD0621491EC9B26018027AD7 +:10A6F00082746B185A70059A0029525C0272059890 +:10A70000405CD871F0D1B26906990DE011E00DE01E +:10A7100002A93046FEF7CAFF09480168002905D0A2 +:10A72000C268002A02D002A930469047069801F07C +:10A7300055FE07B0F0BD000004060000060800004A +:10A74000104E002070B5050011D04C6820461B301B +:10A750000646EDF730FDA9686A6808400A40904255 +:10A7600005D10023E21D3146284604F0C3FC70BD2C +:10A77000FEB50E46044615460F21304601F050FE48 +:10A78000002802D00120C043FEBD2146284600F02B +:10A7900039FC002801D0284B2FE02846EDF70BFDAF +:10A7A00007460F20000701F043FC07400720400741 +:10A7B00001F03EFC874227D101216846017000214B +:10A7C00041705E2181702846EDF7F5FC01F030FC08 +:10A7D0004002410E6846C1702846EDF7ECFC01F0DE +:10A7E00027FC010A684601712846EDF7E4FC01F0F8 +:10A7F0001FFC0146684641716B4622462B323146AA +:10A80000204600F0E1F8FEBD2846EDF7D4FCA16833 +:10A81000626808400A40904204D0E068002807D0EF +:10A8200025460C3532462946204600F007F8FEBD85 +:10A830000320C043FEBD0000C3F20100F7B586B09F +:10A8400006980D462B3000900020C043019014461E +:10A850002846069900F0D6FB002827D12846EDF7B8 +:10A86000AAFC06460F20000701F0E2FB0640072085 +:10A87000400701F0DDFB864218D0002D16D0284697 +:10A88000EDF799FC002811D00121284600F066F967 +:10A8900000280DDB144E070170683918887A0028EB +:10A8A00008D0012808D0002C06D00EE00920C043B3 +:10A8B00009B0F0BD01208872F7F7AAFB2946069877 +:10A8C00000F070F80190002C0BD070683B18987A5B +:10A8D000022806D121461B1D009A069800F074F844 +:10A8E00001900198E4E70000E8010020FFB581B085 +:10A8F0001F4600222B21032001F042FC06004AD013 +:10A9000075680D982C460F3400F0E4F9A071000A28 +:10A91000E0710620401EC0B23A5C21180A720B9A00 +:10A92000125C8A7403990A5C29184A70029A0028FA +:10A93000125CCA71EED1204604220E300A99EDF75E +:10A94000EFFB2046042218300C99EDF7E9FB0120BB +:10A9500000F0C0F92070000A60700120C00200F011 +:10A96000B9F9A070000AE0700C4800F0B3F920714A +:10A97000000A60710A4800F0ADF96873000AA87314 +:10A9800001983146826990470446304601F026FD21 +:10A99000204605B0F0BD0020C043FAE704060000E1 +:10A9A000060800001FB501230393064C021D034651 +:10A9B000009202912B3301941946A21FFFF796FFD4 +:10A9C00004B010BDC9F20100F8B54D680E46074647 +:10A9D0000624641EE4B22819195D4170115DC1712D +:10A9E000002CF6D10120C00200F074F96873000A4F +:10A9F000A873BA69314638469047F8BD30B50F495B +:10AA000000200F4C4B6814E00101C918CA7A521C8F +:10AA1000D2B2CA728D7A022D02D0012D03D006E087 +:10AA2000F02A02D203E0022A01D300228A72401CDB +:10AA3000C0B2E1688142E7D830BD0000E8010020E3 +:10AA4000F04D002070B5044640680D46817B427B86 +:10AA50000802104300F03EF90121C902401A04D057 +:10AA6000062816D00F49C8420AD121462846FFF7CA +:10AA700069FE0E21C943204601F0D2FC002803D014 +:10AA8000204601F0ABFC0AE02946204600F084FB9A +:10AA900005E0294622462B312846FFF7B5FD002068 +:10AAA00070BD00004F66FFFF10B5FFB081B00446D7 +:10AAB00068460B496062EDF775FB20466521203042 +:10AAC000E56181746E21C174064860610648A06129 +:10AAD000204600F051FD7FB0002001B010BD000005 +:10AAE0008054002071A701000DB7010070B5054624 +:10AAF0001648C16B002927D0154A5178491C51705E +:10AB0000144A80211160C06B134A0006000E1160C8 +:10AB10001AD0284600F08EFD040015D06068817BB5 +:10AB2000427B0802104300F0D5F80121C902401A07 +:10AB300001D0062805D12A692946204690470028D9 +:10AB400002D0204601F04AFC70BD000034550020C0 +:10AB5000F001002080E100E000E100E0F3B54148B1 +:10AB600087B0C76800247DB202943F4901950394E1 +:10AB7000009507984E6800284DD00846007805904B +:10AB8000000104908019807A022844D10798EDF7DB +:10AB900012FB0499715888423DD1059840B209B022 +:10ABA000F0BDAF4204D120018019807A002809D07D +:10ABB0002001059080190490807A012804D0022891 +:10ABC00016D026E065B224E00798002807D0EDF7FC +:10ABD000F2FA05997158884201D123483FE0049860 +:10ABE0000399C07A884214D361B20191039010E0B6 +:10ABF0000798002805D0EDF7DEFA059971588842CC +:10AC0000EBD004980299C07A884202D361B20091D5 +:10AC10000290641CE4B2A742C3D80020C043AF42F4 +:10AC200002D10899C907BAD008998907B7D4AF42A9 +:10AC300001D9ECB206E000998F4202D801998F4207 +:10AC4000ADD9CCB227010020BD19A8720798002801 +:10AC500002D0EDF7B0FAF05100210348E972047018 +:10AC600060B29CE7F04D0020E80100200249CA7A5A +:10AC7000082AFCD0087270470030004010B5002848 +:10AC800023D0124B0022001F196803E0814203D831 +:10AC90000A4649680029F9D1002A0AD01368841AA3 +:10ACA0009C4204D1006818181060104602E0506001 +:10ACB00000E01860002907D002680B1A934203D104 +:10ACC0000B68D21802604968416010BD7C02002008 +:10ACD00000BA704740BA704710B50A46032100F029 +:10ACE000FBF810BDF3B54568044668782978000282 +:10ACF00089B0084301F09EF90005000F8000414231 +:10AD000007900091204601F08BFB002824D1208978 +:10AD1000042821D366683078032802D00828F5D1AA +:10AD20001BE0707C327C0002104331460831377AD8 +:10AD3000000A0D4601900422103103A8EDF7F0F946 +:10AD40003807800E28188178C0780902014373788B +:10AD5000019A0398F7F79AF9B6E0284610300126D1 +:10AD60000490EDF728FA07460F20000701F060F97C +:10AD700007400720400701F05BF9874200D1002619 +:10AD80000A99049800F03EF9002802D0F8F740FE36 +:10AD90009AE0F8F73DFE00287ED0002E7CD0208976 +:10ADA000082879D3204600F0D2F8002874D1222157 +:10ADB000204601F035FB00281DD02046079901F000 +:10ADC0002FFB002868D121890022022001F0D8F948 +:10ADD000060079D0214601F082FA002874D1756806 +:10ADE0003046009901F01CFB00286DD1204601F08F +:10ADF000F5FA344606E02121C943204601F010FB54 +:10AE0000002861D128460C30666806900490EDF762 +:10AE1000D2F907460390284610300090EDF7CBF9A1 +:10AE20000499EDF7D2F938460099EDF7CEF90027ED +:10AE300037702848FFF74EFF0146F078B2780002DD +:10AE400010430122D2028142104607D8FFF742FF89 +:10AE5000F178B27809021143401C05E0FFF73AFF90 +:10AE6000F178B278090211434018B070000AF0700E +:10AE7000687A297A0002084301F0DCF80121C0B2A7 +:10AE8000C9034018FFF726FF2872000A6872380AC3 +:10AE9000AF72E872142100E016E0284600F051F885 +:10AEA000A872000AE8722046079901F0B9FA002852 +:10AEB0000AD10A9801210191029080230022009773 +:10AEC0002046069900F0A8FA204601F087FA0BB058 +:10AED000F0BD0000FFF70000F7B50E4682B000227B +:10AEE0002421012001F04CF9050028D002986C685B +:10AEF0004768267004986070002626716671A671F6 +:10AF0000E67102981C22416868680830EDF708F97C +:10AF1000A670300AE0706989204600F012F8A0702F +:10AF2000000AE07001203A46019080230C32002193 +:10AF30000096284600F056FA284601F04FFA05B070 +:10AF4000F0BD10B500F042FCC04380B210BDF8B5B2 +:10AF500000252E46044601270FE06189606800F055 +:10AF600035FC4019010C80B20D18A07AC00703D03F +:10AF7000B81BC6B268BA85B22468002CEDD1002E89 +:10AF800001D068BA85B2E84380B2F8BDFFB50025AC +:10AF900081B02E46044601270FE06189606800F009 +:10AFA00015FC4019010C80B20D18A07AC00703D01F +:10AFB000B81BC6B268BA85B22468002CEDD1002E49 +:10AFC00001D068BA85B20298EDF7F5F881B2491957 +:10AFD000000C44180398EDF7EEF881B20919000C43 +:10AFE00044180498FFF776FE04190A98FFF772FEDA +:10AFF0000019010C80B20818010C0818C04380B277 +:10B0000005B0F0BD10B50C46EDF7D5F80246411C71 +:10B0100013D0002A11D03121095D89070BD5616851 +:10B02000914208D0A0681346034001408B4202D1F0 +:10B030001043401C01D0002010BD012010BDF7B509 +:10B040008EB004460F981426008D0090606807901B +:10B05000C179827908020025104300F0EBFFC1049A +:10B06000C90C05910121490308400A902089143830 +:10B0700087B200981438C117490F08900818400388 +:10B08000000C09907FE00898874201DC012000E075 +:10B09000002005990A9AC904C90C11430B91002894 +:10B0A0001AD0384680B2069000221421022001F006 +:10B0B00067F80490002817D0406814220799EDF72C +:10B0C0002FF8049840680C9060688019606060896F +:10B0D000801B6081069E26E0084601214903084343 +:10B0E0000B900998C000DDE70020C04311B0F0BD0F +:10B0F0006589B54200D93546002D13D002220021C2 +:10B10000032001F03DF8010042D0606848600D81E5 +:10B110004D81049801F0BEF8701B0604360C04D073 +:10B120002468E5E72468002EE2D12E460B98FFF74D +:10B13000D1FD0C998871000AC8710698143080B24C +:10B14000FFF7C8FD01460C988170090AC1700C9880 +:10B1500000218172C17214210C98FFF7F2FE0C9944 +:10B160008872000AC8720F98109A43690499984728 +:10B17000049801F033F906980999381A87B20598AE +:10B18000401880B20590002F00D07CE70020ADE78A +:10B19000049801F023F9A7E7F3B585B001200390E7 +:10B1A00005980E464568687829780002084300F043 +:10B1B00041FF000B042803D0059801F00FF906E1C8 +:10B1C000687829780002084300F034FF0005000F7A +:10B1D00080000090E878A9780002084300F02AFF78 +:10B1E00004460598418900988142E5D30598008975 +:10B1F000A042E1D328460099FFF7A3FE0028DBD147 +:10B200002146059801F03FF9012002900F203446B5 +:10B21000000700F00DFF0720400700F009FF20465F +:10B2200000F07CFE002820D0201D1ED06768002F73 +:10B230001BD0284610300190ECF7BDFFB84223D058 +:10B2400021460198FFF7DEFE00281DD10198ECF79A +:10B25000B2FF07460F20000700F0EAFE0740072074 +:10B26000400700F0E5FE87420ED00298002804D087 +:10B27000002002905748046800E02468B44200D1DE +:10B280002468002CCBD101E0002C2DD1687A297ADA +:10B290000002084300F0CEFEC0B211280ED1009883 +:10B2A0002918C87889780002084300F0C3FE4428B2 +:10B2B00004D1002034460390002E15D1687A297AF3 +:10B2C0000002084300F0B6FEC0B211280CD100986D +:10B2D0002918C87889780002084300F0ABFE3E497F +:10B2E000884201D134461FE0039800281CD028462C +:10B2F0000C300746ECF75FFF002815D03146384682 +:10B30000FFF780FE002800D056E73846ECF753FFE1 +:10B3100007460F20000700F08BFE0740072040077C +:10B3200000F086FE8742EFD0002CEDD02B48FFF7CF +:10B33000D1FCE979AA79090211430842E4D1284CE9 +:10B3400031466660A560059801F064F900283BD19C +:10B35000687A297A0002084300F06CFEC0B2012826 +:10B3600015D006280ED01128314607D028461030B7 +:10B370000646FFF747FE00280ED022E0059803F0AE +:10B38000EDFC21E03146059801F0EEFD1CE0314670 +:10B390000598FFF7A7FC17E03046ECF70CFF0646D0 +:10B3A0000F20000700F044FE06400720400700F091 +:10B3B0003FFE864205D00598022145600598FFF7BB +:10B3C0008BFC059801F00AF800206060A060002066 +:10B3D00007B0F0BD900100206C070000FF3F0000A7 +:10B3E0006C020020FFB583B01F46164610460C9D28 +:10B3F0000D9C00F097F800280AD002903B46324698 +:10B40000009501940499039800F006F807B0F0BD88 +:10B410000320C043FAE70000FFB581B00646039859 +:10B420000C9D1F46002865D0142001460090304630 +:10B4300000F0F6FF002803D00120C04305B0F0BDA6 +:10B440007468607A217A0002084300F0F3FDC0B20C +:10B4500039020843FFF73EFC2072010A617200F0D6 +:10B46000E9FD000A0B9900020843FFF733FC207244 +:10B47000000A60720398ECF79EFE21461031ECF74B +:10B48000A4FE05200A99000208430121890308430C +:10B4900080B2FFF71FFC2070000A60703089FFF750 +:10B4A00019FCA070000AE0700020A0711C4FE07130 +:10B4B0003888FFF70FFC2071000A60713888401C43 +:10B4C00038800298002803D0ECF775FE002802D1DE +:10B4D000281D00D0686821460C31ECF776FE00206C +:10B4E000A072E07220460099FFF72BFDA072000ABF +:10B4F000E07202E0706810300390288D002808D0B8 +:10B500003189814205D929463046039AFFF797FDD4 +:10B5100094E76B6931462846039A98478EE7000006 +:10B520006C02002070B505461148046811E0204601 +:10B5300000F0F4FC00280BD02846ECF73CFE014656 +:10B54000A068626801400240914201D1204670BD6E +:10B550002468002CEBD1074C2068002805D000F0AF +:10B56000DDFC002801D0206870BD002070BD000007 +:10B570009001002094010020F8B5044625460620DD +:10B5800020352249A8720A6A00202618135C20364A +:10B59000401CC0B2F3720628F7D31E4F1C480F633D +:10B5A00088633846203848631B48C8631B49002617 +:10B5B0000E601B4A3046127804E083005B185E6020 +:10B5C000401CC0B29042F8D3002004E083005B1816 +:10B5D000DF60401CC0B29042F8D31048C421C43888 +:10B5E000ECF7B7FD0D480121443801640D49218570 +:10B5F00033216974806B0C49098848430449401819 +:10B600000A4988810A480660F8BD0000F001002060 +:10B61000902B0020804E0020502B002078550020D9 +:10B620006B010020DC050000F04D00200090004080 +:10B6300078010020F8B50027304880213D460160A0 +:10B640002F4C606B621A80008018C06B636B80B2F5 +:10B650009B009B189B6F636B9B00D258D2B20092E9 +:10B66000264A803A1160009A022A19D1002817D080 +:10B67000401C81B20322104600F082FD05003AD042 +:10B68000791E00F0CDFE2E467F1CFFB2052F01D99A +:10B690000020F8BD7068F4F71FFC3668002EF3D167 +:10B6A000164880210160E26B00231648002A02D070 +:10B6B000009A022A0FD00278134E521CD2B20270A6 +:10B6C0003678B2420ED30370E06B401EE063E06B4D +:10B6D000002805D006E00370E06B401EE06301E047 +:10B6E000A06B6063054880380160002D03D0012104 +:10B6F000284600F095FE2846F8BD000080E100E0F5 +:10B7000034550020F00100206A010020F3B5002527 +:10B7100081B02C46691E029800F082FE20481E4F20 +:10B72000016A1E4A1F4804E0641C944206D801299D +:10B7300004D00368002BF7D1029C0EE000210160C9 +:10B740000B20C043FEBD66896168A81985B23246E8 +:10B750003846ECF7E5FC2468BF19002CF3D1124AF7 +:10B760000D48136801219B009B1859601168491C02 +:10B77000116011680D4B1B78994201D300211160B3 +:10B780003C2D00D23C252946F4F7D6FB0121029836 +:10B7900000F046FE0020FEBD804E0020FFFF0000AE +:10B7A000AC4D002078010020785500206B0100206E +:10B7B00010B500F061FA00F057FB034880680028DC +:10B7C00000D0804710BD00009855002010B5002221 +:10B7D00007E00378891E1C02437889B22343D218FC +:10B7E000801C0129F5D8002902D000780002121827 +:10B7F000100C91B24018010C02D0010C80B2081854 +:10B8000080B2FFF767FA10BD30B40024002812D9C7 +:10B810007D25ED000023012100BF00BF0A46491E1F +:10B8200089B2002AF8D15B1C9BB2AB42F3D3641CF3 +:10B83000A4B28442EED330BC7047002300280BD959 +:10B84000012100BF00BF0A46491E89B2002AF8D173 +:10B850005B1C9BB28342F3D370470000002806D0E4 +:10B8600010B5024602A10120F4F74EF910BD704751 +:10B870006D53746F7049664572726F723A2025304D +:10B8800032580D0A0000000086B0F9F799FA10212D +:10B890000120F7F79FFD0320FFF7B6FF0220F8F71E +:10B8A000D9FE7F487D4941617E4A0723D16909025B +:10B8B000090A44042143D161002181610361F6F743 +:10B8C0007DF8F8F707F9F8F76FFCF4F765FC7D21D0 +:10B8D00009030020FBF724F873484068734DC00249 +:10B8E00010D473A10020F4F74DF9774E774C2968F6 +:10B8F0002068401AB04278D92068286074A10020DE +:10B90000F4F740F978A10020F4F73CF97DA27FA17B +:10B910007FA0FDF78DFE8148F8F712F9002818D0B6 +:10B920007E4CE37822786178A078029104930392A8 +:10B930000190207900906379A27979A10020F4F731 +:10B9400021F92078F8F7BEF87D21C90048437E49E7 +:10B9500008607E490020F8F715FE7D490020F8F7C1 +:10B9600011FE7C490020F8F70DFE7B490020F8F716 +:10B9700009FEF8F775FA7948F8F73EFD784C794AF0 +:10B98000206004217848F8F7CDFC78A100202268D7 +:10B99000F4F7F8F87448C2788178009101924378FE +:10B9A000027876A10020F4F7EDF8EFF78DFB7948E7 +:10B9B000F8F7E4FE784E794869680068421AE12198 +:10B9C00009018A4250D3686075A10020F4F7DAF8C3 +:10B9D000F8F780FC0746F4F751FE0446A74243D02F +:10B9E000306800280DD010E0FFE7F8F773F9F9F799 +:10B9F000F7FFEFF7FBFA012800D078E7206828600E +:10BA000075E7A62000F0ECF83060A621ECF7A1FB6A +:10BA10003068C022017D23461143CF2211401031EE +:10BA200001754475210A8175210CC175210E0176BD +:10BA30003A4661A10020F4F7A5F83846F8F724FD4E +:10BA400030681421401C41180A7810464A781202C6 +:10BA500010438A78C9781204104309060843F8F79E +:10BA6000EBFC5E4901200870F8F734F9F7F780F92C +:10BA7000FCF7C6FCF5F7C0FFF9F7B2FFFAF704F9D7 +:10BA8000FAF75EFAFAF7BEFBEDF7E8FDF0F79CF97E +:10BA9000EDF75CFAF3F7AEFF8DE700007F0C0000D6 +:10BAA00000E000E004ED00E0C010004000000020D5 +:10BAB000424C595F43315F544553542053544152D3 +:10BAC000542E2E2E2E0D0A0030750000100000207E +:10BAD000424C595F43315F5445535420454E4421F5 +:10BAE00021210D0A00000000424C595F43315F41A3 +:10BAF00050502056303520544553542E2E2E2E0DA6 +:10BB00000A000000312E303300000000312E3000DA +:10BB1000424C565F43315F415050000028000020E6 +:10BB2000525443CAB1BCE43A20323025582D25582E +:10BB30002D25582025583A25583A255820D0C7C6D3 +:10BB4000DA25580D0A0000001800002002E000006D +:10BB500001E0000005E0000004E0000034E8080017 +:10BB60000C0100203CE808001001002050726F6AB0 +:10BB7000656374436F64653A2564000056657273AB +:10BB8000696F6E733A25642E25642E25642E256414 +:10BB90000000000020000900040100201400002023 +:10BBA00054465450204C6F672073746172742E2E6B +:10BBB0002E2E0D0A000000006C6F675F61646472D6 +:10BBC000733A25303858206C6F675F616464727314 +:10BBD000313A25303858200D0A000000600000205E +:10BBE000F0B50B30C108C900144F0026144A0FE00D +:10BBF00003688B420BD38B4205D95C1A4318456806 +:10BC000030C3083B00E04368136002C004E0021D3B +:10BC100010680028ECD13046002803D1386800288D +:10BC200001D00020F0BD064A06481060064A121AEC +:10BC3000D208D20044C001203860D7E7800200203B +:10BC40007C02002044580020405C002010B50028F1 +:10BC50000FD008494A6890420BD38A68904208D2B4 +:10BC6000002208380271CA68904200D2C86000F011 +:10BC700047FC10BD7C01002030B51049104A08680F +:10BC8000104CC01C80088000486013890125DB1C13 +:10BC9000234003800023438003719368DB1C9B08CF +:10BCA0009B001B188B601D711589ED1C25401D80A4 +:10BCB0001289D21C22405A80C86030BD7C0100200D +:10BCC000F04D0020FCFF0000F0B500284AD02849C4 +:10BCD000C31C0B400C2B00D20C23264CA068C01CAC +:10BCE0008508AD009D4241D32348C6684268B11A19 +:10BCF00089B2EC1A38E050180579002D33D1058847 +:10BD00006D1A083D9D422ED304881F46641A1437CD +:10BD10000125083CBC4215D3CB1808339CB213193B +:10BD200000271F7107881F805980048005711988BA +:10BD3000104B9B68DB1C9B089B00994203D0931C13 +:10BD4000CC5200E005710C49B0420AD18C68CB6836 +:10BD50001D79002D05D0A34203D01B889B18CB6012 +:10BD6000F6E70830F0BD515A8C42C4D80020F0BD2F +:10BD7000FCFF0000F04D00207C010020F8B5324AA5 +:10BD8000C91C11400C2900D20C21304A9268D21CE7 +:10BD9000920892008A4210D32D4B5C68A0420DD3CA +:10BDA0009A6890420AD20246083A131B15889BB241 +:10BDB000EE1A083EB6B2B14201D90020F8BDB14238 +:10BDC000FCD02D19AC462F79214DED68AE46204DA3 +:10BDD0006D68AD1C002F1BD00F461437B742EDD84D +:10BDE000591808318EB21A4FA119714500D2F96065 +:10BDF00000240C7114880C804B801680134A09882B +:10BE00009268D21C920892009142D7D04E53F8BD4E +:10BE1000591866460831368889B20096E64502D13F +:10BE20000B4E6718F760641800262671009E268066 +:10BE30006380064B11809B682288DB1C9B089B005B +:10BE40009A42E4D05153F8BDFCFF0000F04D0020B1 +:10BE50007C010020002904D08200024883580B6036 +:10BE6000815070470C580020F0B50020401C80B273 +:10BE70000828FBD30E490F4A8868C01C8408A40018 +:10BE80000020002386009351450007E09759276062 +:10BE900094510F687F5B3C195B1C9BB24F687F5BC2 +:10BEA0009F42F3D8401C80B20828EAD3F0BD0000BE +:10BEB000440200200C580020082801D300207047BD +:10BEC0000349820088580028F9D003688B507047D6 +:10BED0000C580020F8B504460025089F06986560B8 +:10BEE000A56026462036E560757425620A4DE0613E +:10BEF00028783075401C28702046276100F013F820 +:10BF0000079920468847002801D00020F8BD6868BE +:10BF1000206020466C60F8BD8C0100202030407C01 +:10BF2000C007C00F704770B51D461646044600F0A6 +:10BF300023F83146204600F061F82946204600F0FB +:10BF40000FF870BD01498860704700008C01002027 +:10BF50002030417CCA0702D049084900417470472B +:10BF600010B50446002904D00846ECF724F9E06037 +:10BF700010BD0020FBE70000F8B505460F4600267F +:10BF80000846ECF718F96968884228D01948006813 +:10BF90000FE001686A6891420AD10121C46800F08B +:10BFA000F5FB3146761C2046F6B2642901D902E041 +:10BFB000C0680028EDD1104804680EE0002C0BD0BA +:10BFC0002068002808D06968884205D1002F0DD06C +:10BFD0003846ECF7F0F82060E468002CEED1002F32 +:10BFE00006D03846ECF7E7F86860F8BD0020F2E7C5 +:10BFF0000020F9E7AC010020A801002010B504469C +:10C00000002904D00846ECF7D6F8A06010BD002047 +:10C01000FBE710B502462032517CCB0707D1012344 +:10C0200019435174890602D5011DFEF7BBFC10BDF2 +:10C0300000BA704740BA7047F0B5FFB00E4684B002 +:10C04000174604461221ECF784F830787178000224 +:10C0500008182080B078F1780002081880B2020435 +:10C060000121002A00DAA1704204120FE270420599 +:10C0700000D52171820500D56171C20500D5A1717D +:10C08000020600D5E1710007000F20723179707946 +:10C090000902401881B26181B279F07912028018E8 +:10C0A000A081327A707A12028018E081B27AF07A36 +:10C0B00012028018208230460C30002500290ED94B +:10C0C0000146009002AA3046F7F7B6F901460098FB +:10C0D0006D1C40186189ADB2001DA942F0D8002145 +:10C0E0000091A189002932D90546014602AA3046AD +:10C0F000F7F7A2F92D18287869780002081880B29D +:10C100000A350D281BD201007944097949188F445A +:10C110001606101616101610101016161000287895 +:10C12000387068787870A878B870E878F8702D1D45 +:10C1300005E002AA29463046F7F77EF92D18009946 +:10C140002846491C89B20091A2898A42CCD8002095 +:10C15000E18901E0401C80B28142FBD80020218AA5 +:10C1600001E0401C80B28142FBD8207A002803D035 +:10C170007FB0002004B0F0BD7FB0012004B0F0BD5E +:10C18000F8B5002516460F46002806D0012805D030 +:10C19000022804D0032878D102E0142514350E3586 +:10C1A000002E49D0012E5FD0022E5DD0032E6CD11F +:10C1B0000720FFF781FE040067D02673002020606F +:10C1C00060191330B0436060314827814068ED1C2E +:10C1D0003930A908B0438900401AB84200D938461E +:10C1E00080B201216081E1813D1A00941DE00720A9 +:10C1F000FFF762FE00281BD0067300214173016027 +:10C200000099AAB208602249028149683931890837 +:10C2100089008A4200D2294689B202464181103201 +:10C2200042600122C2816D1A0090002DDFDC26E001 +:10C23000204600F0D3F828E0284613308108F81C87 +:10C24000800889008000081880B2FFF73DFD0400D7 +:10C250001BD06019133080088000606027816781DF +:10C260000020206020730AE00620FFF725FE04006E +:10C270000BD0002060602781678120602673012039 +:10C28000E081002060732046F8BD0020F8BD00006A +:10C29000F04D002010B500280FD000290DD004E08B +:10C2A00003890C891B19038110460268002AF7D103 +:10C2B00002890B89D2180281016010BD10B50C46AD +:10C2C000FFF7E8FF204600F007F910BD002102E06B +:10C2D000491C0068C9B20028FAD108467047F8B571 +:10C2E00000270C4605463E46002805D0002C03D00A +:10C2F00028892189884202D20920C043F8BD688973 +:10C30000C11B6089801B814201DB80B200E088B2E2 +:10C3100000906068009A81196868C019EBF700FF07 +:10C320000098381887B20098301886B26889B842E9 +:10C3300001D12D6800276089B04201D82468002609 +:10C34000002C06D060892189884202D1206800280B +:10C3500008D1002D09D068892989884205D128682B +:10C36000002802D00820C043F8BD002CC7D100200F +:10C37000F8BDFFB5002181B016460091002806D017 +:10C380000299002902D00027044621E0002005B0D0 +:10C39000F0BD002B05D06089984202D8181A83B2EC +:10C3A00015E06089C01A85B2B54200D9354660688B +:10C3B0002A46C1180298C019EBF7B2FE009840193E +:10C3C00080B20090781987B2701B86B2002324686F +:10C3D000002E01D0002CDCD10098D8E770B50028E1 +:10C3E00015D00024C189491E0904090CC1810DD151 +:10C3F000017B056803290BD001290CD002290AD042 +:10C40000FFF724FC641CE4B22800EBD1204670BD89 +:10C410000146072001E001460620FFF71BFDF1E77A +:10C4200010B5002909D0002807D0002907DA4A42B0 +:10C4300093B242899A4224D302E0002010BD8BB20D +:10C44000027B4468002A06D0032A04D0022A0AD0BC +:10C45000012A08D015E0621A0346103342609A425E +:10C4600008D244600DE000290BDA42899A4208D3D1 +:10C47000621A426042895218428102895118018130 +:10C48000DBE7012010BD70B502898A4223D98A1AE0 +:10C490000D46044605E0281A85B2208980182081BF +:10C4A00024686089A842F6D3207B00280AD16089DD +:10C4B000A84207D0A088001B401981B22046FFF790 +:10C4C0005DFC0446658125812068002801D0FFF7C6 +:10C4D00085FF0020206070BD002802D0C189491C62 +:10C4E000C1817047C107044803D0FF211F31416259 +:10C4F00070470249FBE70000009000401E01040065 +:10C5000030B5134902884B68D2189C1C90420ED05B +:10C510001579002D0BD18D68AA4208D0CD689542BF +:10C5200000D1C860158805801288C51A1553428845 +:10C53000D21882420BD01579002D08D1CD688542E2 +:10C5400000D1CA60018811800088D11A015330BD22 +:10C550007C010020F0B593B00446402102A8EBF71F +:10C56000F8FD2246102102A8FCF7F4FE0024154F26 +:10C57000054600280ED9A10002A84258E000201864 +:10C58000C61911A13046FCF729FA2020641C30722C +:10C59000AC42F0D30E48002D0CD0E9006B18009788 +:10C5A000006A0CA20D49FCF7EFF90D48FCF7ECF915 +:10C5B00013B0F0BD406AFCF7E7F90948FCF7E4F96D +:10C5C00013B0F0BD782A00202530386C78000000C8 +:10C5D000B0F101002E61786600000000182A0020EA +:10C5E0002C96010010B50446002905D00846EBF74B +:10C5F000E2FD2060002010BD0020FAE710B50446DF +:10C60000002905D00846EBF7D6FD6060002010BD7C +:10C610000020FAE7F3B583B0002000900398466845 +:10C62000707A317A00020843FFF704FDC0B201902E +:10C630001448002504681FE0217C0198814216D12E +:10C640006769002F13D033460C33A0692146039A43 +:10C65000B84700280BD00020039001200090002D47 +:10C6600005D0E068E86007480168E160046025469D +:10C670000098E468002801D1002CDDD1009805B0B5 +:10C68000F0BD00003002002070B505460020FFF725 +:10C6900013FC040009D01C21EBF75BFD25748020FE +:10C6A000E07203480168E1600460204670BD00004C +:10C6B00030020020826141617047000010B50B49D3 +:10C6C0000A6882420AD1D2680A6009E0D16800296A +:10C6D00003D0814201D1C168D1600A46002AF5D158 +:10C6E00001460020FFF7B6FB10BD0000300200201D +:10C6F00010B5021D00F001F810BDF7B50E46044656 +:10C7000084B014213046FFF78BFE0027FF4300283A +:10C710000AD0002211460120FFF732FD05000BD0A0 +:10C720003146FFF7CBFD0AE013213546C9433046B9 +:10C73000FFF776FE002802D0384607B0F0BD069815 +:10C74000FEF7F0FE002817D0002C1DD0216800292C +:10C750001AD02146227CA37A019202900093E37AB8 +:10C760002846069AFEF758FE0446B54202D02846EF +:10C77000FFF734FE2046E0E7B54202D02846FFF737 +:10C780002DFE0320C043D8E7011DE3E7F3B50446BF +:10C79000007C87B00A283ED0A06D0390606A0290AA +:10C7A000002C42D020680490201D00D060680590C5 +:10C7B00094200559278B268C606900902046F5F758 +:10C7C0002DFC21461A4801F02DF9A06F002801D058 +:10C7D00001F0CBFF606F002801D001F0C6FFE06FD1 +:10C7E000002801D001F0C1FF21460220FFF732FBF3 +:10C7F000002D03D00421C9430098A84708980028B9 +:10C8000007D005AB04AA009701960299039801F09E +:10C8100019FF09B0F0BD06482146001D01F002F9DC +:10C8200021460220FFF716FBF3E700200490BDE746 +:10C83000AC010020F8B507460220FFF73DFB3E4C57 +:10C840003E4D060040D1287C400701D40020F8BDB1 +:10C8500000210846A668A26906E0136BF31A8B4212 +:10C8600001D319461046D268002AF6D1002802D01A +:10C870000121FFF78BFF0220FFF71EFB060023D1EB +:10C880007F1E7F20844600206269A168FEB2864632 +:10C8900000910DE0517CB14209D8614507D8176B72 +:10C8A000009BDB1B734502D39E4610468C46D26824 +:10C8B000002AEFD1002802D00121FFF767FF0220F4 +:10C8C000FFF7FAFA060035D0AC21EBF742FC402026 +:10C8D0007074C1013018C18500230386A988318591 +:10C8E0007185B3728021F17243226968D20091424E +:10C8F00000D911463187062101818380C180C91F7B +:10C90000F1860121418200F0F7FD7066B065F064A8 +:10C91000B066A068306334208355304608498030C3 +:10C92000816008490A6882614A68C2618968016257 +:10C93000A92083553046F8BD98010020F04D002015 +:10C94000F1E40100044E002041617047F7B507464D +:10C95000007C82B01446002803D00C20C04305B0F0 +:10C96000F0BD002C02D100F099FD04463548056861 +:10C9700011E0288BA0420DD1002D4BD02E68002E47 +:10C9800048D00398002845D0EBF715FC002841D08B +:10C99000B0423FD0ED68002DEBD12A4D103D6E69BD +:10C9A00013E0308BA0420FD1002E33D030680090BE +:10C9B00000282FD0039800282CD0EBF7FCFB002890 +:10C9C00028D00099884225D0F668002EE9D1EE687B +:10C9D00013E0308BA0420FD1002E1BD030680090A6 +:10C9E000002817D00398002814D0EBF7E4FB0028A8 +:10C9F00010D0009988420DD0F668002EE9D1AE69BA +:10CA00000CE0308BA04208D10398EBF7D4FB3168DF +:10CA1000884202D10A20C043A1E7F668002EF0D177 +:10CA20000398002808D0EBF7C6FB002804D00422A6 +:10CA300038460399EBF774FB3C83E868F860002004 +:10CA4000EF608CE7A801002070B50546007C052644 +:10CA50000300FBF7FDFF08051D2B35354A4A3D4A0B +:10CA60002846F5F7DBFA24480024C168A94201D121 +:10CA7000C96807E0C161002905D0C968A942F9D198 +:10CA8000E968C069C1600020E860294602200AE028 +:10CA900000242846F5F7C2FA17482946103000F05E +:10CAA000C1FF29460320FFF7D5F923E000242846DB +:10CAB000F5F7B4FA10482946143000F0B3FFE4E764 +:10CAC0000121284601F05EFE040009D12E7407E022 +:10CAD0000121284601F056FE040001D109202874E6 +:10CAE000002D07D0002C02D004E0002402E02846EC +:10CAF00000F064FD204670BD9801002010B504468A +:10CB00000846FEF70FFD002808D0008D002805D04C +:10CB1000283880B2844200D220460446204610BD08 +:10CB2000FFB58FB0119919980143129880070143FE +:10CB3000EE4877D01199002902D11099002971D1BE +:10CB40000F98119940300690C28D0F9820300D90AB +:10CB50008A4205D28178802001430D98817050E18E +:10CB60001098029019980991C00701D0042100E0A3 +:10CB700000211998800701D50C2000E0002008183A +:10CB800007900F98876E0698008E0590D8484168E8 +:10CB90000120C003EBF79AFA01460598814202D9B9 +:10CBA000D449884201D90D98D4E7002603960F98FE +:10CBB000018F0798081A0999884200DB084680B25D +:10CBC00000900420FFF778F904006ED0002525605E +:10CBD0006560002E27D00398046018980394C0075E +:10CBE00023D0079900980022401881B21046FFF721 +:10CBF000C7FA60600028E8D0FFF768FB0146059897 +:10CC0000081880B205901098002807D06068009A34 +:10CC10004168079808180299EBF782FA6068406843 +:10CC2000A06026E0EFE00646D7E70022104607990D +:10CC3000FFF7A6FA60600028C7D0FFF747FB014660 +:10CC40000598081880B205900998002811D0012293 +:10CC500003200099FFF794FA010021D00598401CA9 +:10CC600080B20590029848600298A0606068FFF763 +:10CC700011FB9F4841680120C003EBF727FA0146EA +:10CC80000598814211D301469A4881420DD80098F7 +:10CC9000A08114216068FFF7C3FB002805D105E0DF +:10CCA0006068FFF79BFB002060609FE06068406861 +:10CCB00020610F98008BFEF70DF821690870000ABB +:10CCC00048700F98008CFEF705F821698870000AFB +:10CCD000C8703846FDF7FCFF2169091DEBF775FAAE +:10CCE0002069290A8574C17482483C38FDF7F2FF37 +:10CCF00022690546517B127B090211430D401298AF +:10CD0000FDF7E8FF05432069290A05734173199867 +:10CD1000A0732169487B097B00020843FFF78AF969 +:10CD2000079905228908800609031203800E8918D5 +:10CD30000843FDF7CFFF21690873000A4873009983 +:10CD400009987F18401A80B2099002984018029002 +:10CD50000998002800D02AE70F98456F002D72D05F +:10CD600000E0054628680028FBD1002D6BD029691A +:10CD7000487B097B00020843FFF75CF9800700D07D +:10CD80000120A989C84277D02969487B097B000224 +:10CD90000843FFF74FF980076ED11298800702D041 +:10CDA0001298012868D1A889B18941180F98008F7D +:10CDB000814261D8A87BB17B88425DD12869001D82 +:10CDC000EBF7F9F9FFF734F9A98947183069001D25 +:10CDD000EBF7F1F9FFF72CF987424DD1079970680D +:10CDE00014314942FFF71CFB00280ED00D988178C2 +:10CDF000802001430D98002E817002D0304601F052 +:10CE0000B4FC0020C04313B0F0BD70684189002914 +:10CE100009D101687160002101600599491E89B23C +:10CE20000591FFF7DBFA1298C0070DD00120FDF73E +:10CE300051FF29694A7B0B7B12021A431043087386 +:10CE4000000A48730AE014E071686868FFF722FA84 +:10CE5000A889B1894018A88130682860B44202D1FD +:10CE6000A8892C46009031460420FEF7F3FF04E029 +:10CE700002E00F98466700E02E601298800703D00A +:10CE80001198401C80B211901298C00705D00D98DF +:10CE90002021807808430D9988700F98816E119831 +:10CEA00009180F9881660698C18D1198081A06997D +:10CEB000002CC88506990598088614D0009800288B +:10CEC00011D0206900280ED0189880070BD40820B4 +:10CED000FDF700FF21694A7B0B7B12021A431043C6 +:10CEE0000873000A487300208DE70000F6FFFFFF7B +:10CEF000F04D0020FCFF00008030416170470000D1 +:10CF0000F8B518480026446928E0254680352A6887 +:10CF1000002A0FD0AF68002F04D00023214660699B +:10CF2000B84704E000232146184601F0E1FA002842 +:10CF300000D12860761CF6B2642E11D82546203523 +:10CF4000A878C10709D002210843A870204600F044 +:10CF500035FBA87880088000A870E468002CD4D144 +:10CF6000F8BD000098010020F0B50746ED4D87B0F0 +:10CF700040680C46A8604178027808021043FFF729 +:10CF800059F80005000F7968800040186860A968AA +:10CF90004878097800020843FFF74CF80005000FB5 +:10CFA000800041423846FFF73BFA00287ED138899D +:10CFB00014287BD3A86821461030FEF723F80028F8 +:10CFC000F4D1A8681030EBF7F6F804460F200007FC +:10CFD000FFF72EF8044007204007FFF729F88442A6 +:10CFE00064D038890090AA680623114638460C316F +:10CFF0001032FDF7CBFF0028D8D16868417B027B57 +:10D0000008021043FFF716F8000B80004142384633 +:10D01000FFF706FA0028C9D1696848780978000244 +:10D020000843FFF707F8014668680170090A417074 +:10D03000C178827808021043FEF7FCFF0146686859 +:10D040008170090AC170001DEBF7B5F8FEF7F0FF1B +:10D0500069680C46091DEBF7B8F8E860204608300F +:10D06000EBF7A9F8FEF7E4FF69680C460831EBF727 +:10D07000ACF82861E07BA17B00020843FEF7DAFFF1 +:10D08000014668688173090AC173417B027B08020B +:10D090001043FEF7CFFF8006800E28703989800785 +:10D0A00000D0012008186880002600E0B8E09E4803 +:10D0B00004689C480194806801460C31103004904B +:10D0C0009848069145683EE068782A78218C0002ED +:10D0D0001043814235D1E878AA78218B00021043B1 +:10D0E00081422ED10698EBF766F86168884228D114 +:10D0F0000498EBF760F82168884222D1002E05D011 +:10D10000E068F06088480199E1600460002C1CD060 +:10D110008649002008603A898A817A684F608A606F +:10D12000804A0D6150612646507080363268002A70 +:10D130007BD0B568002D7AD0002321466069A847CE +:10D140007AE02646E468002CBED1794804681EE0E7 +:10D1500068782A78218C00021043814216D1E87841 +:10D16000AA78218B0002104381420FD10698EBF779 +:10D1700022F86168884209D10498EBF71CF821680D +:10D18000884203D1204601F077FC49E0E468002C96 +:10D19000DED1684800260468009421E0002C0AD003 +:10D1A00020680690002806D00498EBF704F80146A2 +:10D1B0000698814212D1E878AA78218B00021043A8 +:10D1C00081420BD1002E05D0E068F06059480099EB +:10D1D000E1600460204600F0DDF821E02646E468C6 +:10D1E000002CDBD1687B297B00024E4C0843FEF704 +:10D1F00021FF400714D4616848780A780002104380 +:10D20000CA788B781102194300910190A368618854 +:10D21000E0681A46411810320C33206901F012FA06 +:10D220003846FFF7DBF807B0F0BD08E0FFE7002362 +:10D230002146184601F05CF90028F1D13060394DE3 +:10D240002046AC6100F01CFC401D61D068780107ED +:10D250001BD505A92046F1F7F1FB012802D1207C5E +:10D26000022855D02046F4F7D9FE7269002A03D06F +:10D270000521C9436069904721462B4800F0D2FB45 +:10D2800021460220FEF7E6FD42E0C00603D5204617 +:10D29000F4F7C4FEF0E76C20025B002A05D0736847 +:10D2A000002B02D02146606998476A69002A17D08E +:10D2B0002878000703D5507B012108435073B768D5 +:10D2C000002F04D0002321466069B84704E0002302 +:10D2D0002146184601F00CF9002801D06869306039 +:10D2E00068782F4680060ED5B668002E05D000233C +:10D2F0001A4621466069B04705E000231A462146D8 +:10D30000184601F0F5F80020B861204600F056F903 +:10D310000026064CAE616068002884D0FFF75EF8F6 +:10D32000666080E750020020AC0100202C580020ED +:10D33000B0010020A80100207CB504460022142181 +:10D340000120FEF71DFF050022D0A06D401EFDF755 +:10D35000BFFC034600222946204600F0A3FA0646F9 +:10D36000288900900623221D21462846FDF70EFE3F +:10D370003074000A70740621002001910090E37A55 +:10D38000221D21462846FEF72DF82846FFF726F8ED +:10D390007CBD0000FEB53C4D06462878C10616D57A +:10D3A000696848780A7800021043CA788B781102BD +:10D3B0001943009101906988E868AB6841182869B1 +:10D3C0001A46401C10320C3301F03CF959E080073A +:10D3D00057D5707CFFF72EFA04004BD0AF68384663 +:10D3E000103001D0EAF7E7FE2060308B208338460A +:10D3F0000C3001D0EAF7DFFE60606A68507811787F +:10D4000000020843208403202074E868411C616204 +:10D41000E162D17B937B0A0221461A4340318A8321 +:10D420008A82401E206670696061F069E06130891F +:10D43000FF219A310840208114480168E1600460AE +:10D44000204600F087FA208F211DFFF757FB208729 +:10D45000002001210191024600900146122320463E +:10D46000FFF75EFB050008D000212046FFF78EF98C +:10D470002846FEBD0020C043FEBD204600F09EF8B9 +:10D48000FEBD0020FEBD000050020020AC010020C7 +:10D4900010B54020FFF7CEF910BD000030B515489B +:10D4A000134D44694188491C89B24180A94202D97F +:10D4B0000121090341802146438803E00A8B9A42F7 +:10D4C000F0D0C9680029F9D1826903E0118B994233 +:10D4D000E8D0D268002AF9D1064910310A6803E081 +:10D4E000118B9942DED0D268002AF9D198B230BDB2 +:10D4F000FF7F00009801002002498A684868801870 +:10D500004860704798010020F8B50C46016905464F +:10D51000487B097B00020843FEF78CFD254FC007BE +:10D5200027D0204601F021F9002441E0707B317BB7 +:10D5300000020843FEF77EFDC00716D01E48FDF727 +:10D54000C9FB29690646487B097B0002084306405F +:10D55000FEF770FD8006800E01210843FDF7BAFB3F +:10D5600006432869310A067341732046246801F096 +:10D57000EBF8002C1CD020690646001DEAF71BFEC4 +:10D580000146A089FA680818A9898918081ACDD512 +:10D590002069001DEAF70FFEAA89F9685218121ACD +:10D5A000002A05DD401A81B2A9816868FEF76BFF89 +:10D5B0002C60F8BD50020020C0FF0000F0B504460A +:10D5C0007D4885B00068A04202D1002005B0F0BDC2 +:10D5D0002046403003900399808B498A884200D3CB +:10D5E0000846029020462030656F009080788007C2 +:10D5F00012D5002D0CD02869001DEAF7DCFDFEF7DE +:10D6000017FDE16C401AA98941180298814203D99B +:10D61000204601F0C2F8D9E7A66F002E01D199E0AB +:10D62000064630680028FBD194E0A06F002812D095 +:10D63000009844228078014610420CD1606F002887 +:10D6400006D00268002A06D18089228F904202D239 +:10D65000A020014276D028686067207C022812D082 +:10D660001020FDF737FB01462869427B037B12023D +:10D670001A4311430173090A4173009880788108A5 +:10D680000098890081702146284600F097F82869A3 +:10D69000001DEAF790FDFEF7CBFC29690746487BA1 +:10D6A000097B00020843FEF7C5FC800700D001207B +:10D6B000A98938184018A16D091A00D5A0652969F3 +:10D6C000487B097B00020843FEF7B4FC800701D0C9 +:10D6D000012100E00021A889C14237D00020286044 +:10D6E000A06F002811D02869001DEAF764FDFEF73D +:10D6F0009FFC07463069001DEAF75DFDFEF798FCC8 +:10D70000381A20D52046783003E0A5671CE0019840 +:10D7100000680190006800280ED00069001DEAF73B +:10D720004AFDFEF785FC07462869001DEAF743FD20 +:10D73000FEF77EFC381AEAD4019800682860019848 +:10D74000056006E017E035602E4602E0284600F04E +:10D75000FBFF656F002D28D02869001DEAF72BFD1F +:10D76000FEF766FCE16C401AA989411802988142D3 +:10D7700000D85AE701E0002D17D02646A036307AAF +:10D78000002812D12869001DEAF715FDFEF750FCAC +:10D79000E16C401AA98941180398808B814204D911 +:10D7A0000020803460620120307200988078410649 +:10D7B0000098490E817008E7680200207CB5054694 +:10D7C0000C46486AFDF784FA29690831EAF7FDFC3E +:10D7D000608DFDF77FFA29698873000AC873618D2F +:10D7E000606A4018E0622E69A87B1436C00707D033 +:10D7F0002A488121406889040843FDF769FA3060AE +:10D80000002C02D02068002808D1201DFDF78AFED8 +:10D81000002841D0011D07D0406820603620205EDE +:10D820000026401C02D002E00020F6E7E686E06B0E +:10D83000002809D11A480068E0632869001DEAF74A +:10D84000BAFCFEF7F5FB20646968288A8A880623FB +:10D85000801A4A89121A4A8169680A89101A08814D +:10D860006968286948602869310A067441746868E3 +:10D87000221D018900912146FDF788FB2969221D9F +:10D880000874000A4874A07A062101910090E37A96 +:10D8900021466868FDF7A6FD7CBD0000F04D002024 +:10D8A000A0010020F8B505461F461646008B4C68BF +:10D8B000FDF710FA2070000A6070288CFDF70AFA54 +:10D8C000A070000AE070211D3846EAF77EFC686A05 +:10D8D000FDF7FEF921460831EAF777FC1C48FDF711 +:10D8E000F9F9617B227B0902074611430F401020A2 +:10D8F000FDF7F0F907432773380A6073688DFDF769 +:10D90000E9F9A073000AE0730027A774E774607B4D +:10D91000217B00020843FEF78DFBF117890F89195F +:10D9200089100522800609031203800E8918084316 +:10D9300080B2FDF7CFF92073000A60732774380AAC +:10D940006074698D686A4018E8622046F8BD00007E +:10D95000C0FF0000F8B5204E05467468617B227B4D +:10D96000080210431434FEF765FB000B05281CD990 +:10D970007168487B097B00020843FEF75BFB000BE4 +:10D98000401F8004000C0021144B0CE0625C002A54 +:10D990000BD0012A0AD0022A0AD062185278002A33 +:10D9A00003D0511889B28142F0D3F8BD491CF9E780 +:10D9B00062185678042EF8D1091D8142F5D8D67820 +:10D9C000977832023A435E6852BA964201D3002AEF +:10D9D00000D132462A87E5E750020020F04D0020B2 +:10D9E00070B50446007C00281BD00A2819D00128F5 +:10D9F00017D02546803528680026002802D0FEF77B +:10DA0000EDFC2E600020C043E086E06F00F0ADFE2C +:10DA1000E667606F00F0A9FEA06F00F0A6FE6667E3 +:10DA2000A66770BD70B50C460168A14202D1C968F5 +:10DA300001600BE0114806E0C968A14203D1C0694A +:10DA4000E168C16002E0C1610029F5D100252046EE +:10DA5000E560FFF7C5FF207C0A280CD001280AD01A +:10DA6000204620308178CA0705D0022211438170F8 +:10DA70002046FFF7A3FD257470BD0000980100202B +:10DA8000FEB50446C84F25463878203541070029A1 +:10DA90001BDA207C022813D0606AF9680A1A13D4B2 +:10DAA000228D8018081A00280EDC78780821084397 +:10DAB0007870A87840084000A8700520C043FEBDDB +:10DAC000A06D39698842F0D06CE180070CD5207CCC +:10DAD000022809D0032807D0A87802210843A8709B +:10DAE0002046FFF76BFD5DE1B048A9210068206387 +:10DAF000002008552046FFF72DFF207C2646801E7B +:10DB000040360300FAF7A4FF080565BEC3F0BEEF78 +:10DB1000EEB23878C106D7D5800748D5A06F006926 +:10DB2000001DEAF748FBFEF783FA3969401C88427A +:10DB30003AD1F08D401CF085F8680246401C6062C6 +:10DB4000E164E0627968521EC87B897B0002084369 +:10DB5000B083042022662074208F211DFEF7CEFFA3 +:10DB60000A2120874143B182718A012900D14000F6 +:10DB70007082308E401E3086A16F0868A067002832 +:10DB80000ED00020E086B072084600F0DDFD8C204B +:10DB90000359002BA0D000222146606998479BE7DB +:10DBA0000020C043E086EFE73878C0068CD579685E +:10DBB00048780A7800021043CA788B78110219431A +:10DBC000009101907988F868BB6841181A46386955 +:10DBD00048E03878C1064AD5E16C3869411A012914 +:10DBE00030D4A16D411A00292CDC04202074E36993 +:10DBF000002B0CD00022214660699847002806D0EF +:10DC000001212046FEF7C2FD0420C043FEBD778AF5 +:10DC1000204600F0D3F8B08D002801D0401EB0851A +:10DC2000208F012F00D1400070825F48407880062D +:10DC30001CD5A87802210843A8702046FFF7BEFC37 +:10DC4000072062E07A685178137809021943D37883 +:10DC500094781A022243009201917A88F968BB688D +:10DC600089181A4610320C3300F0ECFC9AE0800759 +:10DC700007D5606AF968401E884202D1204600F04C +:10DC80007AFC8FE0204600F099F87878CFE72046BC +:10DC900000F094F87878800638782FD5C00624D51F +:10DCA000A06D3969884220D1A87802210843A87064 +:10DCB0002046FFF783FC2046FFF792FE3C480168B0 +:10DCC000A14202D1C968016057E03A4806E0C9683C +:10DCD000A14203D10068E168C1604EE00160002903 +:10DCE000F5D14AE050E02FE011E0A8780221084386 +:10DCF000A8702046FFF762FC082006E0C00651D558 +:10DD0000A06D396988424DD1062020744AE0204632 +:10DD100000F054F87878800644D5A87802210843AA +:10DD2000A8702046FFF74AFC2046FFF759FE20481E +:10DD30000168A142C6D01F4802E0C968A142C9D00B +:10DD400001600029F9D118E0204600F037F8387852 +:10DD5000C00627D5A06D3969884223D12046FFF738 +:10DD60003FFE13480168A142ACD0124802E0C968E6 +:10DD7000A142AFD001600029F9D10A2020740E48D9 +:10DD80000168E16004600DE0204600F017F8387883 +:10DD9000C00607D5A06D3969884203D17878102173 +:10DDA000084378700020FEBD50020020A001002032 +:10DDB000AC010020B4010020B0010020FEB50446F3 +:10DDC000F848264600782036C00600287EDA254628 +:10DDD0004035A88B0190636EF249C0180090206E08 +:10DDE000CA688446871A0846416800690CD494457D +:10DDF00001D11F1A08D4834215D1CB7B8F7B1B0224 +:10DE00003B43019FBB420ED9CB7B8F7B1902394329 +:10DE1000A9832266606606D02146A0310A7A002ACC +:10DE200001D000220A72E26C811A00292ADC00214A +:10DE3000DC4BA9855B88002B22D1AF8B636EDF1989 +:10DE4000009B9F421CD13623E35E002B18DB8242ED +:10DE500016D1287C0146401C884200D92874287CB1 +:10DE6000032807D9688A218F411889B2814200D9D5 +:10DE700069829CE0032802D1204600F0A4FB96E0D2 +:10DE8000297494E0012975D4A36DC21A002A71DCAB +:10DE9000B278530704D5FB231A40B270AA8A6A826B +:10DEA0000022AA720423EB5EEF88DB10DB192B81C2 +:10DEB000A985EB8D5918E9852A74E064207C042833 +:10DEC0002FD36F8AA88A8742208F00E0B2E004D265 +:10DED000381880B2B84208D823E040433946EAF700 +:10DEE0000BF9C01980B287421BD2688219E03868EA +:10DEF000A067A88D00280BD03969487B097B0002F8 +:10DF00000843FEF797F8C00702D0A88D401EA885E9 +:10DF10007868FEF7DBF9298E081A2886384600F063 +:10DF200013FCA06F002822D00069001DEAF743F916 +:10DF3000FEF77EF80746A06F0169487B097B000267 +:10DF40000843FEF777F8800700D001203818A76F44 +:10DF5000B989411893480069081A0028C7DD002FC5 +:10DF600005D00020E0860020307520E002E000208F +:10DF7000C043F7E70020A88519E038686067A88DDE +:10DF800000280BD03969487B097B00020843FEF763 +:10DF900051F8C00702D0A88D401EA8857868FEF70A +:10DFA00095F9298E081A2886384600F0CDFB606F57 +:10DFB00000281DD00069001DEAF7FDF8FEF738F8CB +:10DFC0000746606F0169487B097B00020843FEF742 +:10DFD00031F8800700D001203818676FB9894118DF +:10DFE00070480069411A03D4A16D401A0028C4DDAD +:10DFF000E06B00281ED06B49226C0969511A19D5B3 +:10E0000069490988081A0421695ECA10801A00B299 +:10E01000091809B2A980002801DA404200B206229C +:10E02000AA5EC9109310C01A1018E8800818288139 +:10E030000020E0635B4D6B88002B7DD0626AE9684D +:10E04000501A01282AD4CB18D31A5B1C002B25DCCC +:10E0500056494F68798981420BDA3989091A8AB29F +:10E06000002303E03A817B813F68401A798981422D +:10E07000F8DB404201B23846FEF7D2F94B487968E6 +:10E080008160AB89626A8189D31AC91A8181016969 +:10E090001046091DEA60EAF798F808E0881A0AD5E0 +:10E0A000B17802200143B1702046FFF787FA606A19 +:10E0B000E968081A7ED4218D606A4218E9688A1AD4 +:10E0C000521C002A76DC884275D1384F3969487B6A +:10E0D000097B00020843FDF7ADFF800701D0012155 +:10E0E00000E000213148808908182E4980B248801C +:10E0F000218D814240D22D4D2969487B097B000248 +:10E100000843FDF797FFC00714D02948FCF7E2FD4C +:10E1100007462869417B027B080210430740FDF750 +:10E1200089FF3E210840FCF7D5FD07432869390ADD +:10E1300007734173208D00E0C1E1A8812969487B04 +:10E14000097B00020843FDF775FF800702D5A88907 +:10E15000401EA881A9896868FEF795F92969487B5E +:10E16000097B00020843FDF765FF800700D001200E +:10E17000A98940180B494880E06F002811D00B484E +:10E180000169487B097B00020843FDF753FFC00784 +:10E1900004D111E00168E16700F0D6FAE06F0028D1 +:10E1A000F8D189E050020020A00100202C58002066 +:10E1B000C0FF00007FE1FBE0E76F3AE0687B297B6E +:10E1C00000020843FDF736FFC0072ED0C54800699E +:10E1D000417B027B08021043FDF72CFF800724D40B +:10E1E000C148FCF777FD0546BE480169487B097BBD +:10E1F000000208430540FDF71DFF8006800E012147 +:10E200000843FCF767FDB74928430969020A087308 +:10E210004A73FDF70FFF800701D0012100E00021C4 +:10E22000B04880890818B149488038463F6800F0F6 +:10E230008BFA002F3FD038690546001DE9F7BBFF78 +:10E240000146B8890918A948C26840881018401AC0 +:10E25000B4D53869001DE9F7AEFF0146A348C5688B +:10E2600040882818401A002825DDE06F0069001D4D +:10E27000E9F7A1FF401B9B4DA8812869427B017BE8 +:10E2800010020843FDF7D6FE800702D5A889401E7C +:10E29000A881A9896868FEF7F6F82969487B097B97 +:10E2A00000020843FDF7C6FE800700D00120A989BF +:10E2B00040188E494880E7678C4D6888E9680918DE +:10E2C0006162218D081A2085204600F01FFC8548D8 +:10E2D00041680A89002A02D0696100214160016910 +:10E2E000487B097B00020843FDF7A4FEC0074AD023 +:10E2F000687820210843687045E0E8600098417B19 +:10E30000027B08021043FDF795FE800700D0012034 +:10E31000BA89616A8918401860623969487B097B4B +:10E3200000020843FDF786FE800700D00120B9896E +:10E330004018218D081A2085204600F0E7FB7968F7 +:10E340000889002808D06869002802D0FDF7A2FFDC +:10E3500000E06961002078603969487B097B000230 +:10E360000843FDF767FEC00708D0687820210843FE +:10E370006870207C042801D1072020743868E06789 +:10E38000384600F0E1F9E76F002F07D038690090B8 +:10E39000001DE9F710FF616A8842AED0B078C1076E +:10E3A00002D04008400095E001210843B070FEBD56 +:10E3B000204600F0F2F9E66F002E18D04B480027F7 +:10E3C000C5683069001DE9F7F6FE0090A84213D138 +:10E3D0004448B18980898842E9D9424800F0A2F9CD +:10E3E0000028E4D0002F38D0386031462BE03D487B +:10E3F00000F098F9E067FEBD002F27D03869001DB6 +:10E40000E9F7D9FE281A012829D40098281A401CB7 +:10E41000002824DC334800F085F90400EBD038698B +:10E42000001DE9F7C8FEB98942183049C968521A77 +:10E43000002A05DD081A81B2B9817868FEF723F851 +:10E44000314620463C60FFF75FF8FEBD281A06D52E +:10E45000244800F067F90028F7D0E067C5E7316885 +:10E46000002924D10098281A002820DD3069417B3A +:10E47000027B08021043FDF7DDFDC007E5D1194816 +:10E4800000F050F930600028DFD03069001DE9F756 +:10E4900092FEB18942181549C968521A002AD4DD82 +:10E4A000081A81B2B1817068FDF7EDFFFEBD3746F5 +:10E4B0000E0086D1FEBD204600F06FF9FEBD606AF9 +:10E4C000E9680A1A05D4228D8018081A401C002811 +:10E4D000F4DDB07802210843B0702046FFF76EF8F3 +:10E4E000FEBD00002C580020C0FF0000500200209C +:10E4F00010B51400084606D0218900F00BF820461C +:10E50000FDF76CFF01E0002B01D0002010BDFEF7ED +:10E510009BFA10BD70B50446008D0C4D401881B2B9 +:10E5200021856868814200D92085204600F0EEFAF6 +:10E5300069688908814208D8204620308178022203 +:10E54000114381702046FFF739F870BDF04D00206F +:10E5500010B5018504464185002901D000F0D6FAA6 +:10E560002046203081780222114381702046FFF737 +:10E5700025F8012010BDF8B5866F0446002E21D085 +:10E58000306825467435A06700E02D6828680028AB +:10E590000ED00069001DE9F70EFEFDF749FD0746A4 +:10E5A0003069001DE9F707FEFDF742FD381AECD48B +:10E5B00028683060214640312E60887A401C88727D +:10E5C0000020E063F8BD70B50446806F002820D0BD +:10E5D00025462035A87840071BD42046FFF7CBFFFF +:10E5E00020464030428A818B8A4201D9490800E0A6 +:10E5F00051088182228F8BB251008B4200D28182DE +:10E60000818A5300D21889184182A87804210843CE +:10E61000A87070BD10B5816F002912D000E01146BE +:10E620000A68002AFBD1426F0A60816F002282676C +:10E630004167014640318B7A5B1C8B72C263FEF7E7 +:10E64000BDFF10BDFFB50E4683B01F46002214214A +:10E650000120FDF795FD05005ED06C680C98FCF775 +:10E6600039FB2070000A60700D98FCF733FBA07036 +:10E67000000AE0700398FCF72BFB211DE9F7A5FDCC +:10E680003046FCF725FB21460831E9F79EFD23487B +:10E69000FCF720FB617B227B0902064611430E40FA +:10E6A0001420FCF717FB06432673300A60731C48DE +:10E6B000808880B2FCF70EFBA073000AE07300268E +:10E6C000A674E674607B217B00020843FDF7B2FC70 +:10E6D00080060521800E09034018FCF7FBFA207321 +:10E6E000000A60732674300A60742889009006233B +:10E6F0003A4628460599FCF749FC2074000A6074E4 +:10E7000006200096019080233A4628460599FCF79A +:10E7100069FE2846FDF762FE07B0F0BDC0FF0000AD +:10E72000F04D002070B505460420FDF7C5FB040040 +:10E7300008D014222946E9F7F3FC6068FDF7CCFE07 +:10E74000204670BD002070BD70B50025044600282D +:10E7500009D06068002802D0FDF740FE054621463A +:10E760000420FDF777FB284670BD70B5002405E056 +:10E770000568FFF7E9FF0019C4B228460028F7D161 +:10E78000204670BD1CB500230122019300920B4668 +:10E7900000221146FEF7C4F91CBD7CB504460026D4 +:10E7A000324614210120FDF7EBFC050029D020465C +:10E7B00020308178890889008170A06DFCF788FA83 +:10E7C0000346324629462046FFF76CF8064628895C +:10E7D00000900623221D21462846FCF7D7FB307403 +:10E7E000000A7074A07A062101910090E37A221D3C +:10E7F00021462846FCF7F6FD2846FDF7EFFD0020F0 +:10E800007CBD0120C0437CBDF0B597488BB0007E35 +:10E81000964E0690B0680027401CB0600797746958 +:10E8200006E138467F1CFFB264287DD80025089594 +:10E83000227C022A06D14A20015D0698814201D13C +:10E84000012554E0214640318B7A0698834201D15C +:10E85000012543E02046A0308446007A002813D0EA +:10E8600023468033596A824A491C5962825C91422C +:10E8700034D300215962072802D26146401C087235 +:10E88000204600F079F929E03620205E002801DBDF +:10E89000401CE086A06F002820D03620205E012892 +:10E8A0001CDB022A08D00420085ECA88C010801829 +:10E8B000704AD25C904008810020E086488A8A8BAA +:10E8C000904200D3104640088882228F904201D2A5 +:10E8D000500088824A822046FFF79CFE207C062852 +:10E8E00005D1206BB168081A282800D96D1C207A40 +:10E8F000000736D5207C042801D0072831D12046D6 +:10E900008030026AC16904914A4380690990FF21FD +:10E910001018F531E9F7DAFB0146206BB268101ADE +:10E920000190814205D200E09CE001206D1C08901E +:10E9300017E02046A0300090407A04994843099996 +:10E940004018FF21F531E9F7C1FB014601988142EA +:10E9500007D22046FEF7F0FC00980099407A401C50 +:10E960004872E06F00280CD0216BB2684823521A1D +:10E97000195F062359438A4203D3FFF7F6FE0020AE +:10E98000E067207C032802D0092807D00BE0216B28 +:10E99000B068401A282806D96D1C04E0216BB068C5 +:10E9A000401AF028F8D8002D29D02046F3F736FB7E +:10E9B0002046FFF715F80798002802D0E168C160EB +:10E9C00001E0E068706194200259002A03D004211C +:10E9D000C943606990470898002809D0218C208B92 +:10E9E00001910090231D2246616AA06DFFF72AFE67 +:10E9F00021460220E568FDF72DFA2C4618E0204656 +:10EA00002030017D491CC9B20175427D91420DD370 +:10EA10000021017590200259002A04D02146606926 +:10EA20009047002802D12046FEF7C8FD0794E4680D +:10EA3000002C00D0F5E60025B46911E02046F3F77C +:10EA4000EDFA2046FEF7CCFFE068002D01D0E8602B +:10EA500000E0B06121460220E768FDF7FBF93C4683 +:10EA6000002CEBD10BB0F0BDAC4D00209801002084 +:10EA70009FF20100A7F201007CB51B4C21784A07E8 +:10EA800030D4224652888B071CD5436AE168CD1AE0 +:10EA90001DD4058D5B19CB1A002B18DC636889180F +:10EAA00058781D7800022843DD789E782B02334386 +:10EAB00000930190A36820691A4610320C33FFF7C7 +:10EAC000C1FD0FE0C90702D0084909680163002AA7 +:10EAD00008D0014620318A7802231A438A70FEF753 +:10EAE0006DFD7CBD00207CBD50020020A0010020F7 +:10EAF00010B5FEF705FA04480178491C0170C807F3 +:10EB000001D0FFF781FE10BD9801002030B50D49FE +:10EB1000058D4968446A4A08018F63198A4200D208 +:10EB20001146C26A8918591A02D44585981A30BD0F +:10EB3000A11A002901DD002100E0111B4185002000 +:10EB400030BD0000F04D00201CB5047C042C08D022 +:10EB5000072C06D0022C04D0032C02D00720C0437F +:10EB60001CBD002A06D00024009301942346FDF723 +:10EB7000D7FF1CBD00201CBDFEB5846F0546002CD0 +:10EB800002D16C6F002C53D02169487B097B0002B5 +:10EB90000843FDF74FFAC00702D0A089002827D00C +:10EBA00000201521009000220120FDF7E9FA06005F +:10EBB0003ED02069001DE9F7FEFA034600223146E7 +:10EBC0002846FEF76FFE07460098002814D0194823 +:10EBD000FCF780F8797B3A7B0902044611430C402C +:10EBE0001120FCF777F804433C73200A787307E0A0 +:10EBF000012014210090D6E7A0687168007808759C +:10EC00003089009006232A1D29463046FCF7BEF9BC +:10EC10003874000A78740621002001910090EB7A84 +:10EC20002A1D29463046FCF7DDFB3046FDF7D6FBB2 +:10EC3000FEBD0000C0FF0000F7B50546234882B0C6 +:10EC400014460026076817E0BD4201D1012612E0F4 +:10EC5000788AA0420FD1002F2BD03868009000286E +:10EC600027D00398002824D0E9F7A5FA002820D05F +:10EC7000009988421DD0FF68002FE5D10398002835 +:10EC800001D0E9F798FA2860002C16D10F4801242A +:10EC90000168240308460E4A07E04B8AA34203D1C9 +:10ECA000641CA4B2014600E0C968002905D0944262 +:10ECB000F3D10A20C04305B0F0BD6C82002E03D111 +:10ECC00002480168E96005600020F4E7E4010020E3 +:10ECD000FF7F000070B51646428A0D460446002AA2 +:10ECE00004D10146FFF7A8FF00281FD1002D0ED048 +:10ECF0002846E9F760FA6060A682217C042211436D +:10ED00002174002C07D02168002902D00FE00020D8 +:10ED1000F1E7211D0FD0002809D0201DFCF702FCCF +:10ED2000002801D0406807E00320C04370BD211DCA +:10ED300001D0002801D10020206007490868024660 +:10ED400004E0844201D1002070BDC0680028F8D1E1 +:10ED5000E2600C60F7E70000E4010020F3B54568CD +:10ED6000074668782978000289B00843FDF762F900 +:10ED70000005000F80003989083088420ED8687875 +:10ED8000297800020843FDF755F90005000F8000BF +:10ED900041423846FDF744FB002804D03846FDF7D1 +:10EDA0001DFB0BB0F0BD78680590284610300A991D +:10EDB0000290FCF727F90490059841780278080240 +:10EDC0001043FDF737F903900598C178827808025F +:10EDD0001043FDF72FF900240690442805D00020A9 +:10EDE00000900190644804686AE0039843286FD15A +:10EDF0000A98006A00286BD04668002E68D0301D43 +:10EE00000BD070680090002807D028460C30E9F736 +:10EE1000D2F90146009881425AD1344661E000207F +:10EE20000790618A0698814241D10498002804D154 +:10EE3000002C18D02068002815D00298E9F7BBF9FB +:10EE40000146206881420ED00F200E460007FDF7D4 +:10EE5000EFF8064007204007FDF7EAF8864202D0A7 +:10EE60000498002821D0012007900198002803D1A0 +:10EE7000207C400700D40194A18A0398814216D1D6 +:10EE8000201D08D06668002E05D028460C30E9F712 +:10EE900092F9B0420BD10098002814D0E168C1600B +:10EEA00035480168E16004600DE0009407E00798D0 +:10EEB0000094002803D031490698884203D0E468C2 +:10EEC000002CACD101E0002C0BD1019C002C08D10E +:10EED0000298E9F770F901460A984068814200D02B +:10EEE0005CE70598C1798279080210430AD0388915 +:10EEF0000090294611230C313846029AFCF746F857 +:10EF00000028EDD10721C9433846FDF789FA0028CA +:10EF1000E6D1002C0BD0A669002EE1D0039800901A +:10EF20002B460C333A462146E069B04739E704984E +:10EF30000028D5D10298E9F73EF904460F200007D2 +:10EF4000FDF776F8044007204007FDF771F884428A +:10EF5000C6D06878297800020843FDF76BF80005F1 +:10EF6000000F810038460831FDF75AFA0321384670 +:10EF7000FBF7B2FE12E70000E40100206C0700007E +:10EF800010B50120FCF798FF040004D02021E9F718 +:10EF9000E0F88020E072204610BDC26181617047B8 +:10EFA00010B50B490A6882420AD1D2680A6009E0AA +:10EFB000D168002903D0814201D1C168D1600A46DD +:10EFC000002AF5D101460120FCF744FF10BD0000E6 +:10EFD000E401002010B5838A021D00F001F810BD85 +:10EFE000F8B507461D460E4614461046FCF79AFA39 +:10EFF000002807D000902B4622463146384600F0C4 +:10F0000004F8F8BD0320C043F8BDFFB5428A85B0BF +:10F010000F460546002A04D10146FFF70DFE0028E1 +:10F0200012D108213846FDF7FBF900280ED0002246 +:10F0300008210120FDF7A4F8040003D03946FDF7AC +:10F040003DF904E00020C04309B0F0BD3C46688AA9 +:10F050006668FBF73FFE3070000A70700898FBF797 +:10F0600039FEB070000AF0700020B071F071002D10 +:10F070000ED0286800280BD00E99496888420BD022 +:10F08000BC4202D02046FDF7A9F90820C043DBE7C7 +:10F090000E98001D039000E003952089FBF71AFEEF +:10F0A0003071000A7071287CC00710D1208900904F +:10F0B00011232046079A0399FBF768FF010AB071F4 +:10F0C000F171002803D1401EB071000AF071A87AD6 +:10F0D00011216B460E9A07C3EB7A2046079A0399D3 +:10F0E000FCF79AF90546BC4202D02046FDF776F9B6 +:10F0F0002846A9E7FFB581B0044615460298E9F70E +:10F100005AF809266168F643884203D10120F2F7D4 +:10F11000EBFA19E00299002916D0002814D02146F4 +:10F120000298FBF76FFF00280ED10298E9F743F829 +:10F1300007460F200007FCF77BFF0740072040072A +:10F14000FCF776FF874202D1304605B0F0BD049946 +:10F150000298FBF703FD0100F7D40B0108490220D8 +:10F160004A689918887206209A18CC60401EC0B26E +:10F1700014182B5C23710028F8D1C872E5E7000051 +:10F18000E801002001060000000000005555EE07D0 +:10F1900003010000000000005555EE0603010A00BF +:10F1A000000000005555EE060700010000000000B9 +:10F1B00034F5010024F40100A8F501008CF50100EC +:10F1C00090F30100B8F3010034F9010050F9010097 +:10F1D00054F40100C0F50100F0F40100D0F4010086 +:10F1E000E0F301005CF60100A4F60100D4F5010093 +:10F1F0008CF7010054F70100B4F8010060F8010039 +:10F200000CF8010034F8010010F90100ECF80100DD +:10F2100084F80100DCF601000CF5010034F6010071 +:10F2200004F7010064F501006CF90100E8F7010042 +:10F2300080F6010010F6010030F70100C4F701006C +:10F24000B0F4010094F40100636D5F6261636B745C +:10F25000726163655F61737365727400636D5F6291 +:10F2600061636B74726163655F6661756C740000E5 +:10F2700074F3010078F301007CF3010080F30100D6 +:10F280008CF3010088F3010084F3010020F40100F5 +:10F29000001112131415161718191A1B1C1D1E1F06 +:10F2A00003060C1830607801010101010101010120 +:10F2B000010101010101010101010100000000FF44 +:10F2C000FFFFFFFFFFFFFFFFFF0000000000000047 +:10F2D000466C6173685F577269746520466C617330 +:10F2E000685F6164643A3078253038582053524161 +:10F2F0004D5F416464723A30782530385820777217 +:10F300006974655F73697A653A30782530385820BA +:10F310000D0A00004C4F472073746172745F726570 +:10F3200061645F6164643A30782530385820204643 +:10F330006C617368205265616420416464723A3084 +:10F3400078253038582073746172745F466C61732D +:10F35000685F6164643A30782530385820207265DF +:10F360007461696E5F73697A653A30782530385810 +:10F37000200D0A005230200052312000523220006D +:10F3800052332000504320004C52200052313200B2 +:10F390003D3D3D3D3D3D3D3D3D3D3D20CFDFB3CC81 +:10F3A000B6D1D5BBD0C5CFA2203D3D3D3D3D3D3D75 +:10F3B0003D3D3D3D000000003D3D3D3D3D3D3D3D71 +:10F3C0003D3D3D3D20D6F7B6D1D5BBD0C5CFA2201F +:10F3D0003D3D3D3D3D3D3D3D3D3D3D3D0000000051 +:10F3E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D +:10F3F0003D3D3D3D3D3D3D3D3D20BCC4B4E6C6F7F1 +:10F40000D0C5CFA2203D3D3D3D3D3D3D3D3D3D3D37 +:10F410003D3D3D3D3D3D3D3D3D3D3D3D3D3D000096 +:10F4200050535200B9CCBCFEC3FBB3C6A3BA25737C +:10F43000A3ACD3B2BCFEB0E6B1BEBAC5A3BA2573C5 +:10F44000A3ACC8EDBCFEB0E6B1BEBAC5A3BA257385 +:10F4500000000000B2E9BFB4B8FCB6E0BAAFCAFD24 +:10F46000B5F7D3C3D5BBD0C5CFA2A3ACC7EBD4CB24 +:10F47000D0D0A3BA61646472326C696E65202D6568 +:10F480002025732573202D61202D6620252E2A73BB +:10F4900000000000B7A2C9FAD7DCCFDFB4EDCEF38D +:10F4A000B5C4B5D8D6B7A3BA253038780000000067 +:10F4B000B7A2C9FAB4E6B4A2C6F7B9DCC0EDB4EDA0 +:10F4C000CEF3B5C4B5D8D6B7A3BA25303878000086 +:10F4D000D4DAD6D0B6CFBBF2C2E3BBFABBB7BEB369 +:10F4E000CFC2B7A2C9FAB4EDCEF3D2ECB3A30000F9 +:10F4F000D4DACFDFB3CC28257329D6D0B7A2C9FA86 +:10F50000B4EDCEF3D2ECB3A300000000B7A2C9FA69 +:10F51000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAA3 +:10F52000CAD4CDBCC7D0BBBBB5BD2041524D20D73E +:10F53000B4CCAC00B4EDCEF3A3BACEDEB7A8BBF129 +:10F54000C8A1D6F7D5BBD0C5CFA2A3ACC7EBBCEC46 +:10F55000B2E9D6F7D5BBB5C4CFE0B9D8C5E4D6C3B8 +:10F5600000000000B7A2C9FAD3C3B7A8B4EDCEF328 +:10F57000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D02E +:10F58000B7C7B6D4C6EBB7C3CECA0000D4DAD6D05C +:10F59000B6CFBBF2C2E3BBFABBB7BEB3CFC2B7A212 +:10F5A000C9FAB6CFD1D40000D4DACFDFB3CC282546 +:10F5B0007329D6D0B7A2C9FAB6CFD1D400000000C3 +:10F5C000BBF1C8A1BAAFCAFDB5F7D3C3D5BBCAA7B3 +:10F5D000B0DC0000B7A2C9FAB4E6B4A2C6F7B9DC41 +:10F5E000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F362 +:10F5F000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4A8 +:10F60000C7F8D3F2B6C1A1A2D0B4CAFDBEDD0000D6 +:10F61000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD52 +:10F62000D2F2A3BACAFDBEDDBCE0B2E2B5E3C6A524 +:10F63000C5E40000B7A2C9FAD3C3B7A8B4EDCEF3AE +:10F64000A3ACD4ADD2F2A3BACEDED0A7B5C4D2EC6F +:10F65000B3A3B7B5BBD8C2EB00000000B7A2C9FA8C +:10F66000D3B2B4EDCEF3A3ACD4ADD2F2A3BAC8A159 +:10F67000D6D0B6CFCFF2C1BFCAB1B3F6B4ED000059 +:10F68000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4ADE2 +:10F69000D2F2A3BAD6B4D0D020424B505420D6B820 +:10F6A000C1EE0000B7A2C9FAB4E6B4A2C6F7B9DC4D +:10F6B000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F391 +:10F6C000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4D7 +:10F6D000C7F8D3F2C8A1D6B8C1EE0000B7A2C9FAE4 +:10F6E000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAD2 +:10F6F000C6F3CDBCD6B4D0D0CEB4B6A8D2E5D6B879 +:10F70000C1EE0000B7A2C9FAD3C3B7A8B4EDCEF3D7 +:10F71000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D08C +:10F72000D0ADB4A6C0EDC6F7D6B8C1EE000000005B +:10F73000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD31 +:10F74000D2F2A3BAB7A2C9FACFF2C1BFB2B6BBF127 +:10F7500000000000B7A2C9FAB4E6B4A2C6F7B9DC4B +:10F76000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC8EBE6 +:10F77000D5BBCAB1C6F3CDBCB7C3CECAB2BBB1BB51 +:10F78000D4CAD0EDB5C4C7F8D3F20000B7A2C9FA05 +:10F79000B4E6B4A2C6F7B9DCC0EDB4EDCEF3A3ACC9 +:10F7A000D4ADD2F2A3BAB3F6D5BBCAB1C6F3CDBCC1 +:10F7B000B7C3CECAB2BBB1BBD4CAD0EDB5C4C7F8CB +:10F7C000D3F20000B7A2C9FAB5F7CAD4B4EDCEF3AC +:10F7D000A3ACD4ADD2F2A3BACDE2B2BFB5F7CAD4CE +:10F7E000C7EBC7F300000000B7A2C9FAB5F7CAD447 +:10F7F000B4EDCEF3A3ACD4ADD2F2A3BA4E56494386 +:10F8000020CDA3BBFAC7EBC7F3000000B7A2C9FA2B +:10F81000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA34 +:10F82000BEABC8B7B5C4CAFDBEDDD7DCCFDFB4ED13 +:10F83000CEF30000B7A2C9FAD7DCCFDFB4EDCEF328 +:10F84000A3ACD4ADD2F2A3BAB2BBBEABC8B7B5C4F9 +:10F85000CAFDBEDDD7DCCFDFB4EDCEF30000000083 +:10F86000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4ADE9 +:10F87000D2F2A3BAD6B8C1EED7DCCFDFB4EDCEF367 +:10F8800000000000B7A2C9FAD7DCCFDFB4EDCEF399 +:10F89000A3ACD4ADD2F2A3BAB6E8D0D4B1A3B4E647 +:10F8A000B8A1B5E3D7B4CCACCAB1B7A2C9FAB4ED2C +:10F8B000CEF30000B7A2C9FAB4E6B4A2C6F7B9DC29 +:10F8C000C0EDB4EDCEF3A3ACD4ADD2F2A3BAB6E89A +:10F8D000D0D4B1A3B4E6B8A1B5E3D7B4CCACCAB127 +:10F8E000B7A2C9FAB4EDCEF300000000B7A2C9FA7E +:10F8F000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA54 +:10F90000C8EBD5BBCAB1B7A2C9FAB4EDCEF30000BB +:10F91000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4AD38 +:10F92000D2F2A3BAB3F6D5BBCAB1B7A2C9FAB4ED45 +:10F93000CEF30000B4EDCEF3A3BACFDFB3CCD5BB8A +:10F94000282530387829B7A2C9FAD2E7B3F60000E3 +:10F95000B4EDCEF3A3BAD6F7D5BB28253038782935 +:10F96000B7A2C9FAD2E7B3F600000000B7A2C9FAFD +:10F97000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BA3F +:10F98000C6F3CDBCD6B4D0D0B3FD203020B2D9D789 +:10F99000F70000005564705F496E7465726E616CAB +:10F9A0005F53657269614E65745F55706C6F616419 +:10F9B000696E672049503A253032582E253032582A +:10F9C0002E253032582E2530325820506F72743A1E +:10F9D00025640D0A00000000C9FDBCB6CAA7B0DC52 +:10F9E000A3ACB5D8D6B7B4EDCEF320646174615F33 +:10F9F0006275666665725B305D202620307832461F +:10FA0000464530303030203D2025583B206461741D +:10FA1000615F6275666665725B315D3D25580A00FF +:10FA2000544654502041434B207061636B657420F1 +:10FA30002D2D20536F636B657449643A2564202C27 +:10FA400020706F72743A2564202C206C656E3A2504 +:10FA50006C64202C2049503A25642E25642E2564A0 +:10FA60002E25640A0000000046494E5F5741495464 +:10FA70005F31000046494E5F574149545F320000F4 +:10FA800045535441424C495348454400434C4F531D +:10FA90004544000053594E5F524356440000000055 +:10FAA000434C4F53494E47004C4153545F41434BE5 +:10FAB000000000004C495354454E000054494D4548 +:10FAC0005F57414954000000434C4F53455F574135 +:10FAD0004954000053594E5F53454E5400000000F6 +:10FAE00000FB0100000000208402000012870000DB +:10FAF000A4FB010084020020BC6900007A8A010096 +:10FB0000013002471F12011A040412013A050212C1 +:10FB100006121C12201AAC041A14041210146002EB +:10FB2000209240180B34D0B810E0F5C0A801C804EA +:10FB30007501FFFFFF100F6A4B25E1C0A8651F404C +:10FB40001F901F0B0D42800211023A90B339061B21 +:10FB5000117201011A0B10EB0342395501410314D4 +:10FB6000CDAB1BE046ED011A041A106E19148CFA85 +:10FB7000011AB4041AD4041A94041A80041A6804EA +:10FB80001A74041AC8041AA0041AA8041ABC04811E +:10FB90000B1BF44A70013922881B2078040B34E0D7 +:04FBA00035600000CC +:0400000500008091E6 +:00000001FF diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/FlexCell.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/FlexCell.dll new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/FlexCell.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.Streams.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.Streams.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Compression.LZ4.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Hash.xxHash.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/K4os.Hash.xxHash.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/MySql.Data.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/MySql.Data.dll new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/MySql.Data.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.tar.gz b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.tar.gz new file mode 100644 index 0000000..02d0884 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.tar.gz differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.txt b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.txt new file mode 100644 index 0000000..2590e30 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/Pad1809CC数据.txt @@ -0,0 +1,94 @@ +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 70 01 00 E9 03 01 19 03 02 F2 AB + + +豸 +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 65 00 01 F2 00 04 6D +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 FE 19 C2 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 + +ѯ +AA 55 1A 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 47 00 00 11 09 E9 + +ѯ +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 CD 00 0A F5 50 41 44 5F 31 38 30 39 43 43 21 AE + +ѯ +AA 55 29 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D8 00 0F F6 50 61 64 43 6F 6E 66 69 67 5F 32 2E 78 6D 6C 33 81 + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 67 00 01 F0 00 7C CD + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 66 00 01 F1 00 40 9D + +ѯò +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D9 00 0A F4 00 FF 00 14 09 04 0D 31 23 00 04 45 + +ò +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 64 00 01 F3 00 38 3D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/UpFileData.txt b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/UpFileData.txt new file mode 100644 index 0000000..44e415a --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Pad1809CC/UpFileData.txt @@ -0,0 +1,136 @@ +ļȷݣ + + +1F 8B 08 00 00 00 00 00 02 03 ED 97 49 6F E3 36 14 80 73 1E 60 FE 83 7F 80 ED 72 5F 74 4B 32 2D 7A 48 66 8C 04 1D B4 27 43 B6 69 47 A8 24 1A 5A B2 F4 D0 DF 3E 8F 12 B5 D8 31 9D 5C 5A A0 45 08 03 06 EC EF AD 7C 7C 7C DC 26 A9 49 93 B2 9A 57 CF D5 C5 3F B4 10 2C C1 58 F3 0D EB F8 5B 22 C6 2F 30 95 44 30 CA 30 85 DF 31 C1 0C 5F 4C D0 C5 BF B0 EA B2 8A 8B C9 E4 A2 B0 F6 6C 02 DE FA FF 3F BA 2E 17 8B 9F A6 53 82 08 9A 21 39 43 64 82 48 44 59 44 F4 14 7F FE B4 B8 FC B2 C4 0A E9 EB EB 29 C7 5C 08 34 80 78 82 44 44 69 C4 C8 94 7C FE F4 8B CD AB 72 A4 07 A3 09 92 11 67 11 A3 4E CF B7 C5 E2 DB 7D 9C 97 B3 DB 79 55 6D A7 18 21 85 04 51 80 63 0D EC 0C 63 67 96 A1 88 20 ED CE AE 6C 65 67 77 66 57 A7 71 D1 8A 00 2E 85 13 00 DB 74 86 B9 33 8F 45 C4 85 13 58 C7 D9 AA 48 62 20 D7 40 62 2D 19 6A 75 23 50 0F 21 E1 08 E9 88 63 87 66 E5 CB 43 CB 69 C1 A4 A4 C2 83 A0 53 4F 10 38 CC 22 DC 80 77 A6 B4 75 B1 36 7D 54 A2 51 25 9C 9B 60 15 A2 BA BA F9 3E 5F 65 FB 29 21 58 2A E2 F4 A8 46 0F 9B 60 1A 61 14 51 EE F4 DC 43 79 55 A6 98 EF 92 ED 94 50 02 BE 79 7D 6C 46 21 4B 90 41 F8 28 47 AE E2 F5 9F BB C2 D6 F9 66 BE CF 77 90 25 25 30 EB E3 20 74 82 78 44 65 C4 DA 90 53 13 E7 4B BB DD 36 2C 51 84 9F 20 D9 88 CC 1B 90 0B 4A C3 A0 5D 97 0F F6 A9 05 09 3F 65 BB 71 74 5D 17 55 9C 0C D6 B1 6E C3 87 64 E3 19 52 13 48 36 6C 27 96 07 6C 6B 1F 53 45 70 88 7D B0 99 B9 4C 8A 06 A4 08 4A B0 E5 C8 0C 0B 57 4E 14 45 08 77 DC 10 BA 24 F2 84 A3 7A 00 5B CB 8A 0B 12 E2 D2 64 F7 50 5D DB D4 16 83 5A 72 52 2D 3B C6 7D 58 98 75 E5 1C C0 6F 92 7C F0 19 0E 00 E9 8B DF D1 D8 1D 25 4E 7A 7A 1C 1D 3A EB 75 1F 1E 3D 13 5E BD 36 F9 FA C5 6F C0 90 7E AC 9C 65 C6 3D 96 C5 D5 FA 61 B0 AC F5 61 02 44 04 C5 4A 9A 88 32 BB 31 8B C2 94 E5 10 11 C5 3A 14 FF 88 6E 7D 95 BD 13 27 E0 BA 4C D6 DE 01 2E 06 57 99 73 95 43 6F D2 3D 75 59 54 A3 8C BE AA 6B 0E A7 1E F5 F0 6D 5D 8D F2 4F 25 3F 28 42 E5 1C C0 E4 88 F6 7B CB B4 78 ED 2D 1F 54 7F 35 CF A3 0D 23 38 78 6E 46 B4 3F 8D 44 AB B3 F0 22 AE CB 51 A9 2B 46 DE 83 FB 8A D0 9C 9E A7 D3 F8 65 B4 DD 18 BD 83 6E 55 6B F4 96 EA C2 3C 26 B6 2E 47 69 41 F2 9D 12 3E 35 14 F1 90 40 6E 37 30 B1 D4 C5 6A 50 2F F4 A9 F2 E3 47 B4 57 8D 19 0A C1 B6 1E D5 14 97 22 54 A6 0D D7 AA A3 22 8C ED E3 D4 54 95 69 38 86 A4 40 A1 1A F5 E0 72 55 F9 A2 D3 8C 87 7C DC DB 27 33 34 2A 2C B9 0E 35 54 4F E6 DD 1D 11 EC 68 FB C2 EE 9A 13 EA EE 20 7F A0 18 15 27 F4 F2 03 7C 5B C0 C5 DF 26 55 F5 59 3D E0 9B CB 0A 66 A7 AC 6B 2A EC E0 4C C3 25 0E 4D A5 D9 D5 12 9A 94 B9 37 C5 E3 28 38 72 BA AD F0 57 7C D7 86 95 08 6E 6D B9 49 B2 CC 14 3E 3A A2 43 DD B2 4C 93 8D B9 82 BB B0 4D 04 61 4C 87 8E 7F 83 7A 8D 12 F3 90 C6 CA 64 FB 0E C3 E2 78 13 60 9E 40 7C C0 86 12 60 24 78 55 57 8F B7 EE D0 0C 79 42 4C 85 26 85 9E ED 72 44 CF B1 DF 6D 5A 67 E6 8B 7D 1A 0D 17 98 AB 50 52 0F 05 5A 0B 4C 32 1D 76 BC E5 7F DB 8F D4 4B F9 96 7A 87 7B E5 8A 90 B0 F2 E5 A6 1B 1F 84 D4 3C AC 75 2B 7CB9 01 7F 5B 50 61 11 6C 34 00 A6 66 DB 16 38 D5 5C 9D B0 DC 4E 95 00 76 DD 40 6A CA CE 60 85 BB B4 BD 65 72 F2 1A 6C 2C 3F 26 65 52 8D C6 11 8A 99 08 95 57 CF 76 7D 5F D3 20 DA 64 B3 BB B1 55 A8 AE 9F 92 1C 12 04 A3 D8 78 93 82 F3 CD 88 EE A7 21 11 6C 89 4F 69 9F 01 A2 85 3A BE E1 BB 86 F8 FB ED CD D1 7B 42 C3 EB 00 66 C0 E6 5D 12 6F AE 6D BE 4D 76 CB EB AF CB 3F E2 5F 4D 32 7F CE 52 77 06 55 D3 0C 07 21 E5 FA 0B 6B 9A E1 20 F4 F3 81 90 10 0A 26 7E 78 34 80 10 6E 1E 36 C8 75 AE 76 1F BA E9 DD 91 54 52 AF 1B E2 92 13 98 F0 59 D7 E0 46 D8 DF AE F6 3C C7 67 04 35 23 96 F0 DC F0 A0 5A 7A 11 20 85 20 A8 7F 63 B8 37 01 DC 0B F0 C6 38 7A 81 75 02 CB AB B8 34 6F 48 B9 EA 4E 6D BC 99 83 C8 7C F7 D7 B4 19 60 7A C7 21 93 58 42 88 8E DC 8E 9E FF 53 D4 53 90 3A EC 1E 81 FE FD 76 F1 B1 3E D6 C7 FA 58 1F EB FF B6 7E 00 2A 3C 27 AF 00 16 00 00 + + + + + + + + +ԭMD5ֵ 51 E8 4D FA C4 6D E2 FE 67 02 3F 1C 64 70 E6 3C + +õMD5ֵ 6D F0 A9 E5 95 96 DC 50 4B 41 0C 1C 5B 3D 34 5A + + +ԭMD5ֵ 72 BF 0A 4F 13 6A E4 33 ED DD 46 93 C9 D3 CB 41 + +õMD5ֵ 38 96 A5 13 51 19 F9 EF B1 C9 49 62 A5 A8 18 B8 + + +ԭMD5ֵ 93 89 B3 BB 34 82 77 B5 83 07 1F 21 71 08 1F B9 + +õMD5ֵ 37 4F 56 51 82 DE F0 CE 8B 20 85 AF 42 5A 24 1D + + +ԭMD5ֵ 9D 61 FC CA D3 33 80 83 FC B3 A3 FA 94 EA A2 29 + +õMD5ֵ A2 62 7F D6 50 68 E0 10 C5 8A 3B EE BB 4F 74 81 + + +ԭMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + +õMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + + + +ԭMD5ֵ C2 9C 01 88 50 FD A9 E4 DD B9 AC 91 9E 26 B1 D2 + + +ԭMD5ֵ E1 66 DA 0C 64 38 51 E0 8A 85 9C D1 CD 81 A7 32 + +õMD5ֵ 66 29 7B AD 97 5A C2 9B 07 83 AE D8 54 E5 88 F7 +Md5ֵ + + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +õMD5ֵ 4A 78 A7 57 30 EE 87 5E 79 C9 A4 77 D2 6D DC 2D +Md5ֵ + + + +MD5: 2B 61 0B 07 8D 07 81 B3 52 50 D8 84 63 E5 53 04 + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + +ԭMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D + +õMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D +Md5ֵ + + + + + +------------------------------------------------------------- + + +һ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ڶ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ı +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.application b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.application new file mode 100644 index 0000000..29b5a73 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + eTg6CR/+1TJnT4NyP13CUa5WGECVHcbsCfd3vxOspdU= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe new file mode 100644 index 0000000..f415e4c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.config b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.config new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.config @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.manifest b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.manifest new file mode 100644 index 0000000..89e7180 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + uwDRGaWdx+gB1ikgl+d3BEGx3L+XRVMybBoX1iwDwV0= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.pdb b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.pdb new file mode 100644 index 0000000..7df7659 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.pdb differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.xml b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.xml new file mode 100644 index 0000000..798b889 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/RCU.xml @@ -0,0 +1,4652 @@ + + + + +RCU + + + + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性 + 重写当前线程的 CurrentUICulture 属性。 + + + + + 查找类似 的本地化字符串。 + + + + + Contains the schema of a single DB column. + + + + + 清空数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 复制基础表数据到新表中 + + 表名 + 基础表名 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + Contains the entire database schema + + + + + 判断列名 + + + + + + 判断条件 + + + + + + 判断值 + + + + + + 当前条件与上一个条件的逻辑关系 + + + + + + 将当前条件转换为字符串,不支持将条件逻辑关系同时转换 + + + + + + 查询条件的表名 + + + + + + 当IsSearchAllCols = False时,查询返回列名集合 + + + + + + 查询的条件 + + + + + + 排序方式 + + + + + + 但需要排序时排序列名 + + + + + + 从返回结果提取指定行的内容 + + + + + + Describes a single view schema + + + + + Contains the view name + + + + + Contains the view SQL statement + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 查询指定数据表的信息 + + + + + + + 数据库语句助手 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句 + 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用 + + + + + + 查询指定数据表符合条件的所有数据 + + 指定表名 + 查询条件, + + + + + 查询表符合条件的所有指定列的数据 + + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询表符合条件的所有指定列的数据 + + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据表名 + 查询条件 + + + + + 查询指定数据表的信息 + + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量 + + 表名 + + + + + 数据表插入一行数据 + + 表名 + 列名字符串 + 列值字符串 + + + + + 数据表插入一行数据 + + 表名 + 列名与列值键值对 + + + + + 数据表插入一行,通过命令参数方式执行时使用 + + + + + + + + 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 表名 + 字段列表 + + + + + 更新指定表数据 + + 指定表名 + 更新字符串 + + + + + + 更新指定表数据 + + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 指定数据表增加一列数据 + + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 数据表删除一列数据 + + 表名 + 需要删除的列名,仅一列 + + + + + 删除指定表多行数据 + + 表名 + 条件 + + + + + 创建数据表 + + 表名 + 创建表的列信息字符串 + + + + + 创建数据表,如果存在则不创建 + + 表名 + 创建表的列信息字符串 + + + + + 清空数据表,表依旧存在 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的去重数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据库名 + 数据表名 + 查询条件 + + + + + 查询指定数据库中指定数据表符合条件的所有数据 + + + 数据库名 + 数据表名 + 查询条件(可选) + + + + + 查询指定数据库中指定数据表的信息 + + 数据库名 + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量 + + 数据库名 + 表名 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名字符串 + 列值字符串 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名与列值键值对 + + + + + 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 数据库名 + + 需要插入列名的集合 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新字符串 + + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 数据库名 + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 指定数据库中指定数据表增加一列数据 + + 数据库名 + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 指定数据库中数据表删除一列数据 + + 数据库名 + 表名 + 需要删除的列名,仅一列 + + + + + 指定数据库中指定表删除多行数据 + + 数据库名 + 表名 + 条件 + + + + + 指定数据库中创建数据表 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 指定数据库中创建数据表,如果存在则不创建 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 清空指定数据库中数据表,表依旧存在 + + 数据库名 + 数据表名 + + + + + 删除指定数据库中数据表 + + 数据库名 + 数据表名 + + + + + 数据库通用命令执行器 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + + + + 数据库类型,目前支持Mysql与Sqlite + + + + + 打开数据库连接 + + + + + + 关闭数据库连接 + + + + + 创建当前连接的命令执行句柄 + + + + + + 运行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 开启事务 + + + + + + 提交事务 + + + + + 回滚事务 + + + + + 创建数据参数 + + 参数数据类型 + 参数名称 + 参数值 + + + + + 添加数据参数 + + + + + + + + + 清空数据 + + + + + 回收资源 + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 查询指定数据表的信息 + + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 设备名称 + + + + + 设备控制计数 + + + + + 设备控制信息 + + + + + 设备测试成功率 + + + + + 初始化 + + + + + 初始化 + + 设备类型 + 设备地址 + + + + 初始化 + + 设备类型 + 设备地址 + 设备状态 + + + + 获取设备名称 + + 设备类型 + 设备地址 + + + + + 复位状态 + + + + + 窗体加载函数 + + + + + + + 显示窗体_接口 + + + + + + 发送函数 + + + + + + 枚举表格设备列信息 + + + + NULL + + + 是否选中 + + + 设备地址 + + + 设备名称 + + + 状态_区域 + + + 结果 + + + 类型表的列集合 + + + + 初始化设备表格信息 + + + + 设备项目列表 + + + 单包数据字节长度 + + + 发送数据序号 + + + + 初始化设备列表 + + + + + 设备类型转换 + + + + + + + 填充串口升级包 + + + + + + + + 填充C1发送包 + + 命令码 + Data数组 + + + + + 获取发送序号 + + + + + + 判断设备类型 + + + + + 搜索 + + + + + + + 搜索数据 + + + + + + + Boot区搜索数据 + + + + + + + 搜索范围值_委托 + + + + + + + 委托搜索范围值 + + + + + + + 选择下发文件改变 + + + + + + + 选择文件 + + + + + + + 状态栏解析文本委托 + 改变文本和颜色 + + + + + + + + 状态栏解析文本 + 改变文本和颜色 + + + + + + + + 解析Hex文件 + + + + + + 加载hex文件数据 + + + + + + + 解析Hex文件到Byte数组 + + + + + + + + + 获取和校验 + + + + + + + + 升级 + + + + + + + 获取更新设备类型委托 + + + + + + 获取更新设备类型 + + + + + 是否准备升级 + + + + 准备开始升级485 + + + + + 开始升级 + + + + + 搜索Boot分区 + + 485地址 + + + + 跳转BootLoader分区 + + 485地址 + + + + 设置参数 + + 485地址 + + + + 获取更新设备类型 + + + + + + 擦除Flash + + 485地址 + + + + 获取Flash数据 + + + + + + 写入Flash回复 + + + + + 记录重发次数 + + + + + Flash数据 + + + + + Flash新数据 + + + + + 写入Flash + + + + + + 根据设备地址类型分包 + + 设备地址类型 + 数据包 + + + + 具体分包函数 + 根据不同类型的包长度分包 + + 不同类型的包长 + + + + + Flash校验 + + + + + 填充写入Flash数据包 + + 485地址 + + + + + + + + 填充烧录单包数据 + + + + + + + + + 获取Flash单包校验数据长度 + 根据类型判断需要校验的数据长度 + + + + + + Flash校验 + + + + + + 获取Flash校验数据 + + 根据类型确认,单包参与crc16校验数据长度burnLen + + + + + 跳转App区 + + + + + + 回复超时 + + + + + 等待写入Flash数据回复 + + + + + 升级设备列表总数 + + + + + 搜索分区委托 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 添加记录 + + + + + + + 测试 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 枚举表格列名信息 + + + + + C43配置数据 + + + + + C43搜索命令—按地址搜索 + + + + + + + C43发布 + + + + + + + C43第一包数据包头 + + + + + + C43下发数据 + + + + + + + 下发C43数据到RCU + + + + + 取出C43配置数据 + + + + + + 填充C43发送数据包 + + + + + + + + + 填充C43地址数据 + + + + + + + 按块填充C43表格数据 + + + + + + + + + C43表格配置按键 + + + + + + + 增加数据行 + + + + + + + 删除数据行 + + + + + + + 保存C43数据 + + + + + + + 保存文件配置 + + + + + 读取数据 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 空调开关 + + + + + 是否空调下载 + + + + + 是否下载红外文件 + + + + + 红外文件下载线程 + + + + + 红外电视下载线程 + + + + + 控件变化 + + + + + 电视开关 + + + + + 是否电视下载 + + + + + 回复超时 + + + + + 红外下发空调初始化窗体信息 + + + + + 空调软件搜索 + + + + + + + 空调固件搜索 + + + + + + + 导出 + + + + + + + 空调导入dat配置文件信息 + + + + + + + 烧录dat配置文件信息 + + + + + + + 发送询问指令 + + + + + 等待回复可以下载 + + + + + + 空调下载数据 + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + CRC16校验 + + + + + + 红外协议组包头 + + + + + 填充红外开关包_控制按键通用 + + + + + + 填充红外搜索数据 + + + + + + 询问是否可以红外下发 + + + + + + 红外下发前询问 + + + + + + 读取选中文件_空调 + + 文件格式为(dat) + + + + 读取选中文件_电视 + + 文件格式为(dat) + + + + RCU红外下发数据 + + + + + 进度条变化 + + + + + 进度条变化 + + + + + 填充烧录包数据 + + + + + + + + + 填充烧录单包数据 + + + + + + + + + 等待红外数据回复 + + + + + 空调开关按键 + + + + + + + 空调开关控制状态 + + + + + 空调温度值增加 + + + + + + + 空调温度值减少 + + + + + + + 空调风速按键 + + + + + + + 空调模式按键 + + + + + + + 空调控制 + + + + + 填充空调控制包 + + + + + + 填充空调控制数据 + + + + + + 获取空调开关 + + + + + + 获取空调风速 + + + + + + 获取空调模式 + + + + + + 组一键读取的包 + + + + + + 组一键读取的数据包 + + + + + + + + 电视静音 + + + + + + + 电视开关 + + + + + + + 电视音量加键 + + + + + + + 电视音量减键 + + + + + + + 频道加键 + + + + + + + 频道减键 + + + + + + + 电视上键 + + + + + + + 电视下键 + + + + + + + 电视左键 + + + + + + + 电视右键 + + + + + + + 电视OK键 + + + + + + + 电视首页 + + + + + + + 电视菜单 + + + + + + + 电视信源 + + + + + + + 电视返回 + + + + + + + 电视一键读取 + + + + + + + 电视搜索 + + + + + + + 电视固件搜索 + + + + + + + 电视导入 + + + + + + + 电视烧录 + + + + + + + 填充电视通讯包 + + + + + 填充电视数据包 + + + + + + + 下载电视数据 + + + + + RCU红外下发电视数据 + + + + + 填充烧录包数据 + + + + + + + + + 密码窗体 + + + + + 下载文件路径 + + + + + 初始化数据表信息——数据库RCU表 + + + + + 选择文件 + + + + + + + 获取选择文件信息 + + + + + 选择文件处理 + + + + + + 数据录入 + + + + + + + 录入数据 + + + + + 录入保护 + + + + + + 刷新数据表 + + + + + 刷新列表 + + + + + + + 刷新列表_菜单栏 + + + + + + + 删除记录_菜单栏 + + + + + + + 删除记录 + + + + + 执行删除 + + + + + 执行删除记录 + + + + + 空调下载 + + + + + + + 下载保护 + + + + + + 开始下载空调 + + + + + 选择厂商 + + + + + + + 选择型号 + + + + + + + 选择版本 + + + + + + + 查询空调品牌 + + + + + 查询空调型号 + + + + + 查询空调版本 + + + + + 电视下载 + + + + + + + 选择电视品牌 + + + + + + + 选择电视型号 + + + + + + + 选择电视版本 + + + + + + + 查询电视厂商 + + + + + 查询电视型号 + + + + + 查询电视型号 + + + + + 下载电视保护 + + + + + + 开始下载电视文件 + + + + + 添加记录 + + + + + + + 密码 + + + + + 是否删除 + + + + + 打开窗体 + + + + + 显示窗体 + + + + + 确认 + + + + + + + 取消 + + + + + + + 是否删除 + + + + + + C43窗体 + + + + + 红外窗体 + + + + + RF无线窗体 + + + + + 485升级窗体 + + + + + 初始化各子窗体 + + + + + 枚举是否连接 + + + + + 连接状态,默认非连接 + + + + + 按键连接提示文本 + + + + + 按键连接提示颜色 + + + + + 按键连接启用 + + + + + 模式选择 + + + + + 串口波特率 + + + + + Socket网络套接字 + + + + + UDP通讯接收线程 + + + + + 本地端口号 + + + + + 总接收数据字节数 + + + + + 总发送数据字节数 + + + + + 端口1接收数据字节数 + + + + + 端口2接收数据字节数 + + + + + 端口3接收数据字节数 + + + + + 发送次数标志位 + + + + + 窗体加载事件 + + + + + + + 显示窗体名称和版本信息 + + + + + 设置窗体 + + + + + 下拉模式选择 + + + + + RF设备电动窗帘保存信息 + + + + + 点击连接按键,控件变化 + + + + + + + 更新下拉框是否可用 + + + + + + 状态栏更新显示 + + + + + 更新连接状态 + + + + + + 更新按键显示 + + + + + + 清空记录 + + + + + + + 清空端口1记录 + + + + + + + 清空端口2记录 + + + + + + + 清空端口3记录 + + + + + + + 重置计数 + + + + + + + 停止刷新布尔值 + + + + + 停止刷新端口数据 + + + + + 各端口停止刷新纪录 + + + + + + + 远程IP地址 + + + + + 远程端口号 + + + + + 远程IP地址和端口号 + + + + + 当前时间 + + + + + 最后时间 + + + + + 时间间隔 + + + + + 接收数据偏移量 + + + + + 接收数据缓存包 + + + + + Cmd为70模式注释 + + + + + Cmd为70模式 + + + + + Cmd为70设置回复 + + + + + Cmd为70的透传回复 + + + + + Cmd为71的透传回复 + + + + + 是否显示通讯记录数据 + + + + + 是否显示通讯记录提示 + + + + + 是否窗体处于关闭状态 + + + + + 选择串口通讯 + + + + + + + 选择UDP通讯 + + + + + + + 串口连接按键 + + + + + + + 关闭串口 + + + + + 打开串口 + + + + + 点击下拉获取可用串口 + + + + + + + 获取可用串口 + + + + + 配置串口 + + + + + 发送485串口数据 + + + + + + + 接收485串口数据 + + + + + + + Byte数组转字符串 + + + + + + + 显示串口回复数据 + + + + + + 解析串口数据 + + + + + + + 解析RS485数据 + + + + + + + 处理查询数据 + + + + + + + 解析红外处理数据 + + + + + + + 处理空调控制数据 + + + + + + + 处理电视控制数据 + + + + + + + 处理红外搜索数据 + + + + + + + 处理红外数据 + + + + + + + 烧录过程中,处理数据 + + + + + + + 取设备偏移值 + + + + + 监控模式布尔值 + + + + + 处理RF单包数据 + + + + + + + 处理RF数据 + + + + + + 解析RF数据 + + + + + + + 解析询问设备网络状态命令_0x13 + + + + + + 解析读取设备列表命令_0x15 + + + + + + 解析设置设备网络命令_0x017 + + + + + + 解析配对设备列表命令_0x1A + + + + + + 解析RF设备写入信息 + + + + + + 根据配对设备型号获取设备名称 + + + + + + + 解析设备类型 + + + + + + + 解析设备地址 + + + + + + + 解析设备状态 + + + + + + + 解析RF设备16命令上报数据 + + + + + + + 插卡取电上报数据16 + + + + + + 电动窗帘上报数据16 + + + + + + 解析RF设备51命令上报数据 + + + + + + + 插卡取电上报数据51 + + + + + + 开关面板上报数据51 + + + + + + 键值文本 + + + + + 按键等提示信息 + + + + + + + 无线温控上报数据51 + + + + + + 微信锁上报数据51 + + + + + + 无线语音上报数据51 + + + + + + 无线语音_场景_类型0 + + + + + 无线语音_继电器_类型1 + + + + + + 无线语音_服务客需_类型4 + + + + + + 无线语音_窗帘窗纱_类型5 + + + + + + 无线语音_空调控制_类型7 + + + + + + 无线语音_空调控制_类型7_0x00 + + + + + + 无线语音_背景音乐_类型15 + + + + + + 无线语音_调光_类型10 + + + + + + 无线语音_继电器_电视_类型F + + + + + + 无线语音_灯带_类型12 + + + + + + 刷新设备列表控制信息 + + + + + + + 是否是C1设备 + + + + + 搜索_App区 + + + + + + 搜索_Boot区 + + + + + + 跳转_App区 + + + + + + 写入Flash数据 + + + + + + 擦除Flash + + + + + + 校验Flash + + + + + + 获取Flash校验结果 + + + + + + 跳转_Boot区 + + + + + + 设置参数 + + + + + + 初始化本地IP + + + + + 获取本地可用IP + + + + + + 显示UDP接收数据 + + + + + + + 更新发送数据 + + + + + + UDP接收数据 + + + + + 发送UDP数据 + + + + + + 显示端口信息 + + + + + + SendUDPData限制 + 超过1024字节自动清空 + + + + + + + 字节数求和 + + + + + + 定时器每隔5S发送一包数据 + + + + + + + 读取操作 --- PC->RCU主机 + + + + + + + 设置操作 --- PC->RCU主机 + + + + + + + 监控模式 --- PC->RCU主机 + + + + + + + 发送操作 --- PC->RCU主机 + + + + + + + 发送数据设置 + + + + + + 接收数据处理 + + + + + + + 改变状态委托 + + 文本 + 文本颜色 + + + + 改变状态委托 + + + + + + + 检验CRC16成功 + + + + + + + + 获取CRC16校验和 + + 数据 + 数据长度 + + + + + 获取CRC16校验和 + + 数据 + + + + + 处理数据 + + + + + + + + 处理Cmd为70的命令 + + + + + + + 处理dataBuff(15)为1的状态 + + + + + + + 处理dataBuff(15)为1的文本注释信息 + + + + + + + 处理dataBuff(15)为2的状态 + + + + + + + 处理dataBuff(15)为3的状态 + + + + + + + 处理Cmd为71的数据 + + + + + + + 处理Cmd为71的端口数据_1、2、3端口 + + + + + + 网络数据还原成485串口数据 + + + + + + 解析红外透传数据 + + + + + + 处理空调控制透传数据 + + + + + + + 处理电视控制透传数据 + + + + + + + 处理红外搜索透传数据 + + + + + + + 处理下发前询问透传数据 + + + + + + + 烧录过程中,处理透传数据 + + + + + + + 添加记录文本和颜色 + + 需要添加的记录内容 + 需要设置的记录颜色 + + + + 添加记录 + + + + + + + 添加端口1记录文本和颜色 + + + + + + + 添加端口1记录 + + + + + + + 添加端口2记录文本和颜色 + + + + + + + 添加端口2记录 + + + + + + + 添加端口3记录文本和颜色 + + + + + + + 添加端口3记录 + + + + + + + 发送数据 + + 串口数据 + + + + 检查网络连接 + + + + + + 以哪种方式发送 + + + + + 关闭窗口事件 + + + + 窗体加载 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + RF网关 + + + + + 485网关地址 + + + + + 设备类型 + + + + + 设备地址 + + + + + 和校验 + + + + + 数据包长 + + + + + 命令字 + + + + + 数据内容 + + + + + RF设备类型 + + + + + 检查通信连接 + + + + + 设备名称 + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 控制计数 + + + + + 控制信息 + + + + + 设备测试 + + + + + 填充RF网关包 + + + + + 填充RF网关包 + + + + + 设备列表设备总数 + + + + + 设置RF配对 + + + + + + + 配对按键变化 + + + + + 配对数据内容 + + + + + + 定时检测,若在配对状态,则两分钟继续保持 + + + + + + + 读取RF网络地址 + + + + + + + 读取RF设备网络委托 + + + + + + 读取RF设备网络 + + + + + + 设置RF网络地址 + + + + + + + 读取设备列表在线状态 + + + + + + + 读取RF设备列表 + + + + + 全部刷新设备列表委托 + + + + + 刷新设备列表信息 + 全部刷新_委托 + + + + + 局部刷新设备列表委托 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 局部刷新设备列表控制委托 + + + + + 刷新设备列表控制信息 + 局部刷新_委托 + + + + + 清空设备列表 + + + + + + + 全局设备地址 + 点击后从列表获取 + + + + + 初始化功能Page + + + + + 点击表格刷新Page控件 + + + + + + + 回复41 00数据 + + + + + + 设置读取扇区标志位 + + + + + 初始化插卡取电信息 + + + + + 设置读取扇区 + + + + + + + 获取扇区值 + + + + + + 插卡取电回复命令 + + + + + 渐变时间 + + + + + 延时时间 + + + + + 初始化选择时间 + + + + + 控件点击变化 + + + + + + 控件状态 + + + + + + + 获取设置指示灯的值 + + + + + + 设置指示灯bit + 四个Bit的Byte + + + + + + + + + + 获取标志位 + 八个Bit的Byte + + + + + + + + + + + + + + 设置亮灭灯 + + + + + + + 获取亮度值数据 + + + + + + 选择状态 + + + + + + + 设置亮灭渐变时间 + + + + + + + 获取渐变时间数据 + + + + + + 获取渐变时间 + + + + + + 设置本地控制延时时间 + + + + + + + 获取本地控制延时时间 + + + + + + 获取延时时间 + + + + + + 本地控制开关 + + + + + 设置本地控制开关 + + + + + + + 获取本地控制开关数据 + + + + + + 获取本地控制开关 + + + + + + 读取指示灯信息 + + + + + + + 设置指示灯 + + + + + 获取指示灯数据 + + + + + + 语音模块配置下发 + + + + + + + 初始化无线温控 + + + + + 空调开关控制状态 + + + + + 无线温控风速切换 + + + + + 无线温控模式切换 + + + + + 无线温控 + + + + + 获取温控数据位 + + + + + + 温控数据高位Bit + + + + + + 获取阀门开关 + + + + + + 获取风速数据 + + + + + + 获取模式数据 + + + + + + 获取开关数据 + + + + + + 无线温控加温度 + + + + + + + 无线温控减温度 + + + + + + + 无线温控开关 + + + + + + + 无线温控风速 + + + + + + + 无线温控模式 + + + + + + + 无线温控阀门 + + + + + + + 设置温差 + + + + + + + 读取温控器设置 + + + + + + + 是否设置 + + + + + 是否设置唤醒时间 + + + + + + + 设置的唤醒时间 + + + + + 微信锁设置唤醒时间命令 + + + + + + + 获取唤醒时间 + + + + + + 微信锁开锁控制命令 + + + + + + + 微信锁状态读取命令 + + + + + + + 窗帘开启 + + + + + + + 窗帘停止 + + + + + + + 窗帘关闭 + + + + + + + 电动窗帘转发数据 + + + + + + + 窗帘发送数据 + + + + + 一键测试 + + + + + + + 获取设备类型 + + + + + + + 设备通讯测试_插卡取电 + + + + + + + 设备通讯测试_开关面板 + + + + + + + 设备通讯测试_无线语音 + + + + + + + 设备通讯测试_无线温控 + + + + + + + 设备通讯测试_微信锁 + + + + + + + 网关通讯测试_电动窗帘 + + + + + + + 设备通讯测试 + + + + + + 刷新通讯测试信息 + + + + + + + + 刷新通讯测试信息_委托 + + + + + + + + 获取通讯测试文本颜色 + + + + + + + 添加记录 + + + + + + + 显示窗体接口 + + + + + 远程数据库类型 + + + 远程数据库名 + + + + 连接数据库字符串 + + + + + + 是否处于网络接收状态 + + + + + 是否通过UDP发送数据 + + + + + 是否读取 + + + + + 是否准备完成 + + + + + 红外回复处理 + + + + + 红外烧录是否回复 + + + + + 记录重发次数 + + + + + 配对设备列表设备总数 + + + + + RF配对模式 + + + + + 设备列表键值对 + + + + + 升级设备列表_键值对 + + + + + 点击计数 + + + + + 透传数据包头 + + + + + 透传数据固定ID + + + + + 透传数据房间信息 + + + + + 包头数据长度 + + + + + 数据CRC校验长度 + + + + + 透传命令 + + + + + 透传端口 + + + + + 透传超时 + + + + + 发送次数标志位 + + + + + 填充发送数据包 + + + + + + + 填充发送包头数据 + + + + + + + 填充发送信息包头 + + + + + + + + + 填充发送校验数据 + + + + + + + + 填充发送数据包 + + 数据包头 + 数据内容 + CRC16校验 + + + + + 填充透传函数 + 填充透传函数的抽象实现 + + + + + + + 填充透传函数的具体实现 + + + + + + + 透传数据CMD + + 串口数据 + + + + + CRC16校验 + + + + + + + + MD5值校验 + + 需要校验的字符串 + 加密模式 + + + + + MD5校验 + + 需要校验的字符串 + + + + + 获取文件的MD5值 + + 文件路径 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验取余数 + 求Byte数组的和校验取余数 + + Byte数组 + + + + + 红外下载文件夹 + + + + + 检查网络连接 + + + + + 检测串口连接 + + + + + Byte数组转字符串 + + + + + + + Int转2个字节Byte + 高字节在前,低字节在后 + + + + + + + Int转2个字节Byte + 低字节在前,高字节在后 + + + + + + + 分块函数 + 计算Byte数组的块数 + + + + + + + 延时N秒 + + 时间值 + + + + 读取Hex文件到Byte数组 + + + + + + + 删除文件夹 + + + + + 字符串转换Byte数组 + 字符串为连续且不包含任意字符的字符串 + + + + + + + 发送数据处理(所发所见—16进制) + + + + + + 设备地址 + + + + + 设备分区 + + + + + 设备名称 + + + + + + 更新结果 + + + + + + 初始化 + + + + + 初始化 + + + + + + + + 升级结果 + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Buffers.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Buffers.dll new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Buffers.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Data.SQLite.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Data.SQLite.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Memory.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Memory.dll new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Memory.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Numerics.Vectors.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Numerics.Vectors.dll new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Numerics.Vectors.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Runtime.CompilerServices.Unsafe.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Ubiety.Dns.Core.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Ubiety.Dns.Core.dll new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Ubiety.Dns.Core.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Zstandard.Net.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Zstandard.Net.dll new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/Zstandard.Net.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/app.publish/RCU.exe b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/app.publish/RCU.exe new file mode 100644 index 0000000..f415e4c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.4/app.publish/RCU.exe differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.5.rar b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.5.rar new file mode 100644 index 0000000..0b343c2 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.5.rar differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.6.rar b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.6.rar new file mode 100644 index 0000000..8902edd Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.6.rar differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7.rar b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7.rar new file mode 100644 index 0000000..052de93 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7.rar differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/BLV_C1_APP.hex b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/BLV_C1_APP.hex new file mode 100644 index 0000000..5755977 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/BLV_C1_APP.hex @@ -0,0 +1,6079 @@ +:020000040000FA +:1080000000800020A5800000812C0100C1800000BC +:108010000000000000000000000000000000000060 +:10802000000000000000000000000000B18000001F +:108030000000000000000000B38000007D4D010042 +:1080400039550100B7800000B7800000B7800000FC +:10805000B7800000B7800000B780000095FF0000E7 +:10806000B7800000B780000055590100FD5B01009A +:10807000B7800000B7800000B7800000B780000024 +:10808000B7800000B55E010079610100B780000093 +:108090000348854600F098FA0048004789B8010077 +:1080A000008000200448804704480047FEE7FEE7C0 +:1080B000FEE7FEE7FEE7FEE7C14D0100918000000C +:1080C0007046694611F0ACF9FFF7FEFF30B50B467C +:1080D000014600202022012409E00D46D5409D42A2 +:1080E00005D31D469540491B254695404019154628 +:1080F000521E002DF1DC30BD70B50024254600284D +:1081000001DA01244042002901DA01254942FFF742 +:10811000DDFFAC4200D04042002C00D0494270BD8F +:1081200003460B439B0703D009E008C9121F08C090 +:10813000042AFAD203E00B780370401C491C521E3B +:10814000F9D27047D2B201E00270401C491EFBD246 +:1081500070470022F6E710B513460A460446194652 +:10816000FFF7F0FF204610BD10B5044605E00B7880 +:108170000370401C002B00D0491C521EF7D2204631 +:1081800010BDCAB2401E4178401C8A4202D000296C +:10819000F9D100207047421C0178401C0029FBD116 +:1081A000801A704703460A780270401C491C002A56 +:1081B000F9D1184670470321001D401E03781202B2 +:1081C0001A43491EF9D5104670470346032208702A +:1081D000000A491C521EFAD518467047F0B51FB464 +:1081E0000646002082B005464024019100901BE025 +:1081F000019922460F46304600F008FA049A059B82 +:10820000801A994110D310461946224600F0EEF923 +:10821000361A8F410197224601200021009F00F06D +:10822000E5F938184D4100902046641E0028DFDC37 +:10823000019B00982946324607B0F0BDF0B50746CD +:108240000846584087B0C00F049048000E465900B9 +:1082500040084908BC1A884105D2384631461E46B6 +:1082600017460B4602465800400810434CD0300DCC +:10827000039040055900400D490D0590401A0290A9 +:10828000402872DA18030121000B09050843019008 +:1082900004980092002805D001995242002088419C +:1082A00000920190029840210A1A0199009800F06A +:1082B0009DF905460C466B4607CB00F0B8F9C0198E +:1082C0007141039A0E0D0023D71756401A467A4083 +:1082D000164344D0049A002A2DD0029A012A039A08 +:1082E00015DC1205C01A914101263605001C7141AA +:1082F000D20F059ED2070093019202962A4623468A +:1083000000F0B5F907B0F0BD38463146FAE716057A +:10831000224A0F46B218C01AB74101210905001CB4 +:108320004F4100187F41114618187941E20F104360 +:108330006D19644113E0E2076D0815436408C20734 +:108340001443039A01261205C01A91413605001CF8 +:108350007141CE07400830434908C01851412A46B0 +:10836000234600F077F9CDE7FFE7049801224000AB +:10837000C117121A00238B4104983146C417381ACA +:10838000A141EEE730B40124E407634030BC55E777 +:1083900030B40124E407614030BC4FE70000E0FF47 +:1083A000F0B51FB488B00B9909980024484009998A +:1083B000C00F490049080991C0070B990090490076 +:1083C00049080B9109990898A64608431CD00B99B7 +:1083D0000A98084318D0099801244000420D48002B +:1083E000410D099824050003000B204309900B98C8 +:1083F0000003000B20430B9050181C49401800222A +:1084000001901446104605E0002001460DB0F0BD75 +:10841000032801DA034600E003239C46C11A0AAE92 +:108420000AE05F0008ADED5B4F00F75B7D4300277E +:10843000AA187C41491C5B1E6145F2DD410004AB7A +:108440005A522104120C0A43240C401C0828DFDB7A +:10845000019802900099704601910090059B049A42 +:108460000799069800F003F9D0E700000DFCFFFF24 +:10847000F0B50C465C4085B0E40FE40703944C0073 +:108480000026640859009446490802460296224391 +:1084900021D062460A431ED06200570D4A000E03E7 +:1084A0002303550D012402462C492405781B1B0B80 +:1084B000360B401823432643614600901C46501A51 +:1084C000B44103D30098401C009002E09218009839 +:1084D0005B41002803DA0020014605B0F0BD002012 +:1084E000012109050746864611E064461D46141B16 +:1084F000B54106D36546521BB341744607430C434E +:10850000A646CD0740084908284392185B41054616 +:108510000D43EAD11046184313D060461946504027 +:108520007140084306D06046101AB34106D20122BA +:10853000002306E000220123DB0702E00122D243F0 +:108540005310009874460105381C6141029C039D3C +:108550000019694100F07EF8BFE70000FD0300004C +:108560004A0009030123090B1B0519430A4B10B5E7 +:10857000520D9A4202DA0020014610BD064B3433F8 +:108580009A4203DC9A1A00F041F810BD034BD2184E +:1085900000F02CF810BD0000FF030000CDFBFFFF32 +:1085A00010B5002904DB0124E40740428C41214638 +:1085B000002B04DB1C460123DB075242A3419942F6 +:1085C00000D1904210BD0000064C0125064E05E08A +:1085D000E36807CC2B430C3C98471034B442F7D3E4 +:1085E000FFF75AFDE0FA010000FB010010B5202A58 +:1085F00004DB0146203A9140002010BD9140202329 +:108600009C1A0346E3401943904010BD10B5202A40 +:1086100004DB0846203AD040002110BD0B46D34071 +:10862000D0402024A21A91400843194610BD10B52D +:10863000202A06DBCB170846203A1041C1170B430E +:1086400006E00B461341D0402024A21A9140084373 +:10865000194610BD10B5002B08DA0024401C6141FA +:1086600092185B411A4301D14008400010BDF0B59B +:108670001FB482B005460C0003D0084610F0CCF9B8 +:1086800002E010F0C9F92030024600902146284649 +:10869000FFF7ACFF049B059A04460F4618431143AD +:1086A000084314D0184610431BD0009840210A1AE2 +:1086B00018460599FFF7AAFF05460E46009A059948 +:1086C0000498FFF793FF084305D0012004E02046FB +:1086D000394607B0F0BD0020C11705430E432C43B7 +:1086E000374300990E986305401A7905E40A002281 +:1086F0000C43FD0A0A3002D500200146E9E70105D6 +:10870000101969410C9C0D9D00196941FFF7A2FFEA +:10871000DFE770B58C180578401C6B075B0F01D143 +:108720000378401C2A1106D10278401C03E0067829 +:108730000E70401C491C5B1EF9D12B0705D4002389 +:10874000521E0DD40B70491CFAE70378401CCB1A5B +:10875000921C03E01D780D70491C5B1C521EF9D55C +:10876000A142D8D3002070BDF8B5D54C0820201800 +:108770000378D24E1946437872781B0219438378E6 +:10878000C0781B041943000601430C2023181F78EE +:10879000CC4D38465F783F0238439F78DB783F0402 +:1087A00038431B061843002A04D00027062A7DD030 +:1087B0007770F8BD814246D00BF033FE0246C2A16D +:1087C000002007F0DFF90C20201801780A464178D4 +:1087D00009020A438178C07809040A43000602436B +:1087E000102028180378194643781B021943837810 +:1087F000C0781B0419430006014302200FF06CFCF3 +:108800000C2021180A7810464A78120210438A7800 +:10881000C97812041043090608430121890240184F +:108820002073010A6173010CA173010EE173AC495D +:10883000884208D9252080032073010A6173010C46 +:10884000A173000EE0732278E0781146627800068A +:1088500012021143A27823791204114301431846EE +:108860006379E2791B021843A37912061B041843AB +:10887000104381425FD00BF0D4FD227907461046A9 +:108880006279E17912021043A279090612041043B9 +:108890000843801C0BF074FD2873010A6973010CF6 +:1088A000A973000EFF21E873E13100E099E08F42E7 +:1088B00000D90F468B483A4600682872010A69724F +:1088C000010CA972000EE8727FA1002007F05AF98E +:1088D0002279E07911466279000612021143A279E9 +:1088E0001204114301433A460220C91C09F0DCFB83 +:1088F000062070702279E179104662790906120229 +:108900001043A27912041043084301218902401840 +:108910002071010A6171010CA171010EE1717249AE +:10892000884208D9952000032071010A6171010C69 +:10893000A171000EE0712A78E97810466A7809067C +:1089400012021043AA78674C1204104308432168AE +:108950002A790B1A10466A79E97912021043AA792A +:108960000906120410430843834200D821E75FA19F +:10897000002007F007F920682870010A6970010CCF +:10898000A970000EE87001203070102029180A78B4 +:108990004B2410464A78E401120210438A78C978C1 +:1089A0001204104309060843A042DFD05BA1002057 +:1089B00007F0E8F82C74210A6974210CA974210EBF +:1089C000E97414216A1813782046194653781B025B +:1089D00019439378D2781B04194312061143884730 +:1089E000F8BD814247D00BF01CFD024650A100208B +:1089F00007F0C8F80C20201801780A4641780902CF +:108A00000A438178C07809040A4300060243102013 +:108A100028180378194643781B0219438378C078D5 +:108A20001B0419430006014302200FF055FB0C20E4 +:108A3000777021180A7810464A78120210438A7813 +:108A4000C97812041043090608430121890240181D +:108A50002073010A6173010CA173010EE1732049B7 +:108A6000884208D9252080032073010A6173010C14 +:108A7000A173000EE073082029180A7810464A787E +:108A8000120210438A78C978120410430906084379 +:108A9000144909680B1A0C2029180A7810464A78DC +:108AA000120210438A78C978120410430906084359 +:108AB000834295D90FF0BEFA7770F8BD9229002055 +:108AC000C50E002094290020554152543220646183 +:108AD00074615F6C656E203A2564200D0A00000009 +:108AE000FF4F090014000020FF5F09004163743448 +:108AF00038355F496E666F20506F72745F4E6F72CB +:108B00006D616C5F4D6F6465206D6F64655F6F753F +:108B10007474696D65200D0A0000000041637434AF +:108B200038355F496E666F2E62617564200D0A00EC +:108B3000554152543220646174615F6C656E203A15 +:108B40002564202C52585F4275666665723A0000B3 +:108B5000F7B582B005460498153080B20090082021 +:108B60000BF04AFC044604200BF046FC0646FF3896 +:108B70009F2101380902884205D3FF2601360421CE +:108B800030460BF029FDB44202D33C48844200D960 +:108B90003446002601277F02A11900200BF0F2FCC9 +:108BA000761CB6B2BE42F7D3287821460BF0EAFC19 +:108BB0006878611C0BF0E6FCA878A11C0BF0E2FCC5 +:108BC000EA78A97910462A790906120210436A79CF +:108BD000EE1C120410430843E11C0BF0FDFCE11DE8 +:108BE00000200BF0CFFC2146083100980BF009FD66 +:108BF0002146A87A0A310BF0C5FC707A317A00025E +:108C0000084321460B310BF0FCFC6E1C0C20311884 +:108C10000A7810464A78120210438A78C9781204FA +:108C200010430906084321460D310BF0D5FC1020F6 +:108C300031180A7810464A78120210438A78C978A7 +:108C40001204104309060843214611310BF0C4FCFD +:108C500022461532049903980BF00EFB204600992A +:108C600006F0D2FFE871E11D0BF08CFCE01DFF3037 +:108C7000FA3008210BF0B0FC05B0F0BDFF9F0000FA +:108C8000F7B582B006460498153080B200900020F7 +:108C90000BF0B2FB0446FF389F21013809028842DD +:108CA00001D3FF240134002501277F026119002030 +:108CB0000BF068FC6D1CADB2BD42F7D33078214695 +:108CC0000BF060FC7078611C0BF05CFCB078A11CB0 +:108CD0000BF058FCF278B17910463279090612028D +:108CE00010437279F51C120410430843E11C0BF089 +:108CF00073FCE11D00200BF045FC21460831009873 +:108D00000BF07FFC2146B07A0A310BF03BFC687A0D +:108D1000297A0002084321460B310BF072FC0C202B +:108D2000761C31180A7810464A78120210438A7865 +:108D3000C978120410430906084321460D310BF08F +:108D40004BFC102031180A7810464A781202104362 +:108D50008A78C97812041043090608432146113164 +:108D60000BF03AFC22461532049903980BF084FA72 +:108D70002046009906F048FFE11D0BF003FCE01DC2 +:108D8000FF30FA3000210BF027FC05B0F0BD0000E9 +:108D9000F7B582B005460498153080B200900420E3 +:108DA0000BF02AFB044600200BF026FB0646FF389A +:108DB0009F2101380902884205D3FF260136002190 +:108DC00030460BF009FCB44202D33C48844200D93F +:108DD0003446002601277F02A11900200BF0D2FBA8 +:108DE000761CB6B2BE42F7D3287821460BF0CAFBF8 +:108DF0006878611C0BF0C6FBA878A11C0BF0C2FBC5 +:108E0000EA78A97910462A790906120210436A798C +:108E1000EE1C120410430843E11C0BF0DDFBE11DC6 +:108E200000200BF0AFFB2146083100980BF0E9FB66 +:108E30002146A87A0A310BF0A5FB707A317A00023C +:108E4000084321460B310BF0DCFB6E1C0C20311863 +:108E50000A7810464A78120210438A78C9781204B8 +:108E600010430906084321460D310BF0B5FB1020D5 +:108E700031180A7810464A78120210438A78C97865 +:108E80001204104309060843214611310BF0A4FBDC +:108E900022461532049903980BF0EEF9204600990A +:108EA00006F0B2FEE871E11D0BF06CFBE01DFF3037 +:108EB000FA3004210BF090FB05B0F0BDFF9F0000DD +:108EC00010B5ACB0002100910446019102910391CC +:108ED00004910591982106A8FFF73BF96A46547062 +:108EE00006211170022090704B20C001D070030A3F +:108EF0001371030C5371000E907103209072642063 +:108F0000D072002010730F485073030A9373030C40 +:108F1000D373000E10740C485074030A9374030C3E +:108F2000D374000E107528AA51710720907101208A +:108F300018AA9071972206A96846FFF709FE2CB07F +:108F400010BD0000C5D3000051D0000010B5074887 +:108F50000078012803D0022804D0032801D100F0B2 +:108F600007F810BDFFF700FC10BD0000922900209B +:108F7000F0B5FA4883B00446817EA01C0090671CBF +:108F80001C203A18137825461846537821341B02C2 +:108F900018439378D2781B041843120610430190AB +:108FA0002378E2781846637812061B021843A378E8 +:108FB00020351B04184310438446002906D002299B +:108FC00071D0032970D004296FD17DE2E44E0820CE +:108FD000301801780A46417809020A438178C0783E +:108FE00009040A43000602430C2031180B78184686 +:108FF0004B781B0218438B78C9781B041843090669 +:109000000843824276D00BF00CFA0190142020180D +:1090100001780B46417809020B438178C078090436 +:109020000B43000603431FD0581C1DD00C203118E1 +:109030000A7810464A78120210438A78C9781204D6 +:10904000104309060843801C227884461046627843 +:10905000E17812021043A278120410430906084373 +:109060006146019A9847E872E87A00281ED0BB4C06 +:10907000BCA1207F401CC2B22277002006F082FDF6 +:109080000320A076B54C207FE17E88427ED3BCA130 +:10909000002006F077FD0020A0762077E872207887 +:1090A00003287AD097E0D5E014E109E22278E1784C +:1090B00010466278090612021043A2781204104387 +:1090C00008431C217A181378194653781B02194358 +:1090D0009378D2781B0419431206114388420AD1AF +:1090E000ADA1002006F04EFD0020A8729B49022091 +:1090F000887607E093E0ACA1002006F043FD974896 +:1091000004218176954800210177007803281DD13C +:109110000C20301801780A46417809020A43817808 +:10912000C07809040A430006024300981021401841 +:109130000378194643781B0219438378C0781B04CF +:1091400019430006014302200EF0C6FF0C2031181F +:109150000A7810464A78120210438A78C9781204B5 +:109160001043090608430121890240183073010A9F +:109170007173010CB173010EF1738F49884281D96B +:10918000252080033073010A717301E08CE004E054 +:10919000010CB173000EF07374E70C2030180178E5 +:1091A0000A46417809020A438178C07809040A43D3 +:1091B00000060243009810214018037819464378AE +:1091C0001B0219438378C0781B041943000601432E +:1091D00002200EF081FF0C2031180A7810464A78E0 +:1091E000120210438A78C978120410430906084312 +:1091F0000121890240183073010A7173010CB173A7 +:10920000010EF1736C4988424ED9252080033073DA +:10921000010A7173010CB173000EF0735CE16748D1 +:10922000227901686648C0680B1A10466279E179B4 +:1092300012021043A2790906120410430843834224 +:1092400032D9A87A01287DD1019884457AD10020AD +:10925000A87231E13877010A7977010CB977010EEC +:10926000F977102162181378194653781B021943B5 +:109270009378D2781B0419431206114303D04A1C79 +:1092800001D08847A87200214C48E97202684C4816 +:10929000C260A87A012808D00520207100226271DE +:1092A000A271E2712D48817616E10C202A181378FC +:1092B000184653781B0218439378D2781B0418433E +:1092C000120610432071020A6271020CA271000E94 +:1092D000E071E7E7FF30FF3002302070010A617073 +:1092E000010CA170000EE07008200BF085F82378C7 +:1092F000E2781946637812061B021943A3781B040F +:1093000019431143884202D92E48814209D30420CF +:109310000BF072F82070010A6170010CA170000E50 +:10932000E0702278E1781046627809061202104354 +:10933000A27812041043084306F084FC00286AD087 +:10934000217800E0C5E00A466178E07809020A4326 +:10935000A17809040A430006024335E0922900205F +:10936000C50E0020446174612070617273696E677C +:10937000206661696C6564203A25640D0A0000006E +:1093800077697065206361636865207061727469D4 +:1093900074696F6E0D0A00005265706C7920535528 +:1093A00043430D0A000000004E6F74204465762090 +:1093B000446174610D0A0000FF4F09001000002095 +:1093C00050000020FF9F000090A1002006F0DAFB73 +:1093D00099A1002006F0D6FB00250126760222780E +:1093E000E17810466278090612021043A27812044E +:1093F0001043084340190AF0C3FF024692A100201F +:1094000006F0C0FB6D1CADB2B542E8D390A10020C0 +:1094100006F0B8FB60E02278E17810466278090631 +:1094200012021043A2781204104308430D300AF0D0 +:10943000E3FF2074010A6174010CA174000EE07452 +:109440002278E17810466278090612021043A27869 +:1094500012041043084311300AF0CEFF2075010AB0 +:109460006175010CA175000EE0752278E178104657 +:109470006278090612021043A278120410430843CE +:109480000B300AF0CEFF2873010A6973010CA9732F +:10949000000EE8732278E17810466278090612021D +:1094A0001043A2781204104308430A300AF0A4FFC4 +:1094B0002874E87A002803D16649022088760BE0F8 +:1094C00064490020887607E0019806F0BBFB00287D +:1094D00031D06049032088765E4C2078012828D05E +:1094E000009801460A7810464A78120210438A789A +:1094F000C9781204104309060843574909680D1A30 +:109500000098021D1378184653781B02184393786D +:10951000D2781B04184312061043854209D90098DB +:109520000A0A017042700A0C8270090EC170012093 +:10953000207003B0F0BD1C2039180A7810464A7814 +:10954000120210438A78C9781204104309060843AE +:109550000D300AF051FF2074010A6174010CA174EE +:10956000000EE0741C2039180A7810464A7812025E +:1095700010438A78C9781204104309060843113051 +:109580000AF03AFF2075010A6175010CA175000E01 +:10959000E0751C2039180A7810464A7812021043E8 +:1095A0008A78C97812041043090608430B300AF080 +:1095B00038FF2873010A6973010CA973000EE87360 +:1095C0001C2039180A7810464A78120210438A780B +:1095D000C97812041043090608430A300AF00CFF48 +:1095E00028741C2039180A7810464A781202104351 +:1095F0008A78C97812041043090608432070010ACA +:109600006170010CA170000EE07059E7424C565F8A +:10961000416374697665506F72745F5461736B2037 +:109620002D20526561645F446576204661696C3A1D +:1096300020253038580D0A00526561645F44657614 +:1096400020446174613A0000253032582000000047 +:109650000D0A0000922900201400002010B50748D0 +:109660000078012803D0022804D0032801D101F09A +:1096700009F910BD03F05EFF10BD0000572900205E +:1096800030B5B5B004460AF07BFEF12802D00120C7 +:1096900035B030BD224615321546D22168460AF053 +:1096A000BDFD30A8C079002804D06946204604F0EA +:1096B000E3F939E030A8007A002804D06946204652 +:1096C00004F04CFA30E030A8407A002804D0694613 +:1096D000204604F0B1FA27E032A8023001780B46A8 +:1096E000417809020B438178C07809040B430006D6 +:1096F000034304D06946204604F048FB14E033A835 +:10970000023001780B46417809020B438178C0781A +:1097100009040B43000603436946204602D004F0C7 +:10972000AFFB01E004F0F2FA30A8C078032803D9B7 +:10973000012030A9087102E030A9401CC8702A46F7 +:10974000D22168460AF098FDE11D00200AF01AFFB8 +:10975000E721204606F058FAE11D0AF013FF002029 +:1097600035B030BDF7B5BCB014463C9A0E46002764 +:1097700015323D46D22101A83A920AF04FFD21460A +:10978000304606F041FA002806D0FDA1022006F07E +:10979000BBF901203FB0F0BD30460AF0F1FD0128D1 +:1097A00006D0FCA1022006F0AFF901203FB0F0BDC9 +:1097B000701C0AF0E5FD30A9497A814206D0FCA16F +:1097C000022006F0A1F901203FB0F0BDB01C0AF064 +:1097D000D7FDF12806D0FCA1022006F095F9012062 +:1097E0003FB0F0BDF01C0AF0CBFD002806D0FDA173 +:1097F000022006F089F901203FB0F0BD301D0AF0CB +:10980000BFFDA04206D0FEA1022006F07DF9012096 +:109810003FB0F0BDB01D0AF0B3FDA02806D0FEA1F8 +:10982000022006F071F901203FB0F0BD002430A9FC +:10983000CC710C72F01D0AF0A3FD30A9897A203991 +:1098400006292BD20A007A441279921897442602EC +:109850000D181D22012821D130A98C73200AC8734C +:10986000200C0874200E487418E0022816D130A984 +:109870008C74200AC874200C0875200E48750DE001 +:1098800003280BD130A8047308E0042806D130A8BF +:10989000447303E0052801D130A8C4723046083073 +:1098A0000AF06EFD3690002430460A30389001A848 +:1098B0000019A03000908079369A0007000F6100EF +:1098C0003791CA409107890F88421AD1022818D0CF +:1098D00030A8C17A0120A040814330A8C1723898D5 +:1098E0000AF04EFD3799C84083079B0F19D00098A6 +:1098F0006D1C8373EDB22246CDA1022006F004F95F +:109900000FE0884201D1022843D02246CEA1022096 +:1099100006F0FAF830A8C17A0120A040014330A82F +:10992000C172641CE4B2042CC1D3304609300AF081 +:1099300027FD3690002430460B30379001A80019DF +:10994000A0300090807A369903071B0F6000399091 +:10995000C1408807800F834237D1022B35D030A811 +:10996000C17A221D01209040814330A8C1723798EE +:109970000AF006FD3999C84083079B0F37D000983D +:109980006D1C8374EDB2221DA9A1022006F0BCF863 +:109990002DE030A8C17A0120A040814330A8C172D7 +:1099A00038980AF0EDFC3799C840830700989B0F60 +:1099B000807B9842B5D000986D1C8373EDB222462F +:1099C000A8A1022006F0A0F8ABE7834201D1022B48 +:1099D0007ED00090221DAAA1022006F095F830A9A1 +:1099E000C87A221D01219140084330A9C872641C25 +:1099F000E4B2032CA2D330460C300AF0C1FC28A9F3 +:109A0000487430460D300AF0BBFC6946A74CC87359 +:109A100020460AF0B5FC6946C97B884209D0A4A15A +:109A2000022006F071F86846C07B21460AF0AAFDC4 +:109A30007F1C304610300AF0A3FC0446000210AA36 +:109A40005074010A9174010CD174000E10759E4877 +:109A50000AF096FCA04208D09CA1022006F054F81F +:109A6000994920460AF08EFD7F1C30460F300AF0DF +:109A700087FC14A901310A78044610464A7812027C +:109A800010438A78C978120410430906084320431A +:109A9000000210AA5074010A9174010CD174000ED6 +:109AA000107592480AF06CFCA04208D090A10220E8 +:109AB00006F02AF88D4920460AF064FD7F1C3046E6 +:109AC0000E300AF05DFC14A9013104460A7800E06A +:109AD0005CE110464A780B26120210438A78C97856 +:109AE0001204104309060843204310AA5074010AC7 +:109AF0009174010CD174000E1075360330460AF0D3 +:109B00003FFCA04208D082A1022005F0FDFF3146B3 +:109B100020460AF037FD7F1C002D25D038980AF02A +:109B20002FFC834D044628460AF02AFCA04208D0A8 +:109B300080A1022005F0E8FF294620460AF022FD18 +:109B40007F1C37980AF01CFC814D044628460AF019 +:109B500017FCA04208D07FA1022005F0D5FF2946BE +:109B600020460AF00FFD7F1C002F01D007F058FFA0 +:109B7000D22101A83A9A0AF07FFB00203C99F7E035 +:109B80004335494F20436865636B204661696C210A +:109B9000200D0A004335494F20504B545F41444447 +:109BA0005F464D204661696C21200D0A00000000CF +:109BB0004335494F20504B545F545950452046611E +:109BC000696C21200D0A00004335494F20504B5449 +:109BD0005F44657654797065204661696C21200D7B +:109BE0000A0000004335494F20504B545F41444424 +:109BF0005F544F204661696C21200D0A000000006F +:109C00004335494F20504B545F4C454E20466169C7 +:109C10006C21200D0A0000004335494F20504B5461 +:109C20005F434D44204661696C21200D0A0000000D +:109C30004335494F2044495F537461727425642051 +:109C400025642021200D0A004335494F2044495FF7 +:109C500054797065202564204661696C21200D0AC5 +:109C6000000000004335494F2044495F5049525F8E +:109C7000537461727425642025642021200D0A002C +:109C80004335494F2044495F54797065202564204D +:109C90004661696C212074656D70313A2564202C11 +:109CA0002074656D70323A25640D0A0003B000001F +:109CB0004335494F5F444F5F53746174757320435C +:109CC00068616E67650D0A0002B000004335494FB8 +:109CD0005F52656C61795F5374617475735F332093 +:109CE0004368616E67650D0A0000000001B0000066 +:109CF0004335494F5F52656C61795F537461747588 +:109D0000735F32204368616E67650D0A00000000D2 +:109D10004335494F5F52656C61795F537461747567 +:109D2000735F31204368616E67650D0A00000000B3 +:109D300004B000004335494F5F44495F5374617478 +:109D400075735F4C204368616E67650D0A00000003 +:109D500005B000004335494F5F44495F5374617457 +:109D600075735F48204368616E67650D0A000000E7 +:109D7000C91D0AF007FCE7213C9805F045FF3C9916 +:109D8000C91D0AF0FFFB00203FB0F0BD30A8C17A2A +:109D9000221D01209040814330A8C17237980AF0FB +:109DA000EFFA3999C840830700989B0F807C98424E +:109DB00000D11CE600986D1C8374EDB2221D02498F +:109DC000022005F0A1FE12E6649C0000F0B593B0FD +:109DD00005460AF0D5FA152802D0012013B0F0BDCF +:109DE0002A4615321746462168460AF017FA10A986 +:109DF00002310A78012610464A78120210438A7806 +:109E0000C9781204104309060843002879D00020BD +:109E10003246824010AC023421780B466178090248 +:109E20000B43A17809040B43E17809060B43134265 +:109E300003D1401CC0B20D28EAD3402A47D00EDC23 +:109E4000082A35D006DC012A17D0022A1ED0042A9F +:109E50005BD124E0102A30D0202A56D132E00120F4 +:109E60008002824248D050DC802A35D0FF3A521E10 +:109E700037D0FF3A012A48D138E036A1022005F058 +:109E800043FE6946284604F014FA3EE03AA1022057 +:109E900005F03AFE6946284604F093FA35E03DA104 +:109EA000022005F031FE6946284604F0EDFA2CE068 +:109EB0006946284604F0D6F827E06946284604F0AB +:109EC000BDF922E06946284604F039FA1DE06946EA +:109ED000284604F03DF918E06946284604F0FDF8EC +:109EE00013E06946284604F06EF90EE069462846FC +:109EF00004F010FD09E004E06946284604F0DAFBAE +:109F000003E06946284604F072F8684600780428A1 +:109F10000AD96A465670002010AA9070D07010714D +:109F200050716A46107002E06946401C08703A465B +:109F3000462168460AF0A0F9E91D00200AF022FB3C +:109F40005B21284605F060FEE91D0AF01BFB00209E +:109F500013B0F0BD43354D555349435F5365745FAE +:109F600044656661756C745F566F6C756D655F46B0 +:109F70006C61670D0A00000043354D555349435F3E +:109F80005365745F566F6C756D655F466C61670DE8 +:109F90000A00000043354D555349435F53706563D4 +:109FA0006966795F506C61795F466C61670D0A0084 +:109FB000F0B51646024693B00C460546153200270A +:109FC0004621684612920AF029F93146204605F0EA +:109FD0001BFE002806D0F4A1022005F095FD01200B +:109FE00013B0F0BD20460AF0CBF9012806D0F4A149 +:109FF000022005F089FD012013B0F0BD601C0AF0BD +:10A00000BFF9694600078978000F814206D0F3A1A5 +:10A01000022005F079FD012013B0F0BDA01C0AF06C +:10A02000AFF9012806D0F4A1022005F06DFD012052 +:10A0300013B0F0BDE01C0AF0A3F9002806D0F6A189 +:10A04000022005F061FD012013B0F0BD201D0AF0D3 +:10A05000E8F9B04206D0F7A1022005F055FD012035 +:10A0600013B0F0BD204608300AF08AF9E02806D087 +:10A07000F7A1022005F048FD012013B0F0BDE01D5E +:10A080000AF07EF92146093100263A2870D00CDC0E +:10A0900030380A286DD202007A4412799218974417 +:10A0A000138EAAC6E468FE6868FD0127BF023E2839 +:10A0B00073D006DC3B2871D03C2870D03D2858D1A5 +:10A0C00074E23F2855D1B9E208460AF059F96946C9 +:10A0D000487120460A300AF053F969460873204651 +:10A0E0000B300AF04DF96946487320460D300AF0EE +:10A0F00098F96946C88120460F300AF041F94206B6 +:10A10000520E69468A71C009C871204610300AF0A3 +:10A1100037F969460872204611300AF031F969466C +:10A120004872204612300AF02BF9694688722046A0 +:10A1300013300AF025F96946CC4CC87220460AF063 +:10A140001FF969464979884209D0C9A1022005F062 +:10A15000DBFC6846407921460AF014FA0127CD4C11 +:10A1600020460AF00DF96946897988420CD001E051 +:10A17000DBE079E0C8A1022005F0C6FC68468079E2 +:10A1800021460AF0FFF97F1CCB4C20460AF049F922 +:10A190006946C98988420DD002E021E2E2E0E1E1AE +:10A1A000C6A1022005F0B0FC6846C08921460AF02D +:10A1B00028FA7F1C002F57D007F032FC56E2C6A1C8 +:10A1C000022005F0A1FC10A902310A7810464A7855 +:10A1D000120210438A78C978120410430906084312 +:10A1E0004008400010AA9070010AD170010C117152 +:10A1F000000E50713AE2C2A1022005F085FC10A9C0 +:10A2000002310A7810464A78120210438A78C978D7 +:10A2100012041043090608430421884310AA9070D1 +:10A22000010AD170010C1171000E50711EE2BDA126 +:10A23000022005F069FC6A4610A9567502310A78B9 +:10A2400010464A78120210438A78C97812041043E3 +:10A25000090608430221884310AA9070010AD170B0 +:10A26000010C1171000E507100E208460AF088F8E6 +:10A2700008A9087320460A300AF082F808A98873F2 +:10A2800020460B300AF07CF808A9887322310A783E +:10A2900010464A78120210438A7801E02DE00FE060 +:10A2A000C97812041043090608430821884310A9FD +:10A2B0008870020ACA70020C0A71000E4871D5E15A +:10A2C00008460AF05DF86A4610A9907102310A78D2 +:10A2D00010464A78120210438A78C9781204104353 +:10A2E000090608431021884310AA9070010AD17012 +:10A2F000010C1171000E5071B8E110A902310A78F9 +:10A3000010464A78120210438A78C9781204104322 +:10A31000090608432021884310AA9070010AD170D1 +:10A32000010C1171000E5071A0E108460AF028F8E6 +:10A3300008AA10A9D07102310A7810464A78120290 +:10A3400010438A78C9781204104309060843402153 +:10A35000884310AA9070010AD170010C1171000E8F +:10A36000507183E108460AF05CF86A46D0870246DD +:10A3700074A1022005F0C8FB10A902310A7810462A +:10A380004A78120210438A78C978120410430906E9 +:10A3900008438021884310AA9070010AD170010CF3 +:10A3A0001171000E507161E143354D555349432001 +:10A3B000436865636B204661696C21200D0A0000CB +:10A3C00043354D5553494320504B545F4144445FFE +:10A3D000464D204661696C21200D0A0043354D55DC +:10A3E00053494320504B545F5459504520466169AE +:10A3F0006C21200D0A00000043354D555349432080 +:10A40000504B545F44657654797065204661696CA1 +:10A4100021200D0A0000000043354D5553494320CB +:10A42000504B545F4144445F544F204661696C2156 +:10A43000200D0A0043354D5553494320504B545F7E +:10A440004C454E204661696C21200D0A0000000039 +:10A45000424C565F43354D555349435F52656C61DD +:10A46000795F4661696C21200D0A000006B000008A +:10A4700043354D555349435F506C61796261636B5D +:10A480005F537461747573204368616E67650D0A6C +:10A490000000000007B0000043354D555349435FAD +:10A4A000566F6C756D655F53746174757320436886 +:10A4B000616E67650D0A000008B0000043354D5518 +:10A4C0005349435F6964785F5374617475732043C3 +:10A4D00068616E67650D0A00424C565F43354D5505 +:10A4E0005349435F5365745F44656661756C745F7F +:10A4F000566F6C756D655F5265706C790D0A000062 +:10A50000424C565F43354D555349435F5370656325 +:10A510006966795F506C61795F5265706C790D0A7C +:10A5200000000000424C565F43354D555349435F90 +:10A530005365745F566F6C756D655F5265706C79AD +:10A540000D0A0000424C565F43354D555349432098 +:10A55000706C61796261636B5F6E756D203A202566 +:10A56000640D0A00084609F05CFF10AA10806A46D4 +:10A57000D28F49A1022005F0C7FA10A902310A784A +:10A5800010464A78120210438A78C97812041043A0 +:10A5900009060843FF210131884310AA9070010A7F +:10A5A000D170010C1171000E50715FE010A90231E1 +:10A5B0000A7810464A78120210438A78C978120441 +:10A5C000104309060843012149028843384310AA71 +:10A5D0009070010AD170010C1171000E507145E0AC +:10A5E000084609F01EFF69460A8E824207D133A150 +:10A5F000022005F089FA6946088E401C0886088EFC +:10A60000498E884232D336A1022005F07DFA10A986 +:10A6100002310A7810464A78120210438A78C978C3 +:10A620001204104309060843B84310AA9070010AA7 +:10A63000D170010C1171000E507117E010A9023198 +:10A640000A7810464A78120210438A78C9781204B0 +:10A650001043090608430121C902884310AA9070DB +:10A66000010AD170010C1171000E5071684606701C +:10A6700046704621129A09F0FFFDE91D002009F0FD +:10A6800081FF5B21284605F0BFFAE91D09F07AFF3A +:10A69000002013B0F0BD0000424C565F43354D55CD +:10A6A000534943206465765F76657273696F6E7394 +:10A6B000203A20253034580D0A000000424C562024 +:10A6C00043354D555349432066696C6520626C6F74 +:10A6D000636B3A256420535543430D0A0000000084 +:10A6E000424C562043354D555349432057697274A7 +:10A6F000652046696C6520454E440D0A0000000047 +:10A7000010B5BCB000240094019402940394049406 +:10A71000D42106A80594FDF71CFD69464C70F12074 +:10A720000870E120032240028A70C870030A0B718E +:10A73000030C4B71000E8871FF208A72F530C872CD +:10A74000000A087315484873020A8A73020CCA7318 +:10A75000000E087412484874020A8A74020CCA7403 +:10A76000000E0875112028A98877C87730A90870CD +:10A7700048708870C870087102200875487588751F +:10A78000C8750876487688767F20C877D22206A9D1 +:10A790006846FEF775FA3CB010BD000081960000D7 +:10A7A0006597000030B599B0002012901390149076 +:10A7B00015901690179048216846FDF7CAFC0123B2 +:10A7C00010A94B7215220A7203208872E120400200 +:10A7D000C872040A0C73040C4C73000E88730420B6 +:10A7E0008874FF20F530C874000A0875234848753E +:10A7F000040A8C75040CCC75000E08762048487647 +:10A80000040A8C76040CCC76000E087769460B712E +:10A81000192508A90D7369464B77180A8877022411 +:10A8200008A98C726946487D12210843694648751B +:10A830004A768A76CD766420087742310A781046C7 +:10A840004A78120210438A78C97812041043090624 +:10A8500008432043FF2181310843184310A9887021 +:10A86000020ACA70020C0A71000E4871462269463B +:10A8700012A8FEF705FA19B030BD0000CD9D00000A +:10A88000B19F0000F0B5FF4E83B034462046B17E44 +:10A8900022300190A01C2746203400902378E278D3 +:10A8A0001846637812061B021843A37803251B047D +:10A8B000184323371043082932D20A007A44127908 +:10A8C0009218974403052DE62DFDFCFB0120DEE0E8 +:10A8D000801C09F055FD032804D0EBA1002005F0F1 +:10A8E00051F91DE02278E1781046627809061202DB +:10A8F0001043A27812041043084305F0A3F900287E +:10A9000010D02178E0780A466178000609020A43EF +:10A91000A17809040A430243E1A1002005F032F9BD +:10A92000B576FDE12278E1781046627809061202D8 +:10A930001043A2781204104308433077010A71775C +:10A94000010CB177010EF17709F01AFDA0721C20FD +:10A9500031180A7810464A78120210438A78C9786A +:10A960001204104309060843401C09F009FDE07277 +:10A970001C2031180A7810464A78120210438A784F +:10A98000C9781204104309060843083009F049FD4C +:10A990002073000A60731C2031180A7810464A7828 +:10A9A000120210438A78C97812041043090608433A +:10A9B0000D3009F021FD3874010A7974010CB97465 +:10A9C000000EF8741C2031180A7810464A781202DA +:10A9D00010438A78C97812041043090608431130DD +:10A9E00009F00AFD3875010A7975010CB975000E78 +:10A9F000F8751C2031180A7810464A781202104364 +:10AA00008A78C97812041043090608430B3009F00C +:10AA100008FD0199020A08734A73020C8A73000E3A +:10AA2000C8731C2031180A7810464A781202104365 +:10AA30008A78C97812041043090608430A3009F0DD +:10AA4000DBFCA074012060721020381802781146D7 +:10AA50004278120211438278C07812041143000632 +:10AA600001430FD0481C0DD01C2032181378184613 +:10AA700053781B0218439378D2781B0418431206AC +:10AA8000104388478E4801688E48416057E0B07691 +:10AA900046E1FF30FF3002302070010A6170010C86 +:10AAA000A170000EE070002009F0A6FC2378194682 +:10AAB00063781B021943A3781B0402E01FE140E006 +:10AAC00011E0E278194312061143884208D8FF20AA +:10AAD00001302070010A6170010CA170000EE0705D +:10AAE0000120B0761CE1607A012800D018E7A07C34 +:10AAF0000028FBD010203818027811464278120244 +:10AB000011438278C07812041143000601430FD02C +:10AB1000481C0DD01C2032181378184653781B029D +:10AB200018439378D2781B041843120610438847C1 +:10AB30006348016863484160A07C401EA074062001 +:10AB4000A5E7614D2A79E87911466A790006120273 +:10AB50001143AA7912041143014308202A181378DB +:10AB6000184653781B0218439378D2781B04184375 +:10AB70001206104381427DD009F053FC8446142014 +:10AB8000381801780B46417809020B438178C07868 +:10AB900009040B43000603431FD0581C1DD0082096 +:10ABA0002818027811464278120211438278C07840 +:10ABB00012041143000601431C2037183A7810464E +:10ABC0007A7812021043BA7812041043FA78120607 +:10ABD00010436246891C98476072607A00280AD147 +:10ABE000374800682071010A6171010CA171000EE3 +:10ABF000E0710720B076307803281DD1082028188E +:10AC000001780A46417809020A438178C07809042C +:10AC10000A430006024300981021401803781946A1 +:10AC200043781B0219438378C0781B04194300063C +:10AC3000014303200DF050FA082029180A78104625 +:10AC40004A78120210438A78C97812041043090620 +:10AC500008430121890240182872010A6972010C17 +:10AC6000A972010EE972194988420AD94B204003A2 +:10AC7000287200E005E0010A6972010CA972000E59 +:10AC8000E87225E057290020424C565F4255535F39 +:10AC90006465762054797065204661696C0D0A0000 +:10ACA000424C565F4255535F646576204368656346 +:10ACB0006B204661696C3A253038580D0A00000057 +:10ACC0001000002050000020E4120020FF6F090057 +:10ACD0002D4801682D4840680B1A01980C21411835 +:10ACE0000A7810464A78120210438A78C97812040A +:10ACF000104309060843834212D90520C7E622798A +:10AD0000E17910466279090612021043A279120411 +:10AD1000104308431C490968081A142800D9FFE5A4 +:10AD2000307801282DD00098194C01460A78104639 +:10AD30004A78120210438A78C9781204104309062F +:10AD4000084321680B1A0098011D0A7810464A78BA +:10AD5000120210438A78C978120410430906084386 +:10AD600083420ED90BA1002004F00CFF216800984B +:10AD70000A0A017042700A0C8270090EC17001202B +:10AD8000307003B0F0BD0000100000205000002023 +:10AD9000140000205265706C7920535543430D0A0E +:10ADA00000000000F3B58DB0044600273E46342174 +:10ADB0006846FDF7CEF920460E9904F025FF0028DD +:10ADC00006D056A1022004F09FFE01200FB0F0BD76 +:10ADD000204609F0D5FA002806D055A1022004F03B +:10ADE00093FE01200FB0F0BD601C09F0C9FA564D6A +:10ADF00000072978000F884206D154A1022004F0F0 +:10AE000083FE01200FB0F0BDA01C09F0B9FAF228B2 +:10AE100006D058A1022004F077FE01200FB0F0BD4B +:10AE2000E01C09F0ADFA002806D058A1022004F079 +:10AE30006BFE01200FB0F0BD201D09F0F2FA0E9953 +:10AE4000884206D057A1022004F05EFE01200FB018 +:10AE5000F0BD0B46224658A1042004F093FE601C6E +:10AE600009F08EFA0007000F2870E01D09F088FA3B +:10AE70000B2849D201007944097949188F44444488 +:10AE8000050B4444444444101F00214668460E9A72 +:10AE900009F008FF02E0684608F0C0FD064635E00C +:10AEA0004D4D002028602046083009F069FA2968D5 +:10AEB00008430146286049A00DF066FD2AE02046BF +:10AEC0006F46083009F05CFA06462046093009F062 +:10AED00057FA014630460AF041FB002069460870E7 +:10AEE0002A784A70F2228A70C87009240C7148715D +:10AEF00088711A20C8710E722146384604F0A0FCF1 +:10AF000069468871264601E0002F03D03146684625 +:10AF10000AF036FE00200FB0F0BD00005043204381 +:10AF20006865636B204661696C21200D0A00000092 +:10AF3000504320504B545F4144445F464D2046618E +:10AF4000696C21200D0A0000062A00205043205081 +:10AF50004B545F54595045207468652073616D658A +:10AF600020616E64204E6F7420726573656E64217B +:10AF7000200D0A00504320504B545F4465765479AD +:10AF80007065204661696C21200D0A0050432050F5 +:10AF90004B545F4144445F544F204661696C21200B +:10AFA0000D0A0000504320504B545F4C454E204644 +:10AFB00061696C21200D0A00504320546573742090 +:10AFC0004461746120416464723A25303858204CE1 +:10AFD000656E3A2564000000300000204462675F1F +:10AFE0005377697463683A253038580070B52E4C31 +:10AFF00010202018027811464278120211438278FC +:10B00000C07812041143000601431420221813785B +:10B01000184653781B0218439378D2781B041843C0 +:10B020001206104381423DD009F0FBF90546024665 +:10B030001EA1002004F0A6FD14202318197808464C +:10B04000597809020843997809040843D978090610 +:10B0500008432946801CFFF7A5FE142021180A7812 +:10B0600010464A78120210438A78C97812041043B5 +:10B07000090608430121890240182075010A6175FB +:10B08000010CA175010EE1750E49884208D909200D +:10B0900000042075010A6175010CA175000EE075B0 +:10B0A000012070BD002070BD87060020555341521D +:10B0B000545F3020526576696365204C656E3A2591 +:10B0C00064000000FF0F0900F0B5BFB00026F021BA +:10B0D00002A8FDF73EF83B21BF48FDF73AF83B21B7 +:10B0E000BE48FDF736F83921BD48FDF732F8012298 +:10B0F000D204042102A805F06FF86946C87A897A5B +:10B100000002014308026946497A01430802694680 +:10B110000C7AB4A104432246002004F033FDFF2042 +:10B120000021013009F058FAB64DFFF73BFBAA4F5A +:10B13000F87E401CF876FFF7E3FAF87EE121401C28 +:10B14000F8764902B0483E9001740A0A42740A0C2B +:10B150008274090EC174E812AC49020A08704A7080 +:10B16000020C8A70000EC87001203870002009F0AF +:10B1700043F90246A6A1002004F004FD68427F21A5 +:10B1800020180902884201D32C4609E080B2F02140 +:10B19000FCF79CFF002902D0F1203FB0F0BD06462D +:10B1A0003246A5A1002004F0EDFC002009F024F9AE +:10B1B000A64F010A38707970010CB970010EF97050 +:10B1C0000246A3A1002004F0DDFC3A78F97810468D +:10B1D0007A78090612021043BA7812041043084321 +:10B1E000042109F0F9F90027002E3CD92A46F02164 +:10B1F00002A804F0F1FF6846817A407A019100903C +:10B2000069460B7B2A469AA1002004F0BBFC6946E4 +:10B21000087B012820D1487A072802D00A281BD1B0 +:10B220000DE08A7A9DA1002004F0ACFC6846807A8B +:10B2300001F056FB6948C17E491CC1760CE08A7A50 +:10B240009CA1002004F09EFC6846807A01F028F959 +:10B250006248C17E491CC176F035A54203D27F1CED +:10B26000FFB2B742C2D3042009F0C6F8024697A144 +:10B27000002004F087FC5949012008704B21C901C6 +:10B280009C48009001740A0A42740A0C8274090EE8 +:10B29000C174994901750A0A42750A0C8275090E32 +:10B2A000C175042009F0A8F8944D010A287069704E +:10B2B000010CA970010EE970024691A1002004F072 +:10B2C00061FC2A78E97810466A7809061202104370 +:10B2D000AA78120410430843082109F07DF9494D6A +:10B2E0000027002E1DD92A46F02102A804F074FF81 +:10B2F0006846007B02280DD16846407A062809D1AD +:10B300006846827A85A1002004F03CFC6846807A79 +:10B31000FDF7D6FDF035A54203D27F1CFFB2B74240 +:10B32000E1D300F0DBFB2E49C87E0C46401CC876FA +:10B33000002088764B20C001A074020AE274020C3F +:10B340002275000E6075012008707A48A075010A08 +:10B35000E175010C2176000E60760820A41C09F02E +:10B360004BF8024659A1002004F00CFC3E98102135 +:10B370004018027811464278120211438278C07850 +:10B38000120411430006014303200BF0C9FA009890 +:10B390001021401802781146427812021143827837 +:10B3A000C078120411430006014301200BF0B8FAE3 +:10B3B0001020201802781146427812021143827838 +:10B3C000C078120411430006014302200BF0A8FAD2 +:10B3D00000203FB0F0BD000057290020CB290020FD +:10B3E0009229002044657669636520636F6E666903 +:10B3F000675F616464723A25303858202D2D2D2DF9 +:10B400000A000000000108005929002077290020C7 +:10B410004255533438352044657669636520496E5A +:10B42000666F20456E64616464723A253038582036 +:10B430002D2D2D2D0A000000636F6E6669675F6E0B +:10B44000756D3A2564202D2D2D2D0A00EB29002045 +:10B45000506F6C6C3438355F496E666F2061646480 +:10B46000723A25303858202D2D2D2D0A000000006D +:10B47000253038582064657669636520706F727472 +:10B480003A256420747970653A2564206164647299 +:10B490003A2564202D2D2D2D0A0000004445565FCD +:10B4A00054454D50545950453A2564202D2D2D2D8D +:10B4B0000A0000004445565F4341524454595045E8 +:10B4C0003A2564202D2D2D2D0A000000416374348F +:10B4D00038352044657669636520496E666F20457E +:10B4E0006E64616464723A25303858202D2D2D2DFC +:10B4F0000A000000CD290020A15B0100B329002033 +:10B500004163743438355F496E666F2061646472DC +:10B510003A25303858202D2D2D2D0A004445565FF0 +:10B520005357495F545950453A2564202D2D2D2DF0 +:10B530000A000000595E0100F0B5024689B00446D9 +:10B5400015320D2101A8059208F068FE6846C279FF +:10B550000025384F384E012A04D0022A02D0032A8F +:10B560001ED064E003983968081A029988425ED9AF +:10B570006946CD71F57031A1042004F003FB0D2163 +:10B5800001A8059A08F078FEE11D002008F0FAFFF6 +:10B590002221204604F038FBE11D08F0F3FF46E0CD +:10B5A0000820301801780B46417809020B43817856 +:10B5B000C07809040B43000603433868C01A3C28CE +:10B5C00035D9B37925A1042004F0DCFAB379642BD2 +:10B5D0001DD36846C571F570F07900902A462CA1FC +:10B5E000042004F0CFFAF07900F0B8FA0D2101A898 +:10B5F000059A08F041FEE11D002008F0C3FF22215A +:10B60000204604F001FBE11D08F0BCFF0FE05B1CCD +:10B61000B37105950695002005A907950854401CAF +:10B62000C0B20A28FAD30A2105A806F003FE0020BA +:10B6300009B0F0BD10000020062A0020504320541D +:10B64000657374202D2054686520496E70757420D0 +:10B650005465737420454E4400000000504320544C +:10B6600065737420424C565F50435F544553545F9A +:10B67000544F55525F4441544153454E44A3BA255B +:10B6800064206E756D3A25642D2D2D2D2D2D000015 +:10B690005043205465737420544F555220444154F4 +:10B6A000415320454E44A3BA2564206E756D3A255A +:10B6B0006420535543433A2564000000F0B5164614 +:10B6C00002468FB00C46074615320D2168460D9292 +:10B6D00008F0A4FDB1482118B148814209D233468F +:10B6E0002246B0A1042004F04DFAB349002048706E +:10B6F0000CE0B2496118814208D233462246B0A11B +:10B70000042004F03FFAAC4902204870002560197B +:10B7100008F036FEA8420CD0F1B220460BF0CAFA6F +:10B72000002819D0F1B220460BF08AFA00283AD04E +:10B7300066E06D1CEDB20A2DE9D30020049005905F +:10B7400004A906900854401CC0B20A28FAD30A2162 +:10B7500004A806F091FD1EE10020049005900690DB +:10B760000790089009900A900B900C9099A29CA3C6 +:10B770009FA104A80DF032F98F484078002802D02C +:10B78000022808D03CE004A8FCF705FD81B204A81B +:10B790000AF0F6F934E004A8FCF7FDFC81B204A835 +:10B7A00006F06AFD2CE000200490059006900790BA +:10B7B000089009900A900B908FA289A38CA104A8ED +:10B7C0000DF00CF97C484078002802D002280BD0FC +:10B7D00011E004A8FCF7DFFC81B204A80AF0D0F95C +:10B7E00064200BF017FA06E004A8FCF7D4FC81B241 +:10B7F00004A806F041FD642010F006F808F00CFFE4 +:10B800003146204604F000FA002806D07DA102202F +:10B8100004F07AF901200FB0F0BD204608F0B0FD29 +:10B82000002806D07CA1022004F06EF901200FB0A0 +:10B83000F0BD601C08F0A4FD6A4601079278090F6C +:10B84000914201D0400606D579A1022004F05CF9AE +:10B8500001200FB0F0BDA01C08F092FDF22806D028 +:10B860007DA1022004F050F901200FB0F0BDE01CD2 +:10B8700008F086FD002806D07DA1022004F044F9DE +:10B8800001200FB0F0BD201D08F07AFDB04206D0B7 +:10B890007DA1022004F038F901200FB0F0BD33463D +:10B8A00022467EA1042004F06DF9601C08F068FDBA +:10B8B0000007000F694688703F490870E01D08F0D6 +:10B8C0005FFD0A2857D201007944097949188F444D +:10B8D000525252525252520452442046083008F0FA +:10B8E0004FFD012804D002281FD003282CD042E0AD +:10B8F000314D0120E8702046093008F041FD2871E3 +:10B9000020460A3008F03CFD687120460B3008F0F4 +:10B9100037FD0190E8786946C87068486849006852 +:10B92000029001984843019025E023490220C87005 +:10B930006946C870614831460068029061480190CC +:10B94000204600F061F916E01B480321C1706A46E9 +:10B95000D17000218171C1710DE05B4D0020286024 +:10B960002046083008F00CFD29680843014628608D +:10B9700056A00DF009F80D2168460D9A08F07CFCE0 +:10B98000F91D002008F0FEFD2221384604F03CF9A4 +:10B99000F91D08F0F7FD00200FB0F0BDFFFFF6FF26 +:10B9A000FE0F0000504320546573742055415254DB +:10B9B000302D2D2D2D2D2D00062A0020FFBFF6FF46 +:10B9C000504320546573742055415254322D2D2D0F +:10B9D0002D2D2D005365617263683A310D0A000008 +:10B9E000424C565F43315F4150505F563232000047 +:10B9F000257325730D0A00004A756D703A310D0AE2 +:10BA000000000000504320436865636B2046616975 +:10BA10006C21200D0A000000504320504B545F4120 +:10BA200044445F464D204661696C21200D0A0000A8 +:10BA3000504320504B545F54595045207468652042 +:10BA400073616D6520616E64204E6F742072657342 +:10BA5000656E6421200D0A00504320504B545F4412 +:10BA6000657654797065204661696C21200D0A0065 +:10BA7000504320504B545F4144445F544F20466133 +:10BA8000696C21200D0A0000504320504B545F4C3C +:10BA9000454E204661696C21200D0A005043205418 +:10BAA000657374204461746120416464723A253086 +:10BAB0003858204C656E3A256400000010000020C4 +:10BAC00060EA0000C0D40100300000204462675FDB +:10BAD0005377697463683A253038580000B58BB0E5 +:10BAE0000020009001900290039004900590069031 +:10BAF000079008900990FC206A465070F220107060 +:10BB000002209070E1204002D070010A1171010CF6 +:10BB10005171000E907104209072FF20F530D072A8 +:10BB2000000A10730B485073010A9173010CD17312 +:10BB3000000E107408485074010A9174010CD174FD +:10BB4000000E10750D2206A96846FDF701F80BB02E +:10BB500000BD000039B50000BDB6000070B584B06E +:10BB6000002405460094019417A10420029404F0D7 +:10BB700009F81C4E6A463178F220491C3170147065 +:10BB800051709070D4700A21117194711720D07186 +:10BB9000032010725572684603F052FE6A46907197 +:10BBA0007078002804D0022807D0F02004B070BDBF +:10BBB0001046117909F0E4FF03E01046117906F010 +:10BBC0005BFB002004B070BD424C565F50435F5495 +:10BBD0004553545F544F55525F41434B53656E6418 +:10BBE00000000000062A002070B505460024281930 +:10BBF00008F0C6FBA04201D0F02070BD641CE4B286 +:10BC00000A2CF4D3002070BDF0B5064685B009308B +:10BC100008F0B6FB044630460A3008F0B1FB484A4B +:10BC2000014614715071204604F030FA01909F21B2 +:10BC3000FF3809020138884202D3F02005B0F0BD78 +:10BC400030460B30152C58D0F12C76D108F098FBEB +:10BC5000212802D0232828D06FE0002570190C304D +:10BC600008F08EFB00240290A80003900019C0B2D7 +:10BC7000009002986100C8408707BF0F0AD03B467A +:10BC800030A10420009A03F07DFF3A460099019804 +:10BC900001F03FFE641CE4B2042C01D20398E5E7F6 +:10BCA0006D1CEDB2052DD9D347E0002570190C307D +:10BCB00008F066FB00240290A80003900019C0B2AF +:10BCC000009002986100C8408707BF0F0AD03B462A +:10BCD00027A10420009A03F055FF3A4600990198E5 +:10BCE00001F0E0FD641CE4B2042C01D20398E5E706 +:10BCF0006D1CEDB2022DD9D31FE008F041FB2228C4 +:10BD00001BD130460C3008F03BFB044630460D306A +:10BD100008F036FB054630460E3008F031FB06468B +:10BD200003462A461CA10420009403F02BFF33464F +:10BD300022462946019802F01AF9002005B0F0BD0C +:10BD4000062A002050432054657374204335494F20 +:10BD50005F436F6E74726F6C5F52656C61794348BC +:10BD60002564207374617475733A256400000000C3 +:10BD700050432054657374204335494F5F436F6EC1 +:10BD800074726F6C5F446F434825642073746174F0 +:10BD900075733A2564000000504320546573742085 +:10BDA00043354D757369635F436F6E74726F6C20BA +:10BDB0006469723A25642069643A25642073746169 +:10BDC0007475733A2564000070B5354DE878032822 +:10BDD0000AD034480078012803D002285DD0032817 +:10BDE00001D100F065F870BD2F4C0C2020180278AE +:10BDF00011464278120211438278C078120411432E +:10BE000000060143102022181378184653781B02AD +:10BE100018439378D2781B041843120610438142CA +:10BE2000E1D008F0FEFA01461020221813781846D7 +:10BE300053781B0218439378D2781B0418431206D8 +:10BE40001043801CFFF7D0FE002802D1E879401C87 +:10BE5000E871102021180A7810464A78120210431F +:10BE60008A78C9781204104309060843012189021F +:10BE700040182074010A6174010CA174010EE17470 +:10BE80000A498842AFD9492040032074010A6174ED +:10BE9000010CA174000EE07470BD07F005FB70BDCD +:10BEA000062A0020CB290020A60A0020FF2F090027 +:10BEB000F0B5FF4E83B0F07E00287DD0344620469A +:10BEC000B17E22300190A01C2746203400902378B8 +:10BED000E2781846637812061B021843A3780325FC +:10BEE0001B0418432337104308294CD20A007A4414 +:10BEF000127992189744030547FD47FCFBFA01208D +:10BF0000FFE0801C08F03CFA01281ED02278E1787E +:10BF100010466278090612021043A27812041043F8 +:10BF2000084308F02DFA034620782146024660783F +:10BF3000A47800020243C878240422430006024386 +:10BF4000DCA1002003F01EFE1DE02278E1781046FF +:10BF50006278090612021043A278120410430843C3 +:10BF600003F070FE002810D02178E0780A4661784E +:10BF7000000609020A43A17809040A430243D6A134 +:10BF8000002003F0FFFDB5760CE22278E178104640 +:10BF90006278090612021043A27812041043084383 +:10BFA0003077010A7177010CB177010EF17708F053 +:10BFB000E7F9A0721C2000E020E231180A78104650 +:10BFC0004A78120210438A78C9781204104309068D +:10BFD0000843401C08F0D4F9E0721C2031180A789C +:10BFE00010464A78120210438A78C9781204104326 +:10BFF00009060843083008F014FA2073000A607339 +:10C000001C2031180A7810464A78120210438A78A8 +:10C01000C97812041043090608430D3008F0ECF902 +:10C020003874010A7974010CB974000EF8741C207C +:10C0300031180A7810464A78120210438A78C97873 +:10C040001204104309060843113008F0D5F9387579 +:10C05000010A7975010CB975000EF8751C203118AC +:10C060000A7810464A78120210438A78C978120476 +:10C070001043090608430B3008F0D3F90199020A6E +:10C0800008734A73020C8A73000EC8731C2031189F +:10C090000A7810464A78120210438A78C978120446 +:10C0A0001043090608430A3008F0A6F9A0740120DD +:10C0B00060729148016891488160102038180278B8 +:10C0C00011464278120211438278C078120411435B +:10C0D0000006014314D0481C12D01C2032181378DB +:10C0E000184653781B021843937803E044E15FE05D +:10C0F00030E008E01B04D27818431206104388474A +:10C100000620B0764EE1FF30FF3002302070010A89 +:10C110006170010CA170000EE070042008F06CF951 +:10C120002378E2781946637812061B021943A37834 +:10C130001B0419431143884209D8002008F05CF918 +:10C140002070010A6170010CA170000EE0700120E6 +:10C15000B07627E1607A012800D014E7A07C00289F +:10C16000FBD0102038180278114642781202114391 +:10C170008278C07812041143000601430FD0481C96 +:10C180000DD01C2032181378184653781B02184320 +:10C190009378D2781B0418431206104388475648F8 +:10C1A000016856488160A07C401EA0740620A8E764 +:10C1B000534D0C2028180278114642781202114380 +:10C1C0008278C078120411430006014310202A1817 +:10C1D0001378184653781B0218439378D2781B04BF +:10C1E000184312061043814260D008F01AF98446C1 +:10C1F0001420381801780B46417809020B438178E6 +:10C20000C07809040B43000603431FD0581C1DD0FF +:10C2100010202818027811464278120211438278C1 +:10C22000C07812041143000601431C2037183A78E5 +:10C2300010467A7812021043BA7812041043FA7842 +:10C24000120610436246891C98476072607A002883 +:10C250000AD1294800682071010A6171010CA1719D +:10C26000000EE0710720B076307803281DD1102031 +:10C27000281801780A46417809020A438178C07873 +:10C2800009040A430006024300981021401803786D +:10C29000194643781B0219438378C0781B0419435D +:10C2A0000006014301200BF017FF2BE04DE00000DA +:10C2B000CB290020424C565F504F4C4C5F64657652 +:10C2C0002054797065204661696C3A2530385820D1 +:10C2D0002C2025640D0A0000424C565F504F4C4CF8 +:10C2E0005F64657620436865636B204661696C3ADC +:10C2F000253038580D0A00001000002050000020A2 +:10C30000A60A0020102029180A7810464A7812023E +:10C3100010438A78C97812041043090608430121A2 +:10C32000890240182874010A6974010CA974010E6D +:10C33000E9743349884208D9492040032874010A26 +:10C340006974010CA974000EE8742E4801682E4827 +:10C3500080680B1A01980C2141180A7810464A7817 +:10C36000120210438A78C978120410430906084360 +:10C37000834217D90520C4E6224801682248806814 +:10C380000B1A01980C2141180A7810464A781202BB +:10C3900010438A78C978120410430906084383427F +:10C3A00000D9F0E53078012828D0009801460A78B5 +:10C3B00010464A78120210438A78C9781204104352 +:10C3C00009060843114909680C1A0098021D1378E0 +:10C3D000184653781B0218439378D2781B041843ED +:10C3E00012061043844209D900980A0A017042706B +:10C3F0000A0C8270090EC1700120307003B0F0BDCC +:10C40000FF2F090010000020500000201400002021 +:10C4100030B5224A04465168106889B0926800908D +:10C4200002920191204607F0ABFF0A2802D00120BA +:10C4300009B030BD224615321546102104A807F078 +:10C44000EDFE601C07F09CFF6946487100A8C978A2 +:10C45000033006F04BFCA01C07F092FF092269464E +:10C4600005F03CFE6946087C032802D90120487487 +:10C4700001E0401C08742A46102104A807F0FCFEC5 +:10C48000E11D002008F07EF82521204603F0BCFBCA +:10C49000E11D08F077F8002009B030BDA4F10100DB +:10C4A00000B58BB00021009101910291039104919C +:10C4B00005910691079108916A46099150700A20EA +:10C4C0001070012090704B20C001D070010A1171D2 +:10C4D000010C5171000E9071032090726420D07293 +:10C4E000002010730B485073010A9173010CD17333 +:10C4F000000E107408485074010A9174010CD17434 +:10C50000000E1075102206A96846FCF741FC0BB01E +:10C5100000BD000011C400001DC50000F0B50546B7 +:10C5200085B016460C460127401C07F07AFFC0B2C2 +:10C530000190A019801E07F074FF0090204607F0BC +:10C540001FFF552804D1601C07F01AFF552806D09C +:10C550009CA1022003F0D8FA384605B0F0BDA01C1B +:10C5600007F00EFFEE2804D096A1022003F0CCFACB +:10C5700016E0E01C07F004FFC01CC3B2B34205D0B4 +:10C58000324695A1022003F0BFFA09E0201D07F012 +:10C59000F7FE072807D002469BA1022003F0B4FA59 +:10C5A000384605B0F0BD601D07F0EAFE01998842EB +:10C5B00005D0024699A1022003F0A6FAF0E7701F09 +:10C5C00081B2E01C07F006FE01460098814277D157 +:10C5D0002A46153210216846049207F01FFE0026F5 +:10C5E000684606704670A01D07F0CAFE012848D1B3 +:10C5F000E01D07F0C5FE071E01D0012F20D06846C0 +:10C6000006728C4807F0BCFEB84209D0894938460A +:10C6100007F0B8FF88A1022003F076FA05F000FACF +:10C620002046083007F0ACFE29460931062857D2CB +:10C6300002007A4412799218974452061524334323 +:10C64000012069460872DCE701206A4690720846BC +:10C6500007F0E7FE6A46D070010A1171010C5171B2 +:10C66000000E907146E002206A469072084607F07C +:10C67000D8FE6A46D070010A1171010C5171000E8A +:10C68000907137E003206A469072084607F0C9FEB1 +:10C690006A46D070010A1171010C5171000E90713F +:10C6A00028E004206A469072084607F0BAFE6A46FF +:10C6B000D070010A1171010C5171000E907119E0D6 +:10C6C00073E005206A469072084607F0AAFE6A46A3 +:10C6D000D070010A1171010C5171000E907109E0C6 +:10C6E0006846007A002803D006206946887201E077 +:10C6F000684686726846417A807A814243D06946AC +:10C70000487207283FD201007944097949188F44BB +:10C7100003131B232B330B004BA1022003F0F4F96E +:10C7200001206946C8712EE049A1022003F0ECF90E +:10C7300002206946C87126E049A1022003F0E4F90D +:10C7400003206946C8711EE049A1022003F0DCF90C +:10C7500004206946C87116E049A1022003F0D4F90B +:10C7600005206946C8710EE049A1022003F0CCF90A +:10C7700006206946C87106E049A1022003F0C4F909 +:10C7800007206946C87110216846049A07F074FDB5 +:10C79000E91D002007F0F6FE2521284603F034FAB3 +:10C7A000E91D07F0EFFE0027FAE6B61EB1B22046FB +:10C7B00007F010FD03463DA10220009A03F0A4F902 +:10C7C000EEE60000D0A3D1E9CEC4BCFECDB7B2BB2B +:10C7D000B6D421210D0A0000D0A3D1E9CAFDBEDDE7 +:10C7E000B3A4B6C8B2BBB6D420CAB5BCCAB3A4B64B +:10C7F000C83A25642CCAFDBEDDB3A4B6C83A256488 +:10C8000021210D0A00000000D0A3D1E9C0E0D0CD65 +:10C81000B2BBB6D43A256421210D0A00D0A3D1E9D8 +:10C82000C8A1B5E7B5D8D6B7B2BBB6D43A2564210E +:10C83000210D0A000AB000004465766963655F4314 +:10C84000617264210D0A0000B0CEBFA80D0A00007D +:10C85000B8DFC6B5BFA8B2E5C8EB0D0A00000000FE +:10C86000BFCDC8CBBFA8B2E5C8EB0D0A00000000E1 +:10C87000B7FECEF1D4B1BFA8B2E5C8EB0D0A0000F7 +:10C88000BEADC0EDBFA8B2E5C8EB0D0A00000000C8 +:10C89000B9A4B3CCBFA8B2E5C8EB0D0A00000000F4 +:10C8A000D7DCB9DCB2E5C8EB0D0A00005352414DAC +:10C8B0005F4352433136204661696C202C637263BA +:10C8C0005F76616C3A25303258205352414D5F43B8 +:10C8D000524331363A2530325821210D0A000000EA +:10C8E00000B591B000210091019102910391049152 +:10C8F000059106910791089109910A910B910C916C +:10C900000D910E910F9110916946487007200870A3 +:10C91000012088704B20C001C870020A0A71020C05 +:10C920004A71000E8871032088726420C87200204A +:10C9300008730F484873020A8A73020CCA73000E08 +:10C9400008740C484874020A8A74020CCA74000EF7 +:10C950000875FF2008A9C875087648768876C876D5 +:10C9600008772B2206A96846FCF712FA11B000BD21 +:10C970008DCF000079C90000F0B506468BB0154692 +:10C980000C460127401C07F0FBFC01906019801E3B +:10C9900007F047FD0090204607F0F2FC552804D12F +:10C9A000601C07F0EDFC552806D03DA1022003F0E5 +:10C9B000ABF838460BB0F0BDA01C07F0E1FCEE2848 +:10C9C00004D037A1022003F09FF816E0E01C07F026 +:10C9D000D7FCC01CC3B2AB4205D02A4635A1022009 +:10C9E00003F092F809E0201D07F0CAFC032807D0E5 +:10C9F00002463CA1022003F087F838460BB0F0BD98 +:10CA0000601D07F0BDFC0199884205D002463AA19D +:10CA1000022003F079F8F0E7681F81B2E01C07F00C +:10CA2000D9FB0146009881422DD1324615320027AC +:10CA300015462B21684607F0F1FB002008A9487134 +:10CA40008871E01C07F09CFC072806D0152809D146 +:10CA50006946E01C00F078F804E0FF206946C877DA +:10CA6000032088772A462B21684607F005FCF11D34 +:10CA7000002007F087FD4021304603F0C5F8F11D86 +:10CA800007F080FDB9E7AD1EA9B2204607F0A2FB72 +:10CA9000034620A10220009A03F036F8ADE700001B +:10CAA000D0A3D1E9CEC4BCFECDB7B2BBB6D4212150 +:10CAB0000D0A0000D0A3D1E9CAFDBEDDB3A4B6C8FB +:10CAC000B2BBB6D420CAB5BCCAB3A4B6C83A2564B2 +:10CAD0002CCAFDBEDDB3A4B6C83A256421210D0AD7 +:10CAE00000000000D0A3D1E9C0E0D0CDB2BBB6D4E5 +:10CAF0003A256421210D0A00D0A3D1E9CEC2BFD8C6 +:10CB0000C6F7B5D8D6B7B2BBB6D43A256421210D45 +:10CB10000A0000005352414D5F43524331362046D4 +:10CB200061696C202C6372635F76616C3A253032E8 +:10CB300058205352414D5F43524331363A253032EB +:10CB40005821210D0A000000F0B5064683B00C46BE +:10CB5000001D07F015FC0127002805D0012807D18A +:10CB60002D0A2D023D4303E02D0A02202D0205432C +:10CB7000B01D07F005FC012804D002280BD00328C3 +:10CB800018D110E0FF20000285433802FF2109027E +:10CB9000084005430EE0FF210902022000028D43F8 +:10CBA0000840054306E0FF210902032000028D43EF +:10CBB00008400543F01D07F0E3FBFF2109048D4306 +:10CBC0000104FF2212040190114030460D430A3047 +:10CBD00007F0D6FB002816D0012804D0022807D081 +:10CBE000032815D10AE02D0203202D0A000608E0D3 +:10CBF0002D0202202D0A0006054309E02D022D0A10 +:10CC00003806054304E02D0200202D0A00060543E6 +:10CC100030460D3007F0B4FB2072C0062146800F6D +:10CC20000AD00846FF21090288433902FF22120276 +:10CC300011400843009008E0FF2212020021204624 +:10CC4000090290431140084300903046113007F02C +:10CC500097FB00990090090A0902227801432646B1 +:10CC6000E8B220369446904211D12A04130EE2789D +:10CC700093420CD1A2792B0E934208D10A04130ED1 +:10CC80006278934203D12279019B93426CD0604534 +:10CC900006D06246002A03D0627BFF2A00D12773A8 +:10CCA00020702804000EE070280EA07101982071F9 +:10CCB0000804000E607077724BA1022002F062FF40 +:10CCC0002078012805D0022807D14BA102F05AFF95 +:10CCD00003E04BA1022002F055FFE078012804D0C8 +:10CCE000022807D003280ED109E047A1022002F054 +:10CCF00049FF08E046A1022002F044FF03E046A1FC +:10CD0000022002F03FFFA079002806D0012809D0B8 +:10CD100002280CD0032813D10EE041A1022002F01A +:10CD200031FF0DE040A1022002F02CFF08E040A1FD +:10CD3000022002F027FF03E03FA1022002F022FFC1 +:10CD40006078002806D0012808D13DA1022002F019 +:10CD500019FF03E03CA1022002F014FF22793CA15C +:10CD60000220009B02F00EFF61790098884204D0F7 +:10CD70006071B07A012800D177722078617B884297 +:10CD800005D13AA1022002F0BFFEFF206073207897 +:10CD9000E178C00349034018A179394DC902401810 +:10CDA0006178C907490D40182179C906890D4018D5 +:10CDB0006179C906C90E40182074000A60742846BB +:10CDC00007F02FFB0146607C227C00021043814269 +:10CDD00008D0294607F015FC2AA1022002F094FE93 +:10CDE00004F01EFE03B0F0BDCEC2BFD8C6F7D7B464 +:10CDF000CCACA3BA00000000B9D8BBFA20000000F8 +:10CE0000BFAABBFA20000000D6C6C0E42000000084 +:10CE1000D6C6C8C820000000CBCDB7E72000000070 +:10CE2000D7D4B6AF20000000B8DFCBD92000000077 +:10CE3000D6D0CBD920000000B5CDCBD92000000042 +:10CE4000B7A7BFAA20000000B7A7B9D820000000EC +:10CE5000C9E8D6C3CEC2B6C83A256420CAD2C4DA5D +:10CE6000CEC2B6C83A25640D0A000000C7E5B3FE7D +:10CE7000BFD8D6C6D7B4CCACB1EAD6BE0D0A000036 +:10CE80000BB000004465766963655F54656D702082 +:10CE90000D0A0000F0B516463B4A0D46044651689F +:10CEA000106885B09268009002920191A01C07F072 +:10CEB00067FA0390601C07F063FA694648712C46D4 +:10CEC000002703220123FF212034002E07D0022552 +:10CED000012E1DD0022E45D0032E48D12CE06846ED +:10CEE0008371E87F012802D0022808D102E0684659 +:10CEF000C37104E06846C77121706170A170A87F9A +:10CF0000002802D0401EA87731E0E977AA772EE00A +:10CF1000684685712078012804D0022805D00328AE +:10CF200008D105E06846C37104E06846C57101E0B8 +:10CF30006846C27121701AE004206E46B071A07874 +:10CF400000280CD0012804D0022804D0032807D1DF +:10CF500003E0F27104E0F57102E0F37100E0F771B3 +:10CF6000A17004E06B469A716078D871617000A876 +:10CF70000721033005F0BAFE0A226946039805F03E +:10CF8000ADF805B0F0BD00008CF10100F0B502462F +:10CF90008FB005461532042617462B2103A807F04B +:10CFA0003DF9002403A80119C97FFF2901D02646B5 +:10CFB00003E0641CE4B2042CF5D3052E27D2300024 +:10CFC00078440079001887440202020208003246C1 +:10CFD00003A92846FFF75EFF19E01C4A1169D068D3 +:10CFE0005269009002920191A81C07F0C9F9044609 +:10CFF000681C07F0C5F96946487100A8062103308E +:10D0000005F074FE09226946204605F067F808A875 +:10D01000407C032803D9012008A9887402E008A9EC +:10D02000401C48743A462B2103A807F025F9E91D56 +:10D03000002007F0A7FA4021284602F0E5FDE91D8F +:10D0400007F0A0FA00200FB0F0BD00008CF1010045 +:10D05000F0B50446A7B015460E460127084607F06E +:10D060008FF90090601C07F08BF90146009881420F +:10D0700001D1052D08D202462B4623A1022002F041 +:10D0800081FD384627B0F0BD681EC1B2304606F0BB +:10D090005CFF00907019401E07F072F9014600987D +:10D0A000814228D12046083007F0BBF922461532CC +:10D0B0001546972101A807F0B1F8701C07F060F938 +:10D0C000032801D0062805D1002701AA31462046B1 +:10D0D00000F0A2F82A46972101A807F0CDF8E11D3B +:10D0E000002007F04FFAAC21204602F08DFDE11D33 +:10D0F00007F048FA04E0024608A1022002F042FDCF +:10D10000384627B0F0BD00004465764164643A2596 +:10D11000642C6C656E3A25640D0A0000534F525F13 +:10D120005352414D5F435243204661696C3A25306A +:10D1300032580D0A00000000F0B5002491B00D46F1 +:10D140000646002847D0324615322B2106A8049205 +:10D1500007F064F8A805830F2805EAB2A904800F38 +:10D160008F0F0592AD0B039000901CA101970295C3 +:10D17000022002F0C9FC6846007E854202D008A861 +:10D180000124C5756846C07E874202D008A807768C +:10D19000641C6946097F0598884202D008A9487630 +:10D1A000641C6946897F0398884202D008A9887662 +:10D1B000641C002C0FD02B2106A8049A07F05CF801 +:10D1C000F11D002007F0DEF94021304602F01CFD81 +:10D1D000F11D07F0D7F911B0F0BD000073657420A0 +:10D1E00054454D502053746174653A20CEC2B6C880 +:10D1F0003A25642CB7A7C3C53A25642CB7E7CBD929 +:10D200003A25642CC4A3CABD3A2564BFAAB9D8BBC9 +:10D21000FA3A2564200D0A00F7B584B04149174653 +:10D220000025401C019107F0ABF80090012808D0C0 +:10D23000022802D0032804D101E03B4800E03B482B +:10D2400001903E4600248036F47434750598401CE5 +:10D2500007F096F80290727B35A1022002F092FC52 +:10D2600002980121032805D0062801D1F4733174F6 +:10D2700007B0F0BD707B00240028F9D90598A108FB +:10D280000818801C07F07CF8A107490F03228A4088 +:10D290000240CA409007800F012804D002280DD018 +:10D2A000032820D115E0234627A10220009A02F08E +:10D2B00069FC01206D1C3855EDB214E0234629A10C +:10D2C0000220009A02F05EFC02206D1C3855EDB27F +:10D2D00009E023462BA10220009A02F053FC032010 +:10D2E0006D1C3855EDB2641C707BE4B2A042C5D809 +:10D2F000002DBDD00598801C07F093F804460198D6 +:10D3000007F08FF8A042B3D0234625A10220009A4F +:10D3100002F038FC2046019907F073F904F080FB15 +:10D3200007B0F0BD0FB0000011B0000013B0000056 +:10D3300073776974636820496E707574204E756DDB +:10D340003A253032580D0A00737769746368256492 +:10D350002044657625303258204B657950726573CC +:10D36000730D0A00737769746368256420446576D9 +:10D3700025303258204B657952656C656173650DB7 +:10D380000A00000073776974636825642044657639 +:10D3900025303258204B6579486F6C640D0A0000C7 +:10D3A0004465766963655F537769746368256420B3 +:10D3B00073746172745F76616C3A253034580D0A6B +:10D3C00000000000F0B50246A7B004461532002563 +:10D3D000972101A8009206F021FF20A8827C00235B +:10D3E0000126002A14D901AFF8186821095C4030E1 +:10D3F000007A814208D020A8C674394638464831A0 +:10D400006830FAF78DFE03E05B1CDBB29A42EBD882 +:10D4100020A8C07C01281FD120A8007D20A90028B9 +:10D4200002D0401E087502E00E750020C874214627 +:10D4300001A800F015F80125972101A8009A06F02F +:10D440001BFFE11D002007F09DF8AC21204602F0F3 +:10D45000DBFBE11D07F096F8284627B0F0BD000081 +:10D46000F0B5054683B00C46881C06F089FF2A49B2 +:10D4700002900868496800900191601C06F080FFE6 +:10D4800069462C4608708034A17B002000291DD9F4 +:10D490006A4629184031097A002909D0C10889183B +:10D4A00047078B787F0F0126BE4033438B7008E01F +:10D4B000C108891847078E787F0F0123BB409E4320 +:10D4C0008E70401CA17BC0B28142E2D8C8B2102845 +:10D4D00001D8052502E0C01DC508ED1C681EC1B2BB +:10D4E000684606F023FD694649192039C8770BA123 +:10D4F000022002F047FB2A466946029804F0EEFD3E +:10D50000E07C012803D90120207503B0F0BD401C48 +:10D51000E07403B0F0BD000084F10100737769741A +:10D5200063682073656E6420646174612D2D2D0D18 +:10D530000A000000F8B5C14CBF4E2379E0791946C6 +:10D54000637900061B021943A37972781B041943FF +:10D550000143082023181F78B94D38465F783F02F1 +:10D5600038439F78DB783F0438431B061843002A72 +:10D5700004D00027062A7DD07770F8BD814246D0BE +:10D5800006F04FFF0246AFA1002002F0FBFA082090 +:10D59000201801780A46417809020A438178C07848 +:10D5A00009040A430006024310202818037819468C +:10D5B00043781B0219438378C0781B041943000683 +:10D5C000014303200AF088FD082021180A7810463C +:10D5D0004A78120210438A78C97812041043090667 +:10D5E00008430121890240182072010A6172010C6E +:10D5F000A172010EE1729B49884208D94B20400379 +:10D600002072010A6172010CA172000EE07296484C +:10D610002378027811464278120211438278C0784A +:10D62000120411430006014318466378E2781B0296 +:10D630001843A37812061B041843104381425AD0A2 +:10D6400006F0EFFE2278074610466278E178120273 +:10D650001043A2780906120410430843801C06F008 +:10D660008FFE2873010A6973010CA973000EE87319 +:10D67000FF2100E073E0E1318F4200D90F467B4883 +:10D6800000682872010A6972010CA972000EE87222 +:10D690002278E07811466278000612021143A278DF +:10D6A0001204114301433A460320C91C04F0FCFC58 +:10D6B000062070702278E17810466278090612021E +:10D6C0001043A27812041043084301218902401834 +:10D6D0002070010A6170010CA170010EE1706449B3 +:10D6E000884208D9972000032070010A6170010C5C +:10D6F000A170000EE0702A78E97810466A78090671 +:10D7000012021043AA78594C1204104308432168AE +:10D710002A790B1A10466A79E97912021043AA791C +:10D720000906120410430843834200D825E751A19B +:10D73000002002F027FA20682870010A6970010CA5 +:10D74000A970000EE87001203070E12040022874BA +:10D75000010A6974010CA974000EE874F8BD8142D5 +:10D7600047D006F05EFE024636A1002002F00AFA1B +:10D770000820201801780A46417809020A43817876 +:10D78000C07809040A4300060243102028180378D1 +:10D79000194643781B0219438378C0781B04194348 +:10D7A0000006014303200AF097FC08207770211837 +:10D7B0000A7810464A78120210438A78C97812040F +:10D7C0001043090608430121890240182072010A0A +:10D7D0006172010CA172010EE1722249884208D9DE +:10D7E0004B2040032072010A6172010CA172000EED +:10D7F000E072082029180A7810464A78120210436D +:10D800008A78C97812041043090608431749096841 +:10D810000B1A0C2029180A7810464A781202104375 +:10D820008A78C9781204104309060843834295D9BF +:10D830000AF000FC7770F8BD57290020E4120020A0 +:10D8400059290020554152543220646174615F6C43 +:10D85000656E203A2564202C52585F4275666665D5 +:10D86000723A0000FF6F0900E0120020140000204F +:10D87000FF7F09004255533438355F496E666F208B +:10D88000506F72745F4E6F726D616C5F4D6F646547 +:10D89000206D6F64655F6F757474696D65200D0A26 +:10D8A00000000000002833D0F0B516460246B5B09F +:10D8B0000D46044615321746D221684606F0AEFCE6 +:10D8C000052D11D26846012241191046A840012EAB +:10D8D00004D0022E03D0032E18D005E002224A7194 +:10D8E00030AA117A014311723A46D221684606F0F5 +:10D8F000C3FCE11D002006F045FEE721204602F0B2 +:10D9000083F9E11D06F03EFE35B0F0BD0322E6E7E7 +:10D91000704700285DD0F0B517460246B5B00E46F8 +:10D92000044615321546D221684606F077FC142EBF +:10D930003DD26846012280191146B1402030012FA6 +:10D9400004D0022F03D0032F19D030E002224275F9 +:10D9500032A80230027813464278120213438278CA +:10D96000C07812041343000603430B4330A98B72A3 +:10D97000180AC872180C0873180E487317E00322AF +:10D98000427532AA02321378184653781B021843A4 +:10D990009378D2781B04184312061043084330AA28 +:10D9A0009072010AD172010C1173000E50732A4655 +:10D9B000D221684606F060FCE11D002006F0E2FD81 +:10D9C000E721204602F020F9E11D06F0DBFD35B02D +:10D9D000F0BD704700284ED0F0B517460246B7B0EC +:10D9E0000C46054615321E46D22101A8009206F0CB +:10D9F00015FC142C29D201AA1019610001238A18E0 +:10DA00001946A14020306132012F04D0022F2ED0C0 +:10DA1000032F2ED019E043701677300A507734AABE +:10DA200002321378184653781B0218439378D27841 +:10DA30001B04184312061043084330AA9074010ACD +:10DA4000D174010C1175000E5075D22101A8009AF5 +:10DA500006F012FCE91D002006F094FDE72128469F +:10DA600002F0D2F8E91D06F08DFD37B0F0BD0223BB +:10DA7000D1E70323CFE77047F3B587B000200090CC +:10DA80000A468E4601900290039004906D46C03283 +:10DA90000590D379012181400B421CD071460C18AE +:10DAA000A034A17986088F07F31DBF0F8107490FA6 +:10DAB0008C468F40E95C0F43EF54A1799B1C89068B +:10DAC0008F0F61468F40E95C0F430146EF540B31E5 +:10DAD000C9B2237F6B54401CC0B20728D9D30021A0 +:10DAE0002970D07800282AD0537968781B071B0F3B +:10DAF0001843402318432B466870F120987001208A +:10DB0000D870172018715971252098710321D97484 +:10DB1000E82119750B215975B82199759071172154 +:10DB2000184601F08DFE6B4658710798801C06F070 +:10DB300027FC1722694604F0D1FA09B0F0BD5079EC +:10DB4000401CC0B250710F2800D9517153796878C8 +:10DB50001B071B0F18432B466870CEE7F3B5002058 +:10DB600083B00B4600900190C03302901C7A0122D2 +:10DB70008240144222D00D186E798408B607B60F81 +:10DB800087077F0FBE406F46E41D3F5D3E436F46F3 +:10DB90003E556C79012C04D0022C05D0032C0DD1FC +:10DBA00005E00C7B944308E00C7B144305E00C7B00 +:10DBB000144201D0944300E014430C73401CC0B2E3 +:10DBC0000528D3D3002168460170D878002823D0D7 +:10DBD0006A4650785A791207120F104340221043B8 +:10DBE0006A465070F12090700120D07009201071A9 +:10DBF00051712320907198710921104601F020FE87 +:10DC00006A4650710398801C06F0BAFB09226946E7 +:10DC100004F064FA05B0F0BD5879401CC0B25871E8 +:10DC20000F2800D959716A4650785A791207120F95 +:10DC300010436A465070D5E7F3B589B000200090D4 +:10DC4000019002900A4603900490059006906C465D +:10DC5000C0320790557A012383401D421BD00D5CD2 +:10DC60008308AD07AD0F8607760FB540DB1DE65C78 +:10DC70003543E55445002B466D182E7EEF7D360268 +:10DC800009333E43DBB2360AE6542E7EEF7D350281 +:10DC90003D43E3185D70401CC0B20528DAD3002173 +:10DCA0002170D078002822D0537960781B071B0F91 +:10DCB00018434023184323466070F12098700120D8 +:10DCC000D8701920187159712420987190711921F8 +:10DCD000184601F0B5FD6B4658710998801C06F096 +:10DCE0004FFB1922694604F0F9F90BB0F0BD5079E9 +:10DCF000401CC0B250710F2800D95171537960781F +:10DD00001B071B0F184323466070D6E710B582B07F +:10DD1000002204460092684601920270C031C87821 +:10DD2000002822D06B4658784B791B071B0F1843ED +:10DD3000402318436B465870F12098700120D8702A +:10DD4000072018715A712020987188710721184690 +:10DD500001F076FD6B465871A01C06F011FB0722FE +:10DD6000694604F0BBF902B010BD4879401CC0B24E +:10DD700048710F2800D94A716B4658784B791B07B8 +:10DD80001B0F18436B465870D6E70000F3B5002010 +:10DD900085B00E46C2360D460090019002900446B2 +:10DDA00001270390082031180A7810464A78120299 +:10DDB00010438A78C978120410430906084339468B +:10DDC000A140084212D029192031497DA0088907B5 +:10DDD000890FA207520F91406A46C01D135C194378 +:10DDE0001154224620A1022001F08EFE641CE4B2F0 +:10DDF000142CD7D3002168460170C035E87800287C +:10DE000022D06A4650786A791207120F10434022D6 +:10DE100010436A465070F1209070D7700C2010713A +:10DE2000517121209071A8710C21104601F008FD5C +:10DE30006A4650710598801C06F0A2FA0C226946C9 +:10DE400004F04CF907B0F0BD6879401CC0B26871AD +:10DE50000F2800D969716A4650786A791207120F43 +:10DE600010436A465070D6E752656C61795F436F24 +:10DE70006E74726F6C20434825640D0A0000000028 +:10DE8000F3B58FB00C463C216846FAF762F90020E2 +:10DE90002746C2376A460C217B181D7829465D78D3 +:10DEA0002D0229439D78DB782D0429431B06194355 +:10DEB0000123834019421ED0231820335B78810848 +:10DEC0009B079B0F85076D0FAB40C91D555C2B430E +:10DED0005354430019461B1961335D7F1E7F2D0289 +:10DEE0000C313543C9B22D0A55545D7F1E7F2B027C +:10DEF000334351184B70401CC0B21428CBD30021BF +:10DF00001170C034E078002822D05078627912076E +:10DF1000120F1043402210436A465070F120907057 +:10DF20000120D07034201071517122209071A071A5 +:10DF30003421104601F084FC6A4650710F98801C11 +:10DF400006F01EFA3422694604F0C8F811B0F0BD9C +:10DF50006079401CC0B260710F2800D9617150789F +:10DF600062791207120F10436A465070D6E70028F4 +:10DF70003CD0F0B51646024693B00F460546153222 +:10DF80001C4646216846129206F048F908A8867198 +:10DF900068460774C474210A10AC017502342078F5 +:10DFA0000346607800020343A07800040343E0784E +:10DFB000000603430420034310A88370190AC170AC +:10DFC000190C0171190E417146216846129A06F02A +:10DFD00053F9E91D002006F0D5FA5B21284601F02F +:10DFE00013FEE91D06F0CEFA13B0F0BD704710B570 +:10DFF00084B00022044600920192684602920270A8 +:10E00000087800281FD089786B4658780907090FCF +:10E01000084340210843587001209870D8700820A8 +:10E0200018719A712020D8710821184601F008FC57 +:10E0300069468871A01C06F0A3F90822694604F01D +:10E040004DF804B010BD8878401CC3B28B700F2B04 +:10E0500000D98A7089786B4658780907090F0843F8 +:10E060005870D9E710B584B000220446009201929E +:10E07000684602920270087800281FD089786B46A3 +:10E0800058780907090F08434021084358700120B8 +:10E090009870D870082018719A712420D8710821BE +:10E0A000184601F0CDFB69468871A01C06F068F99E +:10E0B0000822694604F012F804B010BD8878401CAC +:10E0C000C3B28B700F2B00D98A7089786B46587851 +:10E0D0000907090F08435870D9E710B584B000222A +:10E0E0000446009201926846029202700878002865 +:10E0F0001FD089786B4658780907090F08434021DB +:10E100000843587001209870D870082018719A71CF +:10E110002B20D8710821184601F092FB69468871BE +:10E12000A01C06F02DF90822694603F0D7FF04B0C1 +:10E1300010BD8878401CC3B28B700F2B00D98A7039 +:10E1400089786B4658780907090F08435870D9E752 +:10E1500010B584B0002204460092019268460292F3 +:10E160000270087800281FD089786B465878090714 +:10E17000090F084340210843587001209870D87057 +:10E18000082018719A712A20D8710821184601F0C8 +:10E1900057FB69468871A01C06F0F2F80822694610 +:10E1A00003F09CFF04B010BD8878401CC3B28B7094 +:10E1B0000F2B00D98A7089786B4658780907090FA8 +:10E1C00008435870D9E710B584B000220446009285 +:10E1D0000192684602920270087800281FD0897860 +:10E1E0006B4658780907090F0843402108435870C7 +:10E1F00001209870D870082018719A712C20D8715D +:10E200000821184601F01CFB69468871A01C06F025 +:10E21000B7F80822694603F061FF04B010BD8878A2 +:10E22000401CC3B28B700F2B00D98A7089786B4663 +:10E2300058780907090F08435870D9E710B584B01A +:10E240000022044600920192684602920270087809 +:10E2500000281FD089786B4658780907090F0843B2 +:10E2600040210843587001209870D8700820187118 +:10E270009A712620D8710821184601F0E1FA694602 +:10E280008871A01C06F07CF80822694603F026FF7E +:10E2900004B010BD8878401CC3B28B700F2B00D91E +:10E2A0008A7089786B4658780907090F08435870B7 +:10E2B000D9E730B585B0002204460092019202925F +:10E2C0006846039202700878002828D06B46587878 +:10E2D0008B781B071B0F1843402318436B4658705D +:10E2E00001209870D8700D2018719A712125DD7168 +:10E2F0002031097B19721E2159729A72DA72014615 +:10E300001A73184601F09CFA6B469871A01C06F02F +:10E3100037F80B22694603F0E1FE05B030BD88787E +:10E32000401CC3B28B700F2B00D98A706B46587893 +:10E330008B781B071B0F18436B465870D0E710B53E +:10E3400084B0002204460092019268460292027054 +:10E350000878002825D06B4658788B781B071B0F50 +:10E360001843402318436B46587001209870D870AA +:10E370000A2018719A712920D871087918722031F1 +:10E38000C87958720A21184601F05AFA6B469871FA +:10E39000A01C05F0F5FF0A22694603F09FFE04B0B9 +:10E3A00010BD8878401CC3B28B700F2B00D98A70C7 +:10E3B0006B4658788B781B071B0F18436B465870B9 +:10E3C000D3E710B586B00022044600920192029273 +:10E3D00003926846049202700878002844D06B4685 +:10E3E00058788B781B071B0F1843402318436B4644 +:10E3F000587001209870D870122018719A712322D9 +:10E40000DA710A791A724A7D5A724A7DD20701D0AE +:10E410000A7E9A724A7D920701D50A7FDA724A7D96 +:10E42000520702D52922525C1A734A7D120703D57E +:10E430008A7D5A73CA7D9A734A7DD20605D54A7E73 +:10E44000DA738A7E1A74C97E59740146184601F03F +:10E45000F7F969468871A01C05F092FF69460A79B0 +:10E4600003F03CFE06B010BD8878401CC3B28B7030 +:10E470000F2B00D98A706B4658788B781B071B0FBF +:10E4800018436B465870B4E7F3B585B0002300938A +:10E49000019302930393684604930370087800285D +:10E4A00025D06A4650788A781207120F104340220E +:10E4B00010436A46507001209070D0701320107184 +:10E4C000844693712220D071087910720E7C084620 +:10E4D00002240A252030CA1C082E57D237007F4458 +:10E4E0003F79FF19BF44132538536D809DBA887852 +:10E4F000401CC0B288700F2800D98B706A465078D3 +:10E500008A781207120F10436A465070D3E7807959 +:10E510006C466072A372507C127C00021043E07261 +:10E52000087E20736373A373E37323746374A3740B +:10E53000B0E080796C4660720120A072507C127C41 +:10E5400000021043E072087E20736373A373E373C9 +:10E5500023746374A3749DE081796E467172B47202 +:10E56000517C147C09022143F17235737373B373C8 +:10E57000517F147F09022143F173517F127F0902F9 +:10E580001143090A3174407B7074B37482E0497995 +:10E59000002912D007216C4661720321A172517CBF +:10E5A000127C09021143E172007B20736373A37331 +:10E5B000E37323746374A3746CE008216C46617286 +:10E5C000EBE780796C4660720420A072507C127C6C +:10E5D00000021043E072087E20736373A373E37339 +:10E5E00023746374A37455E081796E4671720521BA +:10E5F000B172517C167C090231436E46F17235735B +:10E600007473B373517F147F09022143F173517FF7 +:10E61000127F09021143090A3174407B7074B3748C +:10E6200038E081796E4671720621B172517C167C98 +:10E63000090231436E46F17235737473B373517FBF +:10E64000147F09022143F173517F127F09021143A4 +:10E65000090A3174407B7074B3741BE081796E4693 +:10E6600071720721B172517C167C090231436E46EA +:10E67000F17235737473B373517F147F09022143B0 +:10E68000F173517F127F09021143090A3174407BF3 +:10E690007074B3746146684601F0D2F869468871B7 +:10E6A0000598801C05F06CFE69460A7903F016FD9A +:10E6B00007B0F0BDF3B50D46223514200C462818DE +:10E6C0000178FF230A464178FFB009020A438178A6 +:10E6D000C07809040A4300066849024350185B01E8 +:10E6E00088B0984206D366A1022001F00DFA7FB0EF +:10E6F0000AB0F0BD1820281806783246467836024F +:10E7000032438678C07836043243000602435018FC +:10E71000984206D360A1022001F0F6F97FB00AB05A +:10E72000F0BD27462037787C397C06020E43687C92 +:10E73000297C03020B439E4207D332465CA1022090 +:10E7400001F0E2F97FB00AB0F0BD8521890001A88F +:10E75000F9F7FFFC787D397D000208437202801AC8 +:10E7600086B201204002864201D9064601E0002E11 +:10E77000E8D0142029180B7818464B781B02184350 +:10E780008B78C9781B0418430906084315185348A9 +:10E79000854201D352482D1833462A4651A1022002 +:10E7A00001F0B2F90021684601712078002836D0C6 +:10E7B0006A465079A2781207120F10434022104384 +:10E7C0006A46507101209071D07130460C30107241 +:10E7D0000446000A507291722E20D072787C397CE7 +:10E7E000000208431073787C397C00020843000A59 +:10E7F00050733A48AA1904A9009182421FD3401BC2 +:10E8000087B208462A46394605F008FD38460C30DE +:10E81000F11B80B201AA101889B23D4A12E0A0781B +:10E82000401CC0B2A0700F2800D9A1706A46507970 +:10E83000A2781207120F10436A465071C2E72A46A7 +:10E840003146009805F0EAFC3146009804F072FA6F +:10E8500069468873000AC873A4B2214601A800F073 +:10E86000EFFF694688728798801C05F089FD224673 +:10E8700001A903F033FC7FB00AB0F0BDE0FFF6FF62 +:10E8800066696C655F73746172745F616464722041 +:10E890003A253038580D0A0066696C655F656E640C +:10E8A0005F61646472203A253038580D0A00000018 +:10E8B00066696C655F626C6F636B203A253038580F +:10E8C000202C2066696C655F626C6F636B5F6E7590 +:10E8D0006D3A253038580D0A00000000FF1F09006E +:10E8E00021E0FFFF4255535F43354D555349435F88 +:10E8F00057726974655F46494C45446174612025CF +:10E900003038582C6C656E3A25640D0A0000000002 +:10E910002000090030B589B0002204460392049219 +:10E9200005920692079268460892027308780028BA +:10E9300040D06B46587B8B781B071B0F1843402336 +:10E9400018436B46587301209873D8731A749A74DD +:10E950002D22DA7422314A7C0B7C12021A436B4658 +:10E960001A754A7C0B7C11021943090A6B465975CA +:10E970009875184843788278017901920091029342 +:10E98000437905A814A2102103300AF00DF80B30CA +:10E99000C5B26B461D74294603A800F051FF6B46B3 +:10E9A0009874A01C05F0ECFC2A4603A903F096FB22 +:10E9B00009B030BD8878401CC0B288700F2800D9DB +:10E9C0008A706B46587B8B781B071B0F18436B466E +:10E9D0005873B8E7280000202530325825303258C7 +:10E9E000253032582530325800000000F0B587B08D +:10E9F000002417460E46054601940294039404949D +:10EA00000C4B1222A22101A8059407F00BFE6846C8 +:10EA1000C574122101A804F069F912200690064875 +:10EA20000097007B334606AA01A900F00DFE07B04F +:10EA3000F0BD0000FFFF0000AA00002030B5174B1A +:10EA40000022154C5B790DE03C2555432D192D6BAB +:10EA5000854205D1002803D0002914D00A7012E0A5 +:10EA6000521CD2B29A42EFD3002210E03C2555430B +:10EA70002D196D6B854208D1002806D0002902D0DF +:10EA800080200243EAE7012030BD521CD2B29A42F4 +:10EA9000ECD3002030BD0000F034002068010020DD +:10EAA00070B500240A4D0B4E0DE03C206043401928 +:10EAB000016A052905D18169002902D0042100F0ED +:10EAC0004BFE641CE4B270798442EED370BD00004A +:10EAD000F034002068010020F0B51A480222816B52 +:10EAE0008B0001468039CA50174FFA89836B9B000F +:10EAF0005B18DA63826B154B856B1C68144B6243A1 +:10EB0000D218AD006D18AA67C26B521CC263826B2B +:10EB1000521C8263856B0F4A1278954201D30025FF +:10EB20008563866B0125B6008D51816B6143C918E1 +:10EB3000B9810564C16B5300D318994200D9C263EF +:10EB4000F0BD00003455002000900040F04D002042 +:10EB5000902B00206A010020034902680A60426885 +:10EB60004A60806888607047044E00200649026849 +:10EB70000A6042684A6082688A60C268CA60006946 +:10EB80000861002070470000F04D0020F0B583B010 +:10EB90000C46002814D0024632A1012000F0B4FF38 +:10EBA000344841784908490041703249C3224878C5 +:10EBB00010400C30487000F0F3F8002003B0F0BDB6 +:10EBC0002DA1012000F0A0FF2F4D2278AA736378B9 +:10EBD000EB73A6782E74E7786F742179A974617944 +:10EBE000E974A1792975E1796975A81C217A017503 +:10EBF000617A4175A17A8175E17AC175234D24A1AD +:10EC000001200197009600F07FFFE979A879019132 +:10EC100000906B792A7924A1012000F075FFE97A30 +:10EC2000A87A019100906B7A2A7A19A1012000F04C +:10EC30006BFFE17BA07B01910090637B227B21A194 +:10EC4000012000F061FFE17CA07C01910090637CD9 +:10EC5000227C21A1012000F057FF064801224178C3 +:10EC60001143A1E744484350204661696C20253098 +:10EC700032780A00BA00002044484350205375639C +:10EC8000636573730A0000009C000020AA00002046 +:10EC9000495041646472203D2025642E25642E2550 +:10ECA000642E2564200A000047574950416464726D +:10ECB000203D2025642E25642E25642E2564200AFF +:10ECC00000000000444E53313A2025642E25642E66 +:10ECD00025642E25640A0000444E53323A202564F0 +:10ECE0002E25642E25642E25640A000030B585B0DB +:10ECF000054614216846F9F72CFA104C002DA2683D +:10ED000009D06068401C6060042802D1694628462A +:10ED1000904705B030BD0A480168009141680191F3 +:10ED2000806802900748006AC16B0391006C0490F0 +:10ED300069462846904700206060EAE7104E0020B0 +:10ED4000AC4D0020284E002070B50F4C05462068C1 +:10ED5000002801D0002070BD18210B48F9F7F9F9FF +:10ED60000A4820610A4860610A48A560E0600A48D4 +:10ED70000BF052FB0021094A0028117001D101213A +:10ED8000216001F077F970BD104E0020A99B0100B1 +:10ED900061980100AD960100284E0020600100201E +:10EDA00010B504480BF08AFB18210348F9F7D1F994 +:10EDB000002010BD284E0020104E002010B501F09C +:10EDC000EDF810BD00B500F039FA024A0021D16219 +:10EDD00000BD0000AC4D00200148008CC0B270475F +:10EDE000AC4D002006494979884201D30020704784 +:10EDF0003C214143034A0023505C535070470000BC +:10EE000068010020F03400200120704770B5FFF742 +:10EE1000D9FF0446C0070FD0194D1AA101202A6B53 +:10EE200000F072FE1CA101206A6B00F06DFE1FA1B4 +:10EE30000120AA6B00F068FE600706D5FFF7CCFF43 +:10EE400002461FA1012000F05FFEE00617D523A1B6 +:10EE5000012000F059FE00242046FFF7C3FF050003 +:10EE600009D00346224622A1012000F04DFE29468A +:10EE7000204600F055F8641CE4B2042CECD370BDBD +:10EE8000AC4D0020556E7265616368436F64652008 +:10EE9000A3BA256C640A0000556E72656163685000 +:10EEA000726F746F20A3BA256C640A00556E726588 +:10EEB000616368506F727420A3BA256C640A000005 +:10EEC00047494E545F535441545F5048595F43483B +:10EED000414E474520253032780A000047494E54BC +:10EEE0005F535441545F534F434B45540A00000055 +:10EEF00047494E545F535441545F534F434B45541D +:10EF00002C20534F434B45545F6E756D3A25642C4E +:10EF100020736F636B6574696E69743A25640A00C7 +:10EF2000F8B506460C46480733D50021304600F0B8 +:10EF30005FFB0246009033461FA1012000F0E4FD74 +:10EF40000098002825D0244D68788009022820D117 +:10EF500022A1012000F0D8FD27486A46016830460A +:10EF600000F07EFA25A10120009A00F0CDFD68781E +:10EF70000221084368700021304600F07DF902004C +:10EF800003D02549012000F0BFFD24480099F9F77E +:10EF9000E0F8200703D522A1012000F0B5FDE0062E +:10EFA00003D525A1012000F0AFFD600603D526A101 +:10EFB000012000F0A9FDF8BD526563656976652002 +:10EFC0004C656E203D20256C642C736F636B656906 +:10EFD00064203A2025640A00BA000020656E74653A +:10EFE00072207265636520696E74215354415455D3 +:10EFF000533D330D0A000000F400002052656365A4 +:10F000006976652053756363657373204C656E2064 +:10F010003D20256C640A000070B80100944B00206C +:10F0200054435020436F6E6E656374205375636361 +:10F030006573730A000000005443502044697363F1 +:10F040006F6E6E6563740A005443502054696D6F8F +:10F0500075740A00F8B50F4604463F493F481E46FE +:10F06000154681420ED83E4981420BD83D49814226 +:10F0700008D83D49814205D83C49814202D83C49E3 +:10F08000814201D9FB20F8BD44213A48F9F761F8E3 +:10F0900018213948F9F75DF8042221463548F9F777 +:10F0A0003FF8344C04223946201DF9F739F8204640 +:10F0B000062231460C30F9F733F8002D2CD02046CB +:10F0C000042229460830F9F72BF82C4D3222A86883 +:10F0D0000127C106C90E6971C105090FA970C104D4 +:10F0E000090FE9708104C90F29714103C90EA1619B +:10F0F0000102C90E5143E161C101C90F002902D0CB +:10F10000216C394321648001C00F03D0206C02219F +:10F110000843206400260BE0FF206072A0720020EC +:10F120002072D2E73146002000F03AFB761CF6B29E +:10F1300068798642F6D302F0EFFA05F06FFB0D48CE +:10F140000F495830676201600E49416009218160B2 +:10F150002F700020F8BD0000502B0020000001207F +:10F16000902B0020F0340020E0350020E046002005 +:10F17000F44A0020AC4D0020104E00206801002011 +:10F18000204E0000983A0000F0B589B01C461546A4 +:10F190000E460746FFF738FE012802D0FC2009B0D2 +:10F1A000F0BD1449124808604B20C0000090432075 +:10F1B000C00001900120800202900A2003902B20C1 +:10F1C00004906846FFF7D2FC23462A46314638466B +:10F1D000FFF740FF084905914910069104460521B3 +:10F1E00005A80791FFF7B8FC204609B0F0BD000064 +:10F1F00084A4520070010020204E000010B5084881 +:10F20000808CC0070AD004F045FE04F0CBFB054813 +:10F210000BF06CFC02F086FEFFF742FC10BD000014 +:10F22000AC4D0020284E002010B502F075FA0248BF +:10F230000CF0A2F910BD0000284E002010B50B49BB +:10F2400000204A790A490B4B0BE03C2444431C59EB +:10F25000002C04D0C86A10221043C86203E0401C8E +:10F26000C0B29042F1D3888DC0B210BD68010020B9 +:10F27000AC4D0020F03400203C22124B4243D21807 +:10F2800010B5114B5B79984201D31A2010BD136A57 +:10F29000052B01D0172010BDD269022A05D0032A00 +:10F2A00006D0002A07D0F72010BD00F01BFB04E0B9 +:10F2B00000F0EEFA01E000F0D3FA40B200F0DAFE1E +:10F2C00010BD0000F034002068010020F8B50C46A5 +:10F2D000002101700D465A49497908E03C22594BFA +:10F2E0006A43D218126A002A03D06D1CEDB28D4217 +:10F2F000F4D38D4201D32020F8BD0570E0690028C9 +:10F3000005D002281FD0032869D02120F8BD208D08 +:10F31000C0B20DF0B9F9060075D04B4869460068D7 +:10F32000009030460DF05EF9E06A00906946304684 +:10F330000DF064F93C204349684342184349304684 +:10F340000DF0B8F93FE00FF01BFE060075D0E06A43 +:10F3500000900F2000070CF06BFE07460099072075 +:10F360000F4040070CF064FE874205D038496846DC +:10F370000BF048FE002806D0208D364982B2304678 +:10F380000FF05AFC12E03048694600680090208D6A +:10F3900082B230460FF050FC002809D1E06A00909C +:10F3A000A08C694682B230460FF094FC002802D04F +:10F3B00000F060FEF8BD3C2022496843421826490F +:10F3C00030460FF0EAFD052026632062694620489A +:10F3D0000BF0E8FA2946204600F0E2F92BE00EF0A7 +:10F3E00057F8060029D01848694600680090208D1B +:10F3F00082B230460DF0AAFA070005D030460DF073 +:10F4000023FB3846D4E718E03C200E4968434118F6 +:10F4100030460DF099FA114930460DF06DFD266326 +:10F420000520666320622946204600F0B9F9694646 +:10F4300007480BF0B7FA0020F8BD1120F8BD000016 +:10F4400068010020F0340020AC4D0020B1480100DC +:10F45000284E0020BBF201002D4B0100D1F7000027 +:10F46000F7B582B0049900220D680A603C21484338 +:10F470005D494618306A052802D0172005B0F0BD56 +:10F48000002D17D07469B0680090F168401E09180B +:10F49000B069A84200D20546039800287AD06719BF +:10F4A0008F4209D2042D07D92A462146F8F738FEA3 +:10F4B0003C467FE01A20E1E74C48007C800724D5D9 +:10F4C0000F1B7F1CAF4200D32F46042F05D93A46AD +:10F4D00021460398F8F724FE04E0BAB221460398C7 +:10F4E00003F0C2FB0398009CC019BD4262D9EF1B18 +:10F4F000042F04D93A462146F8F712FE03E0BAB2C7 +:10F50000214603F0B1FBE41954E000203EE0039AE9 +:10F5100023781370039A641C521C8C4200D9009CFF +:10F52000401CA84246D223781370521C641C8C42A3 +:10F5300000D9009C401CA8423CD223781370521C76 +:10F54000641C8C4200D9009C401CA84232D2237813 +:10F550001370521C641C8C4200D9009C401CA842B1 +:10F5600028D223781370521C641C8C4200D9009C52 +:10F57000401CA8421ED223781370521C641C0392B4 +:10F580008C4200D9009C401CA84213D2A842BED392 +:10F5900010E0FFE76019884203D2042D01D9044628 +:10F5A00008E0002004E0641C8C4200D9009C401C50 +:10F5B000A842F8D3049805607461B069411BB16139 +:10F5C00002D1B06870613061F069032809D1B28955 +:10F5D000306B511A89B24185F2688A4201D10EF02E +:10F5E000B7FF00204AE70000F0340020F04D002073 +:10F5F0003C225043034A8018002901D042690A6026 +:10F6000080697047F034002010B53C230D4C434313 +:10F610001B191C6A052C03D000201060172010BD98 +:10F62000DB69002B05D0022B06D0032B07D0FA2074 +:10F6300010BD05F093F910BD05F0D4FA10BD05F02A +:10F64000F3F910BDF0340020FFB50025146885B033 +:10F6500016461560002C18D00699002915D03C21BB +:10F6600048432A4940180290006B03902848006CD8 +:10F67000800700D4C7256D1CADB2C82D42D8172015 +:10F680008001844204D3009004E01A2009B0F0BD48 +:10F690002046009481B2002210460CF071FD070054 +:10F6A00032D07868009A0699F8F73AFD1849002098 +:10F6B000C86339460E9B089A03980FF091FC01909D +:10F6C00038460CF08BFE1248C06B002802D101981E +:10F6D00000280DDA002030604021029800F03CF84C +:10F6E0000198002802DA00F0C5FCCFE7FA20CDE748 +:10F6F0003168009808183060009906984018069004 +:10F70000641AB8D10020C1E71120BFE7F03400200F +:10F71000AC4D002000B50E490A6812180A600D4A67 +:10F720001178002913D0D188081880B27D210901F1 +:10F73000D08088420BD30020D080FFF74DFB0128FA +:10F7400005D150780CF0CEFE5078401C507000BDB2 +:10F75000F40100206801002070B5047805460829EE +:10F7600013D007DC01290BD002290BD0042916D1B4 +:10F77000042008E010290AD0402910D1402002E0DE +:10F78000012000E00220044308E00820FBE71020ED +:10F790000443686B002801D00DF056F92C6070BD51 +:10F7A00070B505463C2041430848081804463C21F2 +:10F7B000F8F7CFFC002D04D020463C222946F8F76C +:10F7C000AFFCA0682061606170BD0000F0340020D3 +:10F7D00070470000F0B58DB00E460021129C0191DB +:10F7E0000291039104910591069107910891099165 +:10F7F0000A911D46174601460E4B272201A806F026 +:10F8000011FF6846C67405A811220B49F8F788FC59 +:10F8100008A80472272101A803F068FA27200B909A +:10F8200006480095007B3B460BAA01A9FFF70CFF99 +:10F830000DB0F0BDFEFF000010660100AA00002020 +:10F84000002310B41A46002906D9845C521CE31820 +:10F8500092B2DBB28A42F8D3D84310BCC0B2704730 +:10F860003C21484310B509494418206B002803D0B7 +:10F87000216A052902D006E0172010BD0CF01EFFFA +:10F88000002020632062002010BD0000F034002022 +:10F89000F8B50E463C214843114900254418606BD9 +:10F8A0002F46002803D00DF0CFF805462762206BC5 +:10F8B000002810D0002E04D0012E06D0022E06D033 +:10F8C00008E00DF0C1F8054604E0012100E0002148 +:10F8D0000CF05CFF2762284600F0CCFBF8BD00006E +:10F8E000F03400203C21484310B509494418206BEE +:10F8F000002803D0216A052902D006E0172010BD98 +:10F900000FF04EFB002020632062002010BD00009D +:10F91000F034002010B58CB0002401940694262009 +:10F9200002940394049405940B900794089409940A +:10F93000114B272268210A9401A806F073FE0120CA +:10F940006946C87405A811220C49F8F7E9FB08A913 +:10F950000C72272101A803F0C9F9094B0BAA587BA7 +:10F96000197B000208430090064801A9007B9B1DFB +:10F97000FFF76AFE0CB010BD0180000010660100A8 +:10F98000BA000020AA00002010B50A21F8F79EFB5B +:10F9900000014018C0B210BDF0B58FB00C4607464C +:10F9A0001D4616463C216846F8F7D3FB207808A987 +:10F9B000087360784873A0788873E078C873022071 +:10F9C00007900A4802904320C00003900A960995C8 +:10F9D00069463846FFF77AFC0446220003D0044902 +:10F9E000012000F091F820460FB0F0BD944B0020AC +:10F9F00070B8010070B5354C1020201802781146FF +:10FA00004278120211438278C07812041143000632 +:10FA10000143142022181378184653781B02184308 +:10FA20009378D2781B0418431206104381424BD0BE +:10FA30002749284A0968116004F0F3FC054602468C +:10FA400025A1002000F09EF8FC21F22000F01EFB12 +:10FA5000060012D01420231818782A460146587838 +:10FA600000020143987800040143D878000601435E +:10FA70003046891CFBF722FE03E01DA1002000F0A8 +:10FA800081F8142021180A7810464A78120210438F +:10FA90008A78C978120410430906084301218902B3 +:10FAA00040182075010A6175010CA175010EE17500 +:10FAB0001449884208D9092000042075010A61759B +:10FAC000010CA175000EE07570BD000087060020D6 +:10FAD000100000200000002055534152545F302098 +:10FAE000526576696365204C656E3A2564000000B6 +:10FAF00055415254302044617461204C656E20465B +:10FB000061696C00FF0F09000FB430B50121144B7F +:10FB10008140186883B001421CD01248026800205E +:10FB20009A60D8601C695D69141B01469C611A616A +:10FB30005961A841D861019000230BA100940F489E +:10FB400008F04CFF0D490EA008F01EFF08A9079809 +:10FB500008F058FF03B030BC08BC04B018470000E0 +:10FB6000300000201000002025382E6C6C64205BD3 +:10FB700025362E6C6C645D3A20000000F3260020D0 +:10FB8000257300000FB430B50121154B8140186872 +:10FB900083B001421FD01348026800209A60D860E9 +:10FBA0001C695D69141B01469C611A615961A84179 +:10FBB000D861019000230CA10094104808F00EFFBA +:10FBC0000E490FA008F0E0FE08A9079808F01AFFF8 +:10FBD0000CA008F0D9FE03B030BC08BC04B0184734 +:10FBE000300000201000002025382E6C6C64205B53 +:10FBF00025362E6C6C645D3A20000000F326002050 +:10FC0000257300000A0D000070B50D46064601215F +:10FC1000002449020A48F8F79CFA32462946084867 +:10FC200004F080FB0020002D07D905490A5C401C28 +:10FC3000121980B2D4B2A842F8D3E043C0B270BD6A +:10FC40005727002070B50646083004F0EAFB012172 +:10FC5000002449020546884201D9012070BD0B48A5 +:10FC6000F8F777FA32462946084804F05BFB002093 +:10FC7000002D07D905490A5C401C121980B2D4B284 +:10FC8000A842F8D3E043C0B270BD0000572700205F +:10FC9000F7B5444F05467A78434E86B0900905D0B3 +:10FCA000424C012819D0022878D130E0B0680028F1 +:10FCB00004D1FF2001300BF093FFB0607D2235238B +:10FCC00052013B492846FFF767FE002866D1787845 +:10FCD0008006800E4030787060E001235B020020D7 +:10FCE000B26802F06DFF009028786A46B168FFF7AD +:10FCF0008BFC304800682074010A6174010CA17407 +:10FD0000000EE07478788006800E8030E3E71020E3 +:10FD100021180B78274F18464B781B0218438B7815 +:10FD2000C9781B041843090608433968081AC8280B +:10FD300016D91D4880680AF0A1FF1B48002686607E +:10FD400038682074010A6174010CA174000EE0741B +:10FD500028783146FFF790FA2E70022009B0F0BDE6 +:10FD600090071BD500202870102021180A78104613 +:10FD70004A78120210438A78C9781204104309069F +:10FD800008433968091A0CA008F0FEFD089A684675 +:10FD9000B1680CF051F909B0F0BDFFE7002009B0DF +:10FDA000F0BD0000BA000020EC000020BC000020E4 +:10FDB000EE000020A0000020444E5320BAC4CAB177 +:10FDC000A3BA2564306D730A0000000070B53C4989 +:10FDD00057220A70A8220A70394A403A537BDF241E +:10FDE00023405373D37BFD242340D37300230B7034 +:10FDF0003449CB70CC78DB252C43CC70CD780424EF +:10FE00002543CD70FF250D714E79C0252E434E71CF +:10FE10008E79360936018E718E7926438E71CC79B2 +:10FE20002C43CC71CC79A406A40ECC710B764C7EFD +:10FE300001231C434C768C7EE406E40E8C768C7E8B +:10FE400020252C438C768C7E10252C438C768C7E42 +:10FE5000FB252C408C768C7E1C438C76C8831A48FC +:10FE6000184B447920331C7204795C72C4789C72FC +:10FE70008478DC7244781C7300785873508B40236C +:10FE8000184350831148114A806B803A80008018D3 +:10FE9000806F88810A48803005680D490D4A0988BD +:10FEA00012880C4611430B461D4305604169E4432B +:10FEB00014432140416181681943816070BD000095 +:10FEC0004010004000900040A40000203455002065 +:10FED000980000209A00002070B51549CA6B002ACE +:10FEE00009D04A6B0C469200803C1219956F928F94 +:10FEF00093B2002205E0002070BDAE5C8654521C17 +:10FF000092B29A42F9D3486B002280002250486B8B +:10FF1000401C4863042800D34A630648C178490658 +:10FF2000490EC170C17880221143C170184670BD5E +:10FF3000345500200090004030B5124A13689B00F1 +:10FF40009B18DC68002305E005785B1C2570401CCD +:10FF50009BB2641C8B42F7D301240B4880230360BF +:10FF60000A48418111688900891889890181C1790C +:10FF700008221143C17104488038036004480460BA +:10FF8000002030BD7855002080E100E00090004066 +:10FF90007801002010B5FEF711FF10BDF8B5234C15 +:10FFA0002679700603D5FEF797FD402020713007B3 +:10FFB00004D51F490020086008202071F0062ED5C6 +:10FFC000012003F043FF1B4D1B4F400710D50120BC +:10FFD00001F04AFBE8681949194A09881288114357 +:10FFE0000843E860E07904210843E07102200FE053 +:10FFF000002001F039FBA8681049114A09881288CD +:020000040001F9 +:1000000011430843A860E079FB210840E07101201A +:100010003862F86A04210843F86210202071B007A2 +:1000200002D0607903202071F8BD000000900040EC +:1000300078010020C0100040AC4D00209800002046 +:100040009A000020F0B400252B46002A10D9AC00FD +:100050000E5DC6540E5B6D1C370AC61877700F59BB +:100060001B1D3F0CB7700C59240EF4709342EED355 +:10007000F0BC7047002805D0FF210131081A024961 +:10008000C0B2085C7047000090F20100F3B5FF2594 +:10009000013581B00F462C46082004F0ADF9064624 +:1000A0009F21401B0902884200D3124EAE421AD94A +:1000B000204604F065F901460198814209D1601C8F +:1000C00004F05EF9B84204D12046FFF7BBFD0028DA +:1000D0000CD0FF34FF35FF34FF3502340235B44213 +:1000E00001D2B542E4D3002003B0F0BD204603B0F6 +:1000F000F0BD0000FF9F000010B5082004F07CF95F +:10010000FF380138C003000E10BD0000F8B5082408 +:10011000204EE704250300F091F900F07FF8F06825 +:100120003843F060202003F0F7FF2802000E03F0B0 +:10013000F3FF2804000E03F0EFFF002003F0ECFFB4 +:10014000B0683843B06000F069F8641CE4B2102C69 +:10015000E0D30124250400F071F900F05FF8F068A5 +:100160003843F060D82003F0D7FF2802000E03F0D8 +:10017000D3FF2804000E03F0CFFF002003F0CCFFD4 +:10018000B0683843B06000F049F8641CE4B2042C55 +:10019000E0D3F8BDC010004010B50321082000F0E6 +:1001A00099F904210C05204600F0CAF903214803FF +:1001B00000F090F90121C80300F08CF90449886A25 +:1001C000082210438862034988682043886010BD74 +:1001D00080100040C0100040F7B50F4D1446E8688D +:1001E0000F460126B6053043E860032003F094FF74 +:1001F0002002000E03F090FF2004000E03F08CFF9D +:10020000E0B203F089FF3946009803F041FFA86887 +:100210003043A86003B0F0BDC0100040F8B5154DE4 +:100220000024E8680126B6053043E860052003F0A5 +:1002300073FF03F055FFA9683143A960C00716D0CA +:100240000D4F64200BF0F9FAE8683043E8600520B0 +:1002500003F062FF03F044FFA9683143A960641C06 +:10026000A4B2BC4201D90120F8BDC007E9D10020E9 +:10027000F8BD0000C0100040B80B0000F7B588B012 +:100280000A986C4E000B03900A980D460705012052 +:100290003F0D0003C41BA14200D80C460121C90236 +:1002A0007118049103980003009001900290624835 +:1002B000C0680121890508435F49C860032003F035 +:1002C0002BFF0298000C0590C0B203F025FF0298A6 +:1002D000000A0790C0B203F01FFF002003F01CFFCC +:1002E0000121C902304603F0D3FE53488068012142 +:1002F0008905084350498860049806900198C914FC +:100300004018019002904C48C068C90208434A490D +:10031000C860032003F000FF02980002000E03F003 +:10032000FBFE02980004000E03F0F6FE0298C0B235 +:1003300003F0F2FE0121C902069803F0A9FE3E482F +:1003400080680121890508433B4988600020002C12 +:1003500007D93918715CFF2903D1401C80B2A04233 +:10036000F7D3A04239D200F069F8FFF757FF3248BF +:10037000C0680121890508432F49C860202003F087 +:10038000CBFE0598C0B203F0C7FE0798C0B203F0D9 +:10039000C3FE002003F0C0FE2748806801218905C4 +:1003A000084325498860FFF739FF0020002C07D952 +:1003B0000899C219095C401C80B2B154A042F7D31D +:1003C0000127FF0239463046009A00F047F83946C7 +:1003D000019A049800F042F815E0012000038442DD +:1003E0000AD147103946009A089800F037F8089863 +:1003F00039464018019A04E0844204D221460A9A00 +:10040000089800F02BF8A54212D003980027401C52 +:1004100003900898001908900A9800190A90281B60 +:10042000012485B22403A54200D93BE72C4639E7D5 +:100430000BB0F0BDF0120020C010004070B5064CAB +:10044000E0680125AD052843E060062003F064FE66 +:10045000A0682843A06070BDC0100040F8B50746F2 +:100460000D46FF20D1B20130441A1646A54200D8ED +:100470002C46FFF7E3FF1648C1680122920511439D +:10048000C160022003F048FE3002000E03F044FE7B +:100490003004000E03F040FEF0B203F03DFE2146B2 +:1004A000384603F053FE0A48806801218905084355 +:1004B00007498860FFF7B2FEAC4208D0281B3F19FD +:1004C0003619FF2485B20134A542D2D8D0E7F8BD51 +:1004D000C0100040194A052910D20B007B441B793B +:1004E000DB189F44020C151E2500516B814351639C +:1004F000116B81431163116A814311627047516B23 +:1005000081435163116B01431163116A81430DE013 +:10051000516B01435163116B81431163116A814334 +:1005200004E0516B81435163116A014311627047CA +:10053000516B01435163116A0143F7E7801000409A +:10054000194A052910D20B007B441B79DB189F4404 +:10055000020C151E250051698143516111698143C7 +:100560001161116881431160704751698143516184 +:10057000116901431161116881430DE05169014323 +:1005800051611169814311611168814304E051692E +:100590008143516111680143116070475169014302 +:1005A000516111680143F7E7C010004010B50C48D5 +:1005B0000089C1B20B069A0F0A48022A05D0012A07 +:1005C00004D09A0F06D07D20000210BDC906C90EC6 +:1005D000054801E0C906C90EF7F778FD10BD000017 +:1005E000001000400048E80100389C1C00B502469D +:1005F00085B015321021684603F010FE6846407839 +:10060000002802D0022005B000BD012005B000BDC9 +:1006100000B502468BB015322B21684603F0FEFD73 +:1006200008A88079002802D002200BB000BD01206C +:100630000BB000BD00B50246B5B01532D2216846F8 +:1006400003F0ECFD30A80079002802D0022035B07C +:1006500000BD012035B000BD00B5024693B0153293 +:100660004621684603F0DAFD68464078002802D04B +:10067000022013B000BD012013B000BD10B50D481D +:1006800003F07EFE04020C4803F07AFE04432402C9 +:100690000A4803F075FE044309202402000403F015 +:1006A0006FFE07492043FF2241185201914200D3B7 +:1006B000044810BD03000900020009000100090000 +:1006C000E0FFF6FF2000090000B50246A7B0153292 +:1006D0009721684603F0A2FD20A8007D002802D0E3 +:1006E000022027B000BD012027B000BDF3B50646AB +:1006F00083B00020FF2500900135082003F07CFE28 +:1007000007469F21401B0902884200D3264F0498C8 +:100710000024002844D92846FFF794FA002802D084 +:10072000F02005B0F0BD284603F02AFE0190681CB9 +:1007300003F026FE029001980A2815D004DC062852 +:1007400017D0072819D10BE0152805D0F12814D1AE +:100750002846FFF76FFF0AE02846FFF77DFF06E017 +:100760002846FFF755FF02E02846FFF73FFF0090BD +:1007700003E02846FFF7A8FF0090600020180199C9 +:10078000315480190299FF354170FF3500990235C7 +:100790008170BD4204D2641C0498E4B28442BAD38E +:1007A000002005B0F0BD0000FF9F000001090A22F3 +:1007B00000075143000F0818C0B27047F0B58DB064 +:1007C0000024074601942620154606940E460294FE +:1007D00003940494059402460B900794089409949A +:1007E0000D4B0A210A9401A805F01CFF6846C77446 +:1007F00005A811220949F7F793FC262101A802F068 +:1008000075FA07480095007B33460BAA01A9FEF74D +:100810001BFF0DB0F0BD0000FEFF000010660100E0 +:10082000AA000020F7B5ACB000263D4F2B96F86823 +:100830000C464676411C86760A46C67606771F31F8 +:100840004E70037D9D0706D09A07920F012A0BD0A8 +:1008500001202FB0F0BD05231B0413751D0A55752B +:100860001D0C95751B0ED3756B461E7501225A75AE +:10087000CA78014605AD2431A81CF7F751FCF96888 +:100880002B980B462033DA78801C10182E546F22D8 +:10089000401C2A546322401C2A547427401C2F54A5 +:1008A0006522401C2A54401C2F54401C2E54401CCE +:1008B0002B90DA781B1D1BA10120FFF763F920782C +:1008C000E378A278617801AE0FC62B9800901DA145 +:1008D00001202E9B2C9AFFF755F927A10120FFF745 +:1008E00051F92B980026002809D9AA5D24A10120DE +:1008F000FFF748F9761C2B98B6B28642F5D310A1C3 +:100900000120FFF73FF92E98234680B200902BAAD2 +:1009100005A92C98FEF798FE00202FB0F0BD00002E +:10092000F800002046747046696C654E616D654C38 +:10093000656E3A2564202C206E616D653A25732022 +:100940000A000000536F636B657449643A256420A4 +:100950002C20706F72743A2564202C206C656E3ADE +:10096000256C64202C2049503A25642E25642E25C0 +:10097000642E25640A000000446174613A0000009E +:100980002530325820000000F8B5194B02251C69AB +:1009900021272570FF34FF340D78023425734D78FC +:1009A00065738D78A573CD78E57300256561A561C4 +:1009B0002261DE687576B576F5763577BD55357D7D +:1009C000731CAE0705D0AB079B0F012B0AD001208B +:1009D000F8BD05252D041D752E0A5E752E0C9E751D +:1009E0002D0EDD75636900F005F80020F8BD0000EC +:1009F000F8000020F0B50C46064687B004201849E0 +:100A00000690C9681546203149780022012921D075 +:100A10006F4604213A75797599B20A02090A1143A1 +:100A2000F982E178A278637827780293039204919F +:100A3000009001972B4632460A490120FFF7A2F8A1 +:100A4000A8B20090234606AA05A93046FEF7FCFD91 +:100A500007B0F0BD6F4605213A757975DCE70000F7 +:100A6000F800002020FA0100F3B55A4E1820F36870 +:100A700081B05B1C19180A7810464A78120210439C +:100A80008A78C97812041043090608431C215A18B1 +:100A90001378194653781B0219439378D2781B04B4 +:100AA000194312061143451A03F014FC3169002959 +:100AB00014D000274F708F70CF700F71002D0AD0A7 +:100AC000FF31FF3102314A69F1684B7C0C7C1B021B +:100AD00023439A4205DB012003B0F0BD002003B0A0 +:100AE000F0BD1C22491C8A181378194653781B0242 +:100AF00019439378D2781B04194312061143364ADE +:100B00000C18944202D9354A80180C182B462246FC +:100B100033A10120FFF736F830690322C31DFF33EC +:100B2000FA335969491C5961477082700A12C270C0 +:100B30000171012149028D4201D9996001E02946E4 +:100B40009D60254A0B19934212D9111B8DB2224682 +:100B50002946401D03F0E6FB41213069C900095ACE +:100B60004019491B89B22A4A401D03F0DBFB04E00F +:100B700089B22246401D03F0D5FBF2681C20521CAE +:100B800011180B7818464B781B0218438B78C978DC +:100B90001B041843090608433169CC1DFF34FA349D +:100BA000A368C0181077030A5377030C9377000EDD +:100BB000D077A0684122001DA0600298D20080B2C8 +:100BC000009014488A18407B491C019BFEF73CFDAD +:100BD00003B0F0BDF8000020FF1F090021E0FFFF77 +:100BE0005446545020726561645F61646472203AB7 +:100BF0002025303858202C20737572706C75735F07 +:100C000062797465203A25303858200D0A000000BA +:100C100020000900AA000020FFB5FE4C1E46A54496 +:100C200004460020FF2203A90A5401214902401C66 +:100C30008842F8D3F948F84A0421684403F0EEFAF0 +:100C4000F74803F09DFB0546F64803F099FB0002C8 +:100C50000543F5480195C268104620308178491C4B +:100C60008170042E7DD9F14B6B44D86A408801060F +:100C70000D0C010AE01DFF30FA3002904069294353 +:100C8000401C81426DD10020311F351F002909D938 +:100C900003A9E64B6B44DB6A1B181B790B54401C01 +:100CA000A842F6D3511C18200B181F7838465F78DD +:100CB0003F0238439F78DB783F0438431B061843D4 +:100CC00040195076030A4B76030C8B76000EC876DB +:100CD000701EC117890F0818D44B8003000C6B4499 +:100CE0001861107D8107890F02D001297BD195E021 +:100CF00002994B69002B0AD0FF21B1318B4272DD82 +:100D0000C94E8009012871D002287FD175E06A465A +:100D1000517B107B09024018917BD27B090412069B +:100D20008918401807460246C1A10120FEF72AFF94 +:100D3000C7493846084001214907884253D0C5A118 +:100D40000120FEF71FFFCAA10120FEF71BFF0027AD +:100D5000002E0CD9B548C9A16844C06AC25D012003 +:100D600000E0FAE0FEF70EFF7F1CB742F2D3BFA10E +:100D70000120FEF707FFC2A10120FEF703FF0027B5 +:100D8000042E08D003AEF25DBCA10120FEF7FAFEEE +:100D90007F1CAF42F7D3B5A10120FEF7F3FEA24EB0 +:100DA000F068007D8009012802D0022810D106E0F9 +:100DB0009A4904206944019AFFF700FD08E00020E9 +:100DC000964A00906A4404216820019BFEF702FDC8 +:100DD000F1680120203148706846437B0022AA490F +:100DE0000120FEF7CFFE70E000E00FE08B4903200A +:100DF0006944019AFFF7E2FC08E00020874A00906E +:100E00006A4403216820019BFEF7E4FCF16801209D +:100E1000203148709DA1FEF7B5FE56E00299496960 +:100E2000002908D0402950DD7F4E8009012835D0A7 +:100E3000022843D139E0A178607809024018E178AE +:100E400022790904120689184618324695A1012014 +:100E5000FEF798FE9848B04337D0734EF068007D97 +:100E60008009012802D0022810D106E06B49042035 +:100E70006944019AFDF7BAFD08E00120674A009035 +:100E80006A4404216820019BFEF7A4FCF16801205C +:100E90002031487089A1FEF775FE16E05F490320F6 +:100EA0006944019AFDF7A2FD08E001205B4A009029 +:100EB0006A4403216820019BFEF78CFCF168012045 +:100EC0002031487087A1FEF75DFE574EF068017D26 +:100ED0008907890F01D001294FD10299401C4A6925 +:100EE000521C4A611421401801780A4641780902CF +:100EF0000A438178C07809040A43000602430121AD +:100F0000490203A803F010FBF36814205B1C1918B6 +:100F10000A7810464A78120210438A78C978120477 +:100F20001043090608434149694409698900421888 +:100F30001A75100A5875100C9875100ED8753B4923 +:100F4000009569440B696EA10120FEF71BFE029813 +:100F500080694219029882610FE034486844C06A8F +:100F6000408801060A0C010A1143E21DFF32FA32E1 +:100F70005069401C814200D15061E01DFF30FA30C1 +:100F80002A4F00906F4405464369FA6CB96CB86A01 +:100F9000FFF730FD244EF068417C027C080269694D +:100FA0001043884234D138460021806AFEF764F944 +:100FB0005E480021407BFEF75FF90021304641701A +:100FC000C268107D8007800F05D0012821D0012044 +:100FD0002032507069E21548002168440161416186 +:100FE0008161C1611420521C11180A78504D1046BD +:100FF0004A780526120210438A78C97812041043F1 +:101000000906084336046D44074F811B2A4691E0C8 +:101010006BE2C9E1DCF7FFFF00E6080020080000F2 +:1010200004E6080005E60800F800002000080000BB +:1010300074656D705F766172203A202530385820D3 +:101040002C20626C6F636B203A25640A000000005C +:101050000000FE2FC4DAB4E6B7D6C5E4B5C4B5D8EF +:10106000D6B7B2BBCAC7D3D0D0A7B5C40A00000058 +:10107000706B745F6275663A0000000025582000AE +:10108000646174613A000000D8F90100C9FDBCB682 +:10109000CAA7B0DCA3ACB3ACB3F6D7EEB4F3BFE9E8 +:1010A000CAFD0A0074656D705F766172203A202572 +:1010B00030783038580A0000F00FA900C9FDBCB6DE +:1010C000C5E4D6C3CAA7B0DCA3ACC5E4D6C3CEC4BE +:1010D000BCFECDB7A1A2B0E6B1BEB5C8B4EDCEF3AB +:1010E0000A000000C9FDBCB6C5E4D6C3CAA7B0DC7F +:1010F000A3ACB3ACB3F6D7EEB4F3BFE9CAFD0A00B4 +:10110000D0B4C8EBB5D8D6B7A3BA253038582CD050 +:10111000B4C8EBCAFDBEDD3A20636F756E743D2521 +:10112000642C62797465A3BA25640A00AA000020C1 +:1011300010080000304601F0BDF8F8681421401C8A +:1011400041180A7810464A78120210438A78C97802 +:101150001204104309060843821BE5A10120FEF793 +:10116000D3FC1026FB680020295C1A5C914208D051 +:10117000187D0124E54D800901287DD002287CD10D +:1011800001E1401CB042EFD3E1A10120FEF7BCFC1D +:10119000DE4EE44DF068007D8009012802D002286F +:1011A0000FD106E0E0A10120FEF7AEFC29460120A8 +:1011B00005E0E4A10120FEF7A7FC2946022003F088 +:1011C000E1F9E7A10120FEF79FFCFEF79FFFCF4862 +:1011D0000025C068E84E417C027C0802104317D00D +:1011E00005206F0200043A1801214902601C03F037 +:1011F00099F80121BA194902601CFFF73FF8C3486A +:101200006D1CC068417C027C08021043A842E7D8EC +:10121000002022180021517001214902401C8842FF +:10122000F7D30098D5A142690120FEF7ABFCB7487F +:10123000C068427C017C100208438107890F7DD081 +:1012400087087F1C0025002F26D901213246C902BC +:1012500003A8FEF7C1FF0121C90203A801F06AFD3E +:101260006A00010A121920329172C3B2D37202933A +:10127000019100902B4601E07DE08DE03246C4A153 +:101280000120FEF741FC0120C0023618CF488642FB +:1012900002D26D1CBD42D8D320462030027A79009C +:1012A0000A430272427A090A0A43984D4272E96877 +:1012B0001422491C8A181378194653781B021943C3 +:1012C0009378D2781B041943120611430922D203E2 +:1012D000891A02780270427880231A434270827819 +:1012E0008270C278C27002790B0A0A430271427995 +:1012F0001A43427182790B0C1A438271C279090E2A +:101300000A43C2716620E070FF21FF31E01C01F04A +:1013100011FD6378C1B20B436370A278000A0243E7 +:10132000A270ABA10120FEF7EFFB012100224902D0 +:10133000601CFEF7A3FFABA1012000E019E0FEF75F +:10134000E3FB0A200AF060FAE868CF22017D114031 +:1013500020310175002801D009F090FC0024EC60D8 +:101360002869002801D009F089FC2C6103F054F9A8 +:1013700095E0870866E7A048EA886844816C052004 +:10138000FFF71CFA08E000209C4A00906A440521FF +:101390006820019BFEF71EFAE86899A1203044708E +:1013A0000120FEF7B1FB7AE09349002769440F6101 +:1013B0004F618F611420521CCF6111180A78384692 +:1013C00010434A78944C120210438A78C978120468 +:1013D0001043090608438F494C4E41186C4435466A +:1013E00022468E4800F066FFEA6810250020235C44 +:1013F000115C8B4208D0107D0124800935460128FC +:1014000036D0022844D13BE0401CA842EFD33D46F1 +:1014100083A10120FEF7B6FBF0683446007D800909 +:10142000012802D0022811D107E07348E2886844FD +:10143000816C0120FDF7DAFA08E001206F4A009084 +:1014400001466A446820019BFEF7C4F9E068CF2298 +:10145000017D114020310175002801D009F00EFCFA +:10146000E5602069002801D009F008FC256116E03C +:101470006148EA886844816C0520FDF7B7FA07E007 +:101480005E4A00946A4405216820019BFEF7A2F998 +:10149000E86868A1203044700120FEF773FB1B4808 +:1014A000C0682030407801281FD168A10120FEF7D4 +:1014B00069FB514800216844806AFDF7DDFE6848F9 +:1014C0000021407BFDF7D8FE104C00256570E068D8 +:1014D00021210D54002801D009F0D0FBE5602069DE +:1014E000002801D009F0CAFB25615E4CA544F0BD7F +:1014F00066616C7368D0B4C8EBD7DCB3A4B6C8A37C +:10150000BA256420427974650A000000F8000020C2 +:10151000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8E9 +:10152000B70D0A0006E60800BCC7C2BCBED6D3F29F +:10153000CDF8C9FDBCB6B3C9B9A6D7B4CCAC2E2E74 +:101540000D0A0000BCC7C2BCD4C6B6CBC9FDBCB630 +:10155000B3C9B9A6D7B4CCAC2E2E0D0A000000003A +:10156000BDAB415050D0B4C8EB466C617368D6D067 +:101570002E2E0D0A000000000080000061726773CB +:101580002D3E626C6F636B3A25640D0A000000000B +:101590005352414D5F414444523A20253038582C33 +:1015A00020426C6F636B3A256C64202C6372635F1E +:1015B00076616C3A25303458202C20646174613A8D +:1015C00025303258253032580A000000FFE503006C +:1015D000415050204352433A25303258253032583A +:1015E0000A0000004E455420555064617465205334 +:1015F0005543432E2E2E0A0000080000200800004C +:10160000C9FDBCB6CAA7B0DCA3AC4D6435B4EDCE01 +:10161000F30A0000009AF7FF1008000000660800B7 +:10162000C9FDBCB6B3C9B9A6A3AC4D6435D5FDC8D8 +:10163000B70A0000C9FDBCB6C5E4D6C3CAA7B0DC72 +:10164000A3AC4D6435B4EDCEF30A0000C9FDBCB6C1 +:10165000B4EDCEF3A3AC4D6435B4EDCEF30A000087 +:10166000AA0000203408000070B5074C0025207047 +:10167000A570E570257105486571A11D0068F6F734 +:10168000A4FD657070BD00008C550020F4010020A1 +:1016900070B5144905460878002816D00C46881DF8 +:1016A000F6F789FD7D21281AC90088420CD9A11DB1 +:1016B0002846F6F78AFDE078A1780002084305285D +:1016C00008D90020FFF7D0FF70BD2846891DF6F726 +:1016D0007CFD70BD401CA070000AE07002F0AAFF03 +:1016E00070BD00008C55002010B504460020FFF7A7 +:1016F000BBFF0748002C07D001214170054802229A +:10170000C16A1143C16210BD0021417010BD0000CB +:101710008C550020AC4D002010B50548FEF756FB57 +:1017200004490020086004490120086210BD00003F +:101730004F02000078010020AC4D0020F8B5764C37 +:10174000E068002830D0007D8106890F01292BD167 +:1017500082097348009073482146006889686F4D7C +:10176000401A697B2B7B09021943012A12D0022AF5 +:1017700010D0032A18D1A2786B4F0026092A7DD2F7 +:1017800013007B441B79DB189F44324861C4504CE2 +:101790008589A8006278002A07D0012A23D0022A6E +:1017A00002D1A81D03F022FBF8BDFDF715FB0228AE +:1017B000FAD32878C007F7D05CA10120FEF7E2F940 +:1017C000614A4521009804F0FBFE60A10120FEF76C +:1017D000D9F9664A6649674804F0F2FE5148006844 +:1017E000A060012002E00528DED902206070F8BD6B +:1017F000FDF7F2FA0228FAD32878C007F7D04BA1F8 +:101800000120FEF7BFF95C4A5C49009804F0D8FE5D +:1018100044480068A0600120A070F8BD0528FCD9EC +:101820000420F9E70528F8D90620F5E74521A81C8A +:1018300003F010FDF0282AD01122206939685201E6 +:101840001150FF30FF30023046620220E4E7216988 +:101850003A68C81DFF30FA30036A456AD71A304625 +:10186000A8417D252D010023ED1B8341D5D2C81D44 +:10187000FF30FA3046620262112000E04AE0400187 +:101880000818017A491CC9B20172032901D908203C +:10189000C2E70720C0E7A81CFFF7E6F8CCE738A1AD +:1018A0000120FEF76FF9687B297B00020843009056 +:1018B000412221693848D2008A18AB1C407B491C60 +:1018C000FDF7C2FE11222069396852011150FF3024 +:1018D000FF30023046620220A070F8BD2FA1012027 +:1018E000FEF750F92C480021407BFDF7C5FCE0686D +:1018F000CF22017D114020310175002801D009F06F +:10190000BDF9E6602069002801D009F0B7F9266129 +:10191000A670F8BDA670F8BDF8000020BA0000203F +:10192000B7000020A000002010000020BFAACABC01 +:10193000B4B4BDA854465450B7FECEF1CCD7BDD3F5 +:10194000D7D62E2E2E200A0055640100BFAACABC8D +:10195000B4B4BDA854465450CEC4BCFEB4ABCAE423 +:10196000CCD7BDD3D7D62E2E2E200A00D5640100A9 +:10197000FFFF0000B8000020B54F0100DCFF0000B1 +:10198000D6D8D0C2B7A2CBCDD2BBB4CECAFDBEDDB5 +:101990002E2E2E200A000000AA000020B9D8B1D5B2 +:1019A000CCD7BDD3D7D6A3ACCACDB7C5C9EAC7EB90 +:1019B000BFD5BCE42E2E2E200A00000070B50121F8 +:1019C0000C052046FEF7BCFD0121CD042846FEF79C +:1019D000B7FD01218E043046FEF7B2FD0549886847 +:1019E000204388608868284388608868304388601E +:1019F00070BD0000C01000400648074900680A6832 +:101A0000064B821A9A4204D910B5086000F060F8BB +:101A100010BD70471000002020000020C0270900E2 +:101A200000B587B0002000900190029003900490D0 +:101A30000B22059012031521684602F0EFFB684661 +:101A4000407B062802D00620694648730320694679 +:101A5000887305A10020FEF757F815226946052076 +:101A600000F082F907B000BD4C4F475F53617665C7 +:101A70005F476C6F62616C5F506172616D65746528 +:101A80007273200D0A00000008B5002009220090A2 +:101A9000120404216846FEF79FFB6846C07857226F +:101AA0000102684680785201084301026846407886 +:101AB00008430102684600780843034941189142EF +:101AC00000D3024808BD0000E0FFF6FF2000090037 +:101AD000F0B585B000260124A4020496FEF7CEFDE1 +:101AE0000390724802F04CFC0502714802F048FC79 +:101AF00005432D026F4802F043FC05432D026E485A +:101B000002F03EFC05436D482918FF204001814248 +:101B100000D36B4D0398A84201D9461B07E0A842A9 +:101B200005D268480399401B411864480E18FFF716 +:101B3000ABFF074664482B46C01B029000970196F6 +:101B400062490020039AFDF7DFFF002E77D0B00A2C +:101B5000401C024601905EA10020FDF7D5FFA64281 +:101B600000D834460298844200D3044655492819C7 +:101B7000884200D94C1B0198401E0190401C5CD04B +:101B8000A1B22A46564802F0CDFB2B463A465549AB +:101B900000200094FDF7B8FF049801280CD14848B4 +:101BA000874209D1002004904F4901200870601C31 +:101BB00081B27A1E4C4802E0A1B23A464848FEF78C +:101BC0005DFB3F192D19A64204D148A10020FDF765 +:101BD0009BFF32E00298361B001B02903948854279 +:101BE00008D32A4648A10020FDF78EFF0198344D06 +:101BF000401C0190344887420CD33A464AA1002049 +:101C0000FDF782FF012004904F48029001982C4F6D +:101C1000401C01900124A402A64200D83446029838 +:101C2000844200D3044627482919814200D9441B25 +:101C30000198401E0190401CA2D13A4600E033E0DA +:101C400042A10020FDF760FF00201C4D00905721AD +:101C500078194901884200D36F4269460F70380AEB +:101C60004870380C8870380EC8700922120404219C +:101C70006846FEF703FB039CFF2061194001814287 +:101C800000D30F4C0C49E0B202F07CFC2004000EA3 +:101C9000084902F077FC2002000E054902F072FCB0 +:101CA000200E024902F06EFC05B0F0BD0B000900E9 +:101CB0000A0009000900090008000900E0FFF6FF1A +:101CC00020000900FF1F0900FF0A090014F30100AA +:101CD000775F6E756D203A2025640D0A00000000C4 +:101CE000F1220020D0F20100F02200204C4F475F8B +:101CF000466C61736820577269746520436F6D701C +:101D00006C657465210D0A004C4F475F5352414D7D +:101D10005F456E645F416464726573733A30782521 +:101D20003038580D0A0000004C4F475F466C617315 +:101D3000685F456E645F416464726573733A3078BE +:101D4000253038580D0A0000DF0A00004C4F4720AC +:101D5000466C61736820454E445F6164643A307834 +:101D600025303858200D0A00F7B55648564E0468FD +:101D700082B01746707801F0A5FE54494843041913 +:101D8000B07801F09FFE5249009748430C3705197F +:101D9000FFB2FEF773FC04464E49C019884204D3D3 +:101DA0004DA10020FDF7B0FE524CA520214602F0C7 +:101DB000E9FB514802F0E4FA611C019002F0E2FBF9 +:101DC00001984D49401CC0B202F0DCFBA11C384612 +:101DD00002F0D8FBE11C002002F0D4FB3A488079E5 +:101DE00001F070FE86023848407901F06BFE400138 +:101DF00036183548007901F065FE301886B2300A91 +:101E0000211D02F0BFFBF0B2611D02F0BBFBA11D62 +:101E1000029802F0B7FBE8B2E11D02F0B3FB280420 +:101E20002146000E083102F0ADFB28022146000ECB +:101E3000093102F0A7FB2146280E0A3102F0A2FB6D +:101E400022460B320099039802F06EFB009821188D +:101E50005A200B3102F096FB00263546002F08D998 +:101E6000601902F08DFA80196D1CEDB2C6B2BD4248 +:101E7000F6D3F043C0B2E11C02F084FBE5191F4821 +:101E8000FF21281849012C46884200D3194C09210A +:101E9000E0B2090402F076FB2004000E184902F0BB +:101EA00071FB2002000E174902F06CFB200E164950 +:101EB00002F068FB2A4615A10020FDF725FE002050 +:101EC00005B0F0BD180000202800002060EA0000E6 +:101ED00080EE3600FF1F0900205352414D20537001 +:101EE000616365206973206E6F7420656E6F75671E +:101EF000680D0A002000090014000900E0FFF6FF49 +:101F00000100090002000900030009005352414D7D +:101F1000204C4F472041646472203A2025303858C5 +:101F20000D0A0000F8B5324C606800903148016A33 +:101F300001295CD00099A268C069891A40088142D1 +:101F400015D30098A0602D4962782B480988002A93 +:101F500008D082680A4205D10022627082680A4372 +:101F6000826002E0C2680A43C2600CF0C1FD0098C2 +:101F7000E168401A2249884203D30098E06008F0E3 +:101F80003DFD2048C16800290AD00099E269891AFC +:101F90007D22D200914203D30099E16140688047DD +:101FA000194DFF262868F536002816D000982169BB +:101FB000401AB04205D3009820612869002800D05B +:101FC000804700986169401A1049884205D30098FB +:101FD00060616869002800D080470098A169401AB4 +:101FE000B04201D90098A0610098FFF751FBF8BDFD +:101FF000F0010020AC4D0020C01000409A000020ED +:102000008813000098550020104E002060EA000060 +:1020100001490120C8637047AC4D0020F8B5064661 +:1020200000256846057069463046FCF707FD002824 +:102030000BD0684600781349020607D54006400ECB +:102040003C225043401845630562F8BD3C224243A0 +:1020500054180D4949798842F7D2E0690328F4D130 +:10206000367C20463C21F6F774F8092E08D00A2E5B +:1020700006D040212046FDF76FFB25632562F8BDA1 +:102080001021F7E7F03400206801002010B5054C5E +:1020900023636263A1636061E06A01210843E06237 +:1020A00010BD0000AC4D0020F8B506460D461446A4 +:1020B000104609F095FD07462146F6F74AF82A46EC +:1020C0002146384602F0AAF822463946304600F04A +:1020D00005F8384608F0D2FDF8BD0000F8B5FF2637 +:1020E000F53615460C46012809D0474F022838D04E +:1020F000032835D14548007803285CD06CE044487B +:102100000078032810D143482B46027811464278C4 +:10211000120211438278C078120411430006014371 +:102120002246012006F068F83B4F2046BA6829464F +:10213000002401256D052A43BA6003F07DFE37486F +:102140004179490602D5C07A002806D0642009F0FA +:1021500074FB641CA4B2B442F1D9F8682843F86057 +:10216000F8BD2F480078032810D12E482B4602785E +:1021700011464278120211438278C078120411434A +:10218000000601432246022006F036F82046BA6ACD +:102190002946002402252A43BA6203F0AFFF2248F1 +:1021A000407940062CD4642009F047FB641CA4B29B +:1021B000B442F4D924E01D482B46027811464278F7 +:1021C000120211438278C0781204114300060143C1 +:1021D0002246032006F010F82046BA6A2946002459 +:1021E00001252A43BA6204F0E5F811484079400617 +:1021F00006D4642009F021FB641CA4B2B442F4D9D3 +:10220000F86A2843F862F8BD801000405729002082 +:10221000CB290020DD290020C01000400034004000 +:1022200092290020A42900200038004069290020BC +:10223000003C0040F8B50E4E0024B26801277F052F +:102240003A43B26003F0F8FD0A4D6879400602D5C2 +:10225000E87A002808D0642009F0EFFA641CFF2017 +:10226000A4B2F5308442F0D9F0683843F060F8BD8C +:10227000C010004000340040F8B50C4D0024AA6A9C +:1022800002263243AA6203F039FF094F78794006EB +:1022900008D4642009F0D1FA641CFF20A4B2F53000 +:1022A0008442F3D9E86A3043E862F8BD8010004008 +:1022B0000038004010B5034696B000200590049009 +:1022C00009480090094801900948029014460948BD +:1022D0000A4603901946684600F030FC69462046DD +:1022E00000F00AF816B010BD0123456789ABCDEFA9 +:1022F000FEDCBA987654321030B583B00C460546F1 +:10230000082210316846FDF79DFE208AC005820E26 +:10231000382A01D2382000E07820821A0949204664 +:1023200000F0D4FB08226946204600F0CFFB1022C3 +:1023300021462846FDF786FE58212046F5F709FF7D +:1023400003B030BD20010020F0B599B002680392BF +:1023500086684568C26804910192402108AA002756 +:1023600005923B4606910499C9180A4614788C4692 +:10237000214654781B1D240221439478D2782404EA +:102380002143120611430A026146C978120A09065E +:102390000A430599BC000A5106997F1C8B42E2D37F +:1023A000019A29463140AA431143FE4A099C8B18E1 +:1023B000089A0399511859181922D14149190A4606 +:1023C00033462A408B431A43F74BD318019AA2187D +:1023D0009A181423DA41521813462C460B409443A2 +:1023E0002343F24C1B190A9CA4191B190F24E34127 +:1023F0009B181C460E4614409E433443EC4EA419D1 +:102400000B9E751964190A25EC41E41825461646F9 +:102410001D40A6433543E74EAD190C9E711869184F +:102420001925E94109190D461E4625408E433543BD +:10243000E14EAD190D9EB218AA181425EA415218A2 +:10244000154626460D4096433543DC4EAD190E9E8B +:10245000F318EB180F25EB419B181D460E4615404F +:102460009E433543D64EAD190F9E34192C190A25BB +:10247000EC41E418254616461D40A6433543D14E8F +:10248000AD19109E711869181925E94109190D46F1 +:102490001E4625408E433543CB4EAD19119EB218D2 +:1024A000AA181425EA415218154626460D409643AF +:1024B0003543C64EAD19129EF318EB180F25EB41AC +:1024C0009B181D460E4615409E433543C04EAD1920 +:1024D000139E34192C190A25EC41E418254616469A +:1024E0001D40A6433543BB4EAD19149E71186918A3 +:1024F0001925E94109190D461E4625408E433543ED +:10250000B54EAD19159EB218AA181425EA415218F5 +:10251000154626460D4096433543B04EAD19169EDE +:10252000F318EB180F25EB419B181D460E4615407E +:102530009E433543AA4EAD19179E34192C190A250E +:10254000EC41E41825461E46154096433543A54EFA +:10255000AD19099E711869181B25E94109190D4625 +:102560001D4026469E4335439F4EAD190E9EB21820 +:10257000AA181725EA41521815460E462540A643CB +:1025800035439A4EAD19139EF318EB181225EB4103 +:102590009B181D4616460D408E433543944EAD198B +:1025A000089E34192C190C25EC41E41825461E46CA +:1025B0001540964335438F4EAD190D9E711869181D +:1025C0001B25E94109190D4626461D409E4335430A +:1025D000894EAD19129EB218AA181725EA41521851 +:1025E00015460E462540A6433543844EAD19179E29 +:1025F000F318EB181225EB419B181D4616460D40AB +:102600008E4335437E4EAD190C9E34192C190C2582 +:10261000EC41E41825461E46154096433543794E55 +:10262000AD19119E711869181B25E94109190D464C +:1026300026461D409E433543734EAD19169EB21873 +:10264000AA181725EA41521815460E462540A643FA +:1026500035436E4EAD190B9EF318EB181225EB4166 +:102660009B181D4616460D408E433543684EAD19E6 +:10267000109E34192C190C25EC41E41825461E46F1 +:10268000154096433543634EAD19159E7118691870 +:102690001B25E94109190D4626461D409E43354339 +:1026A0005D4EAD190A9EB218AA181725EA415218B4 +:1026B00015460E462540A6433543584EAD190F9E8C +:1026C000F318EB181225EB419B181D4616460D40DA +:1026D0008E433543524EAD19149E34192C190C25D6 +:1026E000EC410D9DE418691825465D404D4E55405E +:1026F000AD1949191C25E941109D0919AA180D4663 +:102700006540494E5D40AD1952191525EA41139DAA +:102710005218EB1815464D40444E6540AD195B19F3 +:102720001025EB41169D9B182C191D465540404E17 +:102730004D40AD1964190925EC41099DE41869184B +:1027400025465D403B4E5540AD1949191C25E941D0 +:102750000C9D0919AA180D466540374E5D40AD190C +:1027600052191525EA410F9D5218EB1815464D4098 +:10277000324E6540AD195B191025EB41129D9B1837 +:102780002C191D4655402E4E4D40AD196419092592 +:10279000EC41159DE418691825465D40294E5540C9 +:1027A000AD1951E078A46AD756B7C7E8DB7020248A +:1027B000EECEBDC1AF0F7CF52AC68747134630A8C1 +:1027C000019546FDD8988069AFF7448BB15BFFFF58 +:1027D000BED75C892211906B937198FD8E4379A6C8 +:1027E0002108B44962251EF640B340C0515A5E2606 +:1027F000AAC7B6E95D102FD65314440281E6A1D8CA +:10280000C8FBD3E7E6CDE121D60737C3870DD5F462 +:10281000ED145A4505E9E3A9F8A3EFFCD9026F6767 +:102820008A4C2A8D4239FAFF81F6718722619D6DAB +:102830000C38E5FD44EABEA4A9CFDE4B604BBBF6E5 +:1028400070BCBFBEC67E9B2849191C25E941089D66 +:102850000919AA180D466540854E5D40AD195219FB +:102860001525EA410B9D5218EB1815464D40814E37 +:102870006540AD195B191025EB410E9D9B182C1975 +:102880001D4655407C4E4D40AD1964190925EC415B +:10289000119DE418691825465D40784E5540AD19E4 +:1028A00049191C25E941149D0919AA180D466540CE +:1028B000734E5D40AD1952191525EA41179D521806 +:1028C000EB1815464D406F4E6540AD195B1910254C +:1028D000EB410A9D9B182C191D4655404D406A4EF0 +:1028E000AD1964190925EC41089DE4186918D54310 +:1028F0002543664E5D40AD1949191A25E9410F9DE2 +:102900000919AA18DD430D43614E6540AD195219EE +:102910001625EA41169D5218EB18E54315435D4E06 +:102920004D40AD195B191125EB410D9D9B182C19DC +:10293000CD431D43584E5540AD1964190B25EC414C +:10294000149DE4186918D5432543544E5D40AD19D4 +:1029500049191A25E9410B9D0919AA18DD430D43B0 +:102960004F4E6540AD1952191625EA41129D521875 +:10297000EB18E54315434B4E4D40AD195B1911253E +:10298000EB41099D9B182C19CD431D43464E5540E4 +:10299000AD1964190B25EC41109DE4186918D54355 +:1029A0002543424E5D40AD1949191A25E941179D4D +:1029B0000919AA18DD430D433D4E6540AD19521962 +:1029C0001625EA410E9D5218EB18E5431543394E82 +:1029D0004D40AD195B191125EB41159D9B182C1924 +:1029E000CD431D43344E5540AD1964190B25EC41C0 +:1029F0000C9DE4186918D5432543304E5D40AD1950 +:102A000049191A25E941139D0919AA18DD430D43F7 +:102A10002B4E6540AD1952191625EA410A9D5218F0 +:102A2000EB18E5431543274E4D40AD195B191125B1 +:102A3000EB41119D9B182C19CD431D43224E55404F +:102A4000AD1964190B25EC410568E418691801609B +:102A50004168091941608168C9188160C168891895 +:102A6000C160402108A8F5F774FB19B0F0BD000063 +:102A7000FA27A1EA8530EFD4051D880439D0D4D9CE +:102A8000E599DBE6F87CA21F6556ACC4442229F424 +:102A900097FF2A43A72394AB39A093FCC3595B65E6 +:102AA00092CC0C8F7DF4EFFFD15D84854F7EA86FB3 +:102AB000E0E62CFE144301A3A111084E827E53F7D9 +:102AC00035F23ABDBBD2D72A91D386EBF8B516467C +:102AD000026905460F46D005F1005218800E2A61A2 +:102AE0008A42696901D2491C6961720F891869615A +:102AF00040210C1AA64219D328182246394618300C +:102B0000F5F70EFB294618312846FFF71DFC204635 +:102B10003F30B04208D239192846FFF715FC20464D +:102B200040347F30B042F6D3002000E00024281863 +:102B3000321B39191830F5F7F3FAF8BDF0B516461F +:102B4000026904460F46D005F100521891B0800E7C +:102B500022618A42616901D2491C6161720F891840 +:102B6000616140210D1AAE4220D320183A46294611 +:102B7000183001F053FB21467F1918312046FFF72A +:102B8000E3FB28463F30B0420ED23A464021684629 +:102B900001F044FB694620464037FFF7D5FB284645 +:102BA00040357F30B042F0D3002000E00025711B9B +:102BB000201889B23A46183001F030FB11B0F0BD50 +:102BC000FFB5284BFFB01A8884B0521C859D1A802F +:102BD000130AC0022B70FF306A700130020AAA701B +:102BE000E8700020287101226A71A871E8712872CA +:102BF0006872A872E87202A80C35F5F7D3FA02AE33 +:102C00003046F5F7C8FA87B22E213046F5F7B9FA03 +:102C10000090002802D0801B84B200E03C462C705B +:102C20006D1C002C11D0224631462846F5F79CFA3F +:102C300000982D19002805D0381B401E361987B280 +:102C4000761CE1E7002028706D1C0020287001210F +:102C50006970A870E97085982D1D281A7FB080B220 +:102C600008B0F0BDEC00002003E00B780370401CBE +:102C7000491C1346521E92B2002BF6D17047000039 +:102C8000174C0020A17A57250907164BA8260029C2 +:102C900005DB1D701E70A17A08221143A1721D7000 +:102CA0001E7005212181104F398803225202914361 +:102CB0003980A17A10221143A172002119700122DA +:102CC000BC79E40701D00020FAE77D242401401CF0 +:102CD000A042F5D91D701E709A711970F0E70000BE +:102CE00000100040401000402010004070B4891EC9 +:102CF0008DB20E490E4E0023002D10D9C25C5140FA +:102D00000022CC07E40F4908002C00D07140521C6F +:102D100092B2082AF5D35B1C9BB2AB42EED341556D +:102D2000090A4019417070BC70470000FFFF0000A5 +:102D300001A0000070B406460B480C4D002300298A +:102D400010D9F25C50400022C407E40F4008002C68 +:102D500000D06840521C92B2082AF5D35B1C9BB28B +:102D60008B42EED370BC7047FFFF000001A0000053 +:102D7000F0B5FF488FB041788806000F0A2874D25A +:102D800002007A44127992189744044B7C8FA9E888 +:102D9000FD6FFCFBF64C2078400840002070FCF7EB +:102DA00043FAF4486E46817845790379C2782EC695 +:102DB00043780278F0A10120FCF7A6FEED4BF94A1A +:102DC000F949FA48FCF7E0F9020004D0F84901207B +:102DD000FCF79AFEDDE2F7A10120FCF795FEFC4826 +:102DE0000221017000210170FA49C160817981716D +:102DF00001218170027804231A430270F6480160B1 +:102E000080210160F54841681E3081740A0AC2744D +:102E10000A0C0275090E41756078C3210840001D37 +:102E20007CE0EF48006A022820D2EE4910200A1800 +:102E30001378184653781B0218439378D2781B04F2 +:102E4000184312061043E54AFF2352682D33101A27 +:102E500098420AD90A74100A4874100C8874100E2B +:102E6000C874E1A10120FCF74FFE92E2C048C27D88 +:102E7000D20903D0C32211401C312EE0C3221140DD +:102E800008312AE0E048FBF75FFFD44841681E3074 +:102E900081740A0AC2740A0C0275090E4175014652 +:102EA0004878C32210401C308BE0D8490A7810467D +:102EB0004A78120210438A78C9781204104309062E +:102EC0000843C64949680A1AD1A10120FCF71CFE33 +:102ED000A748C322417811401031417059E2A44CF7 +:102EE000D0A1A21CD548FCF7D3FE012802D00228AD +:102EF00016D04EE22078012108432070C9A2D0A14B +:102F00000120FCF701FE6179207901910090E378BE +:102F1000A278D0A10120FCF7F7FDCCE0607038E288 +:102F2000D2A10120FCF7F0FD6078C3228006800E5C +:102F300010401030A94B60701978491CC9B2197043 +:102F400005293FD9217801231943217010401C30F5 +:102F50006070C9A11846FCF7D7FD1AE2B74EC94DFB +:102F6000C94C3C216846F5F7F4F802200790C748A1 +:102F700002904320C00003900A9569460E943046A3 +:102F800002E0B0E031E01EE0FCF7A0F9020003D05F +:102F900087490120FCF7B8FD8448BDA1C27B012010 +:102FA000FCF7B2FD8D4841681E3081740A0AC27474 +:102FB0000A0C0275090E417501464878C32210407B +:102FC00018304870E5E1914A1378184653781B028F +:102FD00018439378D2781B041843120610437F4A93 +:102FE0005268101A0A2845D8D3E17D48006A0228A1 +:102FF00040D35F4C1C2022181378184653781B02CC +:1030000018439378D2781B0418431206104331D02A +:10301000A3A10120FCF778FDA64D6878297800026D +:1030200008430190A448417A027A09021143001D25 +:10303000009101780B46417809020B438178C078F2 +:1030400009040B43000603431C2020180278114694 +:103050004278120211438278C078120411430006AC +:103060000143E07D01AA4007400FFCF7EDFA00287C +:1030700002D025E03E48FDE6687829780002084342 +:10308000019988421CD18DA10120FCF73DFDA07D56 +:1030900040210843A0751C2021180A7810464A7860 +:1030A000120210438A78C9781204104309060843B3 +:1030B00001D007F0E3FD6078C32108401C302DE704 +:1030C00083A10120FCF720FD444841681E30817433 +:1030D0000A0AC2740A0C0275090E41756078C32190 +:1030E000084024301AE73F4C102021180A783B4F43 +:1030F00010464A78120210438A78C97812041043A5 +:10310000090608437968081A05282FD92174080A86 +:103110006074080CA074080E664DE0746878297815 +:10312000000208430190A81E417A027A0902114365 +:10313000001D00910178A61E0B46417809020B4341 +:103140008178C07809040B43000603431C20301823 +:10315000027811464278120211438278C078120434 +:10316000114300060143F07D4007BBE011E1000080 +:10317000BA000020A40000204D4143416464722045 +:103180003A20253032582E253032582E25303258EC +:103190002E253032582E253032582E2530325820E8 +:1031A0000D0A0000B2000020AE000020AA0000209E +:1031B00070B8010043483537784E45544C69624930 +:1031C0006E697420537563636573730D0A000000A4 +:1031D0000020004000E2040000E100E09C0000202C +:1031E000AC4D0020BC000020CDF8C2E7504859D0BB +:1031F000ADC9CCCAA7B0DCA3ACC7EBBCECB2E9CD7F +:10320000F8CFDF0A000000008DEB0000CC000020AA +:103210004448435020BAC4CAB1A3BA2564306D7380 +:103220000A0000007777772E626F6F6E6C697665A3 +:103230002D7263752E636F6D00000000B9000020D1 +:10324000446F6D61696E206E616D653A2573200A69 +:10325000000000002048545450735F49503D2564DD +:103260002E25642E25642E25640A0A00444E53B38D +:10327000ACCAB10A00000000444E53CAA7B0DC201B +:103280002D200A00431F000055650100944B0020CB +:10329000536F636B65744964343A25640A00000017 +:1032A0004E4554BFAACABCB7A2CBCDCAFDBEDD0AEB +:1032B00000000000DC000020DA0000204E4554B77A +:1032C000A2CBCDCAFDBEDDB3C9B9A60A000000007D +:1032D0004E4554B7A2CBCDCAFDBEDDCAA7B0DC0AAD +:1032E00000000000400F01AAFCF7AEF9002822D12F +:1032F0006878297800020843019988421BD12BA1E4 +:103300000120FCF701FCB07D40210843B0751C2072 +:1033100031180A7810464A78120210438A78C97820 +:10332000120410430906084328D17078C3210840CD +:103330001C3070702DE0B07D0621C8410121490785 +:1033400040181A21C841B0758006400F022818D3D2 +:103350001BA10120FCF7D8FBB07DBF210840B07550 +:103360001C2031180A7810464A78120210438A78D5 +:10337000C9781204104309060843D6D007F07EFC32 +:10338000D3E778682074010A6174010CA174000EFF +:10339000E074FBF733FFFBF751FF002801D0FBF788 +:1033A00035FD04F061F80FB0F0BD00004E4554D675 +:1033B000D8B7A2CAFDBEDDB3C9B9A60A0000000095 +:1033C0004E4554D6D8B7A2CAFDBEDDCAA7B0DC0AA6 +:1033D00000000000F0B457261C228B07134DA827CD +:1033E0000A409B0F124C00282E702F7010D0080638 +:1033F00003D5E07BFD210840E073A07A1043A07262 +:103400000C48C17B1943C17300202870F0BC704781 +:10341000080603D5E07B02210843E073A07A9043BD +:10342000A0720448C17B9943EDE7000040100040C2 +:103430000010004020100040F0B406460020044672 +:1034400005460B78491C002C00D1401C1F06BF0FFD +:10345000032F0AD1002C00D1401C9B0609789B0C3D +:103460009B19C91801240B78491C002B12D0002C81 +:1034700000D1C0185B1E9BB20F7817701F465B1EF1 +:10348000491C521C9BB2002FF6D12E231370521CE4 +:103490006D1CD6E7002D02D12E211170521C002187 +:1034A0001170F0BC70470000F8B5FF4C0C202018DC +:1034B0000278FC4E114642787378120211438278EA +:1034C000C078120411430006014310202218177817 +:1034D000F64D384657783F0238439778D2783F0404 +:1034E000384312061043002B04D0062B7ED0002058 +:1034F0007070F8BD814246D000F093FF0246ECA107 +:103500000020FCF73FFB1020201801780A46417884 +:1035100009020A438178C07809040A43000602437D +:10352000102028180378194643781B021943837822 +:10353000C0781B04194300060143012004F0CCFDB0 +:10354000102021180A7810464A78120210438A780F +:10355000C978120410430906084301218902401862 +:103560002074010A6174010CA174010EE174D84940 +:10357000884208D9492040032074010A6174010C73 +:10358000A174000EE0742279E07911466279000698 +:1035900012021143A2791204114301430820221898 +:1035A0001378184653781B0218439378D2781B047B +:1035B000184312061043814260D000F032FF0746E4 +:1035C000082021180A7810464A78120210438A7897 +:1035D000C9781204104309060843801C00F0D0FE8D +:1035E0002873010A6973010CA97300E097E0000ECB +:1035F000FF21E131E8738F4200D90F46B5480068DA +:103600002872010A6972010CA972000EE872082082 +:103610002018027811464278120211438278C0784D +:1036200012041143000601433A460120C91CFEF76B +:103630003BFD06207070082021180A7810464A7851 +:10364000120210438A78C97812041043090608430D +:103650000121890240182072010A6172010CA172D5 +:10366000010EE1729C49884208D993200003207220 +:10367000010A6172010CA172000EE0722A78E978E9 +:1036800010466A78090612021043AA78914C120477 +:103690001043084321682A790B1A10466A79E979A0 +:1036A00012021043AA790906120410430843834208 +:1036B00000D81EE789A10020FCF764FA2068287072 +:1036C000010A6970010CA970000EE87001203070C9 +:1036D000102028180278114642781202114382788D +:1036E000C07812041143000601434B20C0018142FF +:1036F000DFD02874010A6974010CA974010EE97401 +:1037000014216A181378194653781B0219439378C9 +:10371000D2781B041943120611438847F8BD814231 +:1037200047D000F07EFE024661A10020FCF72AFA95 +:103730001020201801780A46417809020A4381784E +:10374000C07809040A43000602437048037819460A +:1037500043781B0219438378C0781B041943000681 +:103760000143012004F0B8FC0020707010202118E3 +:103770000A7810464A78120210438A78C9781204EF +:103780001043090608430121890240182074010AE8 +:103790006174010CA174010EE1744D49884208D98D +:1037A000492040032074010A6174010CA174000EC9 +:1037B000E0742279E0791146627900061202114321 +:1037C000A2791204114301430820221813781846E5 +:1037D00053781B0218439378D2781B0418431206BF +:1037E000104381425CD000F01CFE074608202118DF +:1037F0000A7810464A78120210438A78C97812046F +:10380000104309060843801C00F0BAFD2873010A22 +:103810006973010CA973000EFF21E131E8738F4237 +:1038200000D90F462B4800682872010A6972010C02 +:10383000A972000EE872082020180278114642781A +:10384000120211438278C07812041143000601432A +:103850003A460120C91CFEF727FC0620707008209C +:1038600021180A7810464A78120210438A78C978DB +:1038700012041043090608430121890240182072EE +:10388000010A6172010CA172010EE17212498842B3 +:1038900041D9932000032072010A6172010C37E0C4 +:1038A00039E00000CB290020A60A0020CD29002005 +:1038B000554152543220646174615F6C656E203AE8 +:1038C0002564202C52585F4275666665723A000086 +:1038D000FF2F090014000020FF3F0900506F6C6C9F +:1038E0003438355F496E666F20506F72745F4E6F6B +:1038F000726D616C5F4D6F6465206D6F64655F6FA5 +:10390000757474696D65200D0A000000A4290020FB +:10391000A172000EE072082029180A7810464A7831 +:10392000120210438A78C97812041043090608432A +:103930000B4909680B1A0C2029180A7810464A7896 +:10394000120210438A78C97812041043090608430A +:10395000834200D8E2E604F06DFB00207070F8BDF1 +:1039600014000020F8B557260C4C0021A8270C4D58 +:103970000028267027700ED0012068712871002061 +:103980002070012007F059FF267027700D20287144 +:1039900000202070F8BD29712170F8BD4010004052 +:1039A0002010004010B5124C206C00281CD111A032 +:1039B00004F0EAFFA06B81002046803841580029BE +:1039C00001D0002010BDA26B012192008150A06B9C +:1039D0000C4A128850430C4A82180C488281C279E2 +:1039E00004231A43C2712164206CC0B210BD0000D0 +:1039F0003455002051756172794574685278446D70 +:103A0000610D0A00F04D0020902B00200090004036 +:103A100001480079704700006801002070B5044635 +:103A200000201849207009786170F221A170E070BF +:103A30000E2626716071A0711320134DE071A879D4 +:103A4000FCF7B4FE20726879FCF7B0FE607228794A +:103A5000FCF7ACFEA072A878FCF7A8FEE0726878CC +:103A6000FCF7A4FE20732878FCF7A0FE6073E878CA +:103A7000FCF79CFEA07331462046FBF7E1FEA071E7 +:103A8000304670BD062A00202800002010B5042111 +:103A90008C012046FCF754FD0949CB684A151343B5 +:103AA000CB60C8682043C86000BF00BF886810436F +:103AB000886000BF00BFC8681043C86010BD000028 +:103AC000C010004001090A2200075143000F0818E6 +:103AD000C0B2704770B504218C012046FCF730FD60 +:103AE0000421CD012846FCF72BFD054988682043B9 +:103AF0008860886828438860024804F0A4FF70BD8D +:103B0000C01000402800002010B504218C01204680 +:103B1000FCF716FD0949CB684A151343CB6088684A +:103B20002043886000BF00BF88681043886000BFE2 +:103B300000BFC8681043C86010BD0000C01000403E +:103B400010B5044600F08AF8652000F05BF800F03C +:103B5000E1F8002828D000F02BF82070FFF796FF3E +:103B600000F026F86070FFF791FF00F021F84006A2 +:103B7000400EA070FFF78AFF00F01AF8E070FFF720 +:103B800085FF00F015F82071FFF780FF00F010F8B6 +:103B90006071FFF77BFF00F00BF8A071FFF7B4FF37 +:103BA00000F07CF8012010BD00F078F8002010BD76 +:103BB00070B501210D0200242846FCF7C1FC104914 +:103BC00088682843886007204A1501236406CD6869 +:103BD000240E1543CD6000BF00BF8D6815438D6076 +:103BE00000BF00BF4D68ED0500D51C430546401ED3 +:103BF000C0B2002DEAD1C8681043C860204670BD2D +:103C0000C010004070B5042104468D012846FCF721 +:103C100097FC114807214315C2681A43C26000BFD0 +:103C200000BF220603D582682A43826002E0C26890 +:103C30002A43C2606206140E00BF00BF82681A43A6 +:103C4000826000BF00BF0A46491EC9B2002AE3D104 +:103C5000C1681943C16070BDC010004010B5042197 +:103C60008C012046FCF76CFC00BF00BF0A49886845 +:103C7000204388608B684A1513438B6000BF00BFE8 +:103C8000C8682043C86000BF00BFC8681043C86050 +:103C900000BF00BF10BD0000C010004010B50421DF +:103CA0008C012046FCF74CFC0949C8682043C860D9 +:103CB000C8684A151043C86000BF00BF8868104339 +:103CC000886000BF00BF88682043886010BD000086 +:103CD000C01000400B480C4900680A687D23821A16 +:103CE000DB009A420DD370B5084D6C780860284609 +:103CF000FFF726FF6878A04202D00549002008603F +:103D000070BD704710000020240000202800002013 +:103D10001800002070B50C4CE06866153043E06078 +:103D200001210D022846FCF70BFCA1682943A16084 +:103D300000BF00BFA0683043A0606068E068304307 +:103D4000E060012070BD0000C010004013B500F01D +:103D50006EF8FFF783FF6420FFF754FFFFF7DAFFE9 +:103D6000002837D00020FFF74DFFFFF7D3FF68464C +:103D70000078FFF747FFFFF7CDFF68464078FFF771 +:103D800041FFFFF7C7FF6846807880210843FFF7AF +:103D900039FFFFF7BFFF6846C078FFF733FFFFF733 +:103DA000B9FF68460079FFF72DFFFFF7B3FF6846BC +:103DB0004079FFF727FFFFF7ADFF68468079FFF7EF +:103DC00021FFFFF7A7FFFFF769FF00F021F80120AF +:103DD00002B010BDFFF762FF002002B010BD70B549 +:103DE00014460D460646FFF739FF3046FFF70AFF37 +:103DF000FFF790FF2846FFF705FFFFF78BFF2046F0 +:103E0000FFF700FFFFF786FFFFF748FF012070BDB7 +:103E100010B500220F216420FFF7E1FF002805D034 +:103E2000002210216420FFF7DAFF012010BD10B539 +:103E3000802210216420FFF7D2FF002805D08422C1 +:103E40000F216420FFF7CBFF012010BDC006C00E7C +:103E500020210843014908710888704720900040DC +:103E600030B5FF24C1B0013421466846F4F771F93A +:103E700021466846F4F76DF91125ED032A462146DF +:103E80006846FCF7A9F92A462146684600F0F4F98D +:103E900041B030BDF8B50C4E0025B46911E02046A4 +:103EA000FEF7BCF8204609F09BFDE068002D01D02C +:103EB000E86000E0B06121460220E76807F0CAFF31 +:103EC0003C46002CEBD1F8BD98010020F0B5FF2650 +:103ED000C1B00136002531466846F4F73AF90024AE +:103EE00031466846F4F735F91122D2033146684667 +:103EF000FCF772F90C4F6E46E01900F041FA315DA3 +:103F0000814202D06D1C3055EDB2641CA4B2FF2C6E +:103F1000F2D9002D06D01122FF21D20301316846CB +:103F2000FCF7ACF941B0F0BD00E808000346002002 +:103F300010B40246002906D99C5C521C2018D2B24B +:103F4000C0B28A42F8D310BC7047F8B500250E46BF +:103F500007462C46002908D9381900F011FA4019F3 +:103F6000641CE4B2C5B2B442F6D32846F8BD0000E2 +:103F700010B41349F722202300280DD0DF24012894 +:103F800010D00822022815D0032811D10878104338 +:103F90000870487820400AE0087810400870487897 +:103FA000184304E0087810400870487820404870B2 +:103FB00010BC704708781043087048781843F6E73B +:103FC0000040004010B4114A1378102423431370AA +:103FD00010834018908391810920907150780121BD +:103FE000084350700A480B49006808609179C90776 +:103FF00005D1001A642802D89179C907FAD05078FF +:1040000040084000507010BC704700000040004065 +:104010000C0000201C00002010B4114A1378EF247B +:104020002340137010834018908391810920907170 +:1040300050780121084350700A480B490068086015 +:104040009179C90705D1001A642802D89179C90766 +:10405000FAD0507840084000507010BC7047000003 +:10406000004000400C0000201C00002007480421F4 +:10407000C17002210170602101704178102211434A +:104080004170417849084900417070470040004044 +:1040900070B4104A137810242343137091810123C4 +:1040A00093710D4B0D4C1D682560002910D0D579FA +:1040B000002D06D0157C0570491E1D6889B2401C74 +:1040C00025601D682668AD1B642D01D80029EED13E +:1040D00070BC7047004000400C0000201C00002015 +:1040E0000A480178EF2211400170FF21017108494F +:1040F000084A096811608279520605D4491A642970 +:1041000002D882795206FAD5007970470040004003 +:104110000C0000201C00002009490A78EF231A40F7 +:104120000A7008710748084A006810608A795206C8 +:1041300005D4001A642802D88A795206FAD5704745 +:10414000004000400C0000201C00002030B4134B45 +:104150001A78EF2422401A70998101229A71104A2C +:10416000104C1268226000290DD0DD79082D05D28F +:1041700005781D74491E89B2401C2260951A642D71 +:1041800001D80029F1D1D879002805D0901A6428E7 +:1041900002D8D9790029FAD130BC704700400040DC +:1041A0000C0000201C00002070B5094CA06AA5146A +:1041B0002843A062072003210003FCF78BF9FFF7D7 +:1041C00055FF0120FFF7D4FEA06A2843A06270BD0E +:1041D00080100040F3B50F4C0F4E002581B00F4604 +:1041E000002913D90198401900F0CAF84440002072 +:1041F000E107C90F6408002900D07440401C80B258 +:104200000828F5D36D1CADB2BD42EBD3204603B0F8 +:10421000F0BD0000FFFF000001A00000F7B582B074 +:10422000D0B200901004060E1002000E01900D4650 +:1042300001205119C00581421AD20E4CE06AA71420 +:104240003843E0620320FFF767FF0198FFF764FF40 +:104250003046FFF761FF0098FFF75EFF294602989E +:10426000FFF7B0FEA06A3843A062642007F0E5FAC9 +:1042700005B0F0BD80100040F7B582B0D0B200901C +:104280001004060E1002000E01900D460120511977 +:10429000C00581421AD20E4CE06AA7143843E0628E +:1042A0000220FFF739FF0198FFF736FF3046FFF78E +:1042B00033FF0098FFF730FF29460298FFF7ACFE66 +:1042C000A06A3843A062642007F0B7FA05B0F0BDD9 +:1042D0008010004010B50D4800F052F804020C4860 +:1042E00000F04EF8044324020A4800F049F8044361 +:1042F0002402094800F044F808492043FF224118ED +:104300005201914200D3064810BD00000700090089 +:10431000060009000500090004000900E0FFF6FF9F +:1043200020000900F7B582B0D0B200901004060E4C +:104330001002000E01900D4601205119C005814266 +:104340001AD20E4CE06AA7143843E0620320FFF74C +:10435000E3FE0198FFF7E0FE3046FFF7DDFE009830 +:10436000FFF7DAFE29460298FFF792FEA06A38436B +:10437000A062642007F061FA05B0F0BD8010004033 +:10438000F8B501040E0E0102090E00910121C905C4 +:10439000C5B2884201D30020F8BD154CE06AA714CD +:1043A0003843E0620320FFF7B7FE0098FFF7B4FE42 +:1043B0003046FFF7B1FE2846FFF7AEFEFFF790FE4E +:1043C0000546A06A3843A062FF2D0CD10949486810 +:1043D00002070820002A03DB8A6802438A6002E0A1 +:1043E000CA680243CA60642007F027FA2846F8BD6D +:1043F00080100040C010004070B50446C01CFFF79C +:10440000BFFF0502A01CFFF7BBFF28430502601C8D +:10441000FFF7B6FF284305022046FFF7B1FF284308 +:1044200070BD70B50546401CFFF7AAFF0402284680 +:10443000FFF7A6FF204370BD10B504460C48FF21CE +:1044400020184901884200D30A4C0B49E0B200F021 +:1044500099F82004000E094900F094F82002000E9B +:10446000074900F08FF8200E064900F08BF810BDC8 +:10447000E0FFF6FF2000090010000900110009000C +:10448000120009001300090010B504460C48FF2172 +:1044900020184901884200D30A4C0B49E0B200F0D1 +:1044A00071F82004000E094900F06CF82002000E9B +:1044B000074900F067F8200E064900F063F810BDC8 +:1044C000E0FFF6FF200009000C0009000D000900C4 +:1044D0000E0009000F00090010B504460C48FF212A +:1044E00020184901884200D30A4C0B49E0B200F081 +:1044F00049F82004000E094900F044F82002000E9B +:10450000074900F03FF8200E064900F03BF810BDC7 +:10451000E0FFF6FF20000900040009000500090083 +:104520000600090007000900F7B582B0D0B200907C +:104530001004060E1002000E01900D4601205119C4 +:10454000C00581421AD20E4CE06AA7143843E062DB +:104550000220FFF7E1FD0198FFF7DEFD3046FFF78F +:10456000DBFD0098FFF7D8FD29460298FFF7EEFD26 +:10457000A06A3843A062642007F05FF905B0F0BD7F +:1045800080100040F3B5080481B0000E00900802CE +:10459000060E0120C005CDB2814219D20D4CE06A51 +:1045A000A7143843E0620220FFF7B6FD3046FFF75C +:1045B000B3FD0098FFF7B0FD2846FFF7ADFD019869 +:1045C000FFF7AAFDA06A3843A062642007F035F91E +:1045D00003B0F0BD8010004070B504460D46C0B277 +:1045E000FFF7D0FF2004000E691CFFF7CBFF20026D +:1045F000000EA91CFFF7C6FF200EE91CFFF7C2FF43 +:1046000070BD70B504460D46C0B2FFF7BBFF200A6F +:10461000691CFFF7B7FF70BD054857210170A8213D +:10462000017081790122114381710021017070476D +:104630004010004038B5064C002061680091606071 +:104640006946204606F0AEF90098606038BD00006B +:10465000284E002043490D2846D202007A441279A0 +:104660009218974406132029313A424A525B636CF0 +:10467000750057200870A82008703B48C27BFB23B8 +:104680001A40C273394AC820108168E05720087068 +:10469000A82008703448C27B04231A43C273334AEB +:1046A000C82010815BE057200870A82008705120B6 +:1046B0002E4AC000108152E057200870A8200870D0 +:1046C0002A4A2B4810814AE057200870A820087019 +:1046D0008120264A8000108141E057200870A820E0 +:1046E0000870224A8820108139E057200870A820DD +:1046F00008701E4A0220108131E057200870A8205F +:1047000008701A4A0420108129E057200870A82058 +:1047100008709320154A8000108120E0572008700F +:10472000A8200870114A1348108118E0572008701B +:10473000A820087095200D4A800010810FE05720B6 +:104740000870A82008704B20084AC000108106E0BD +:1047500057200870A8200870044A074810810020DC +:1047600008707047401000402010004000100040CA +:10477000020200004F0200005E02000010B5044675 +:104780000D48FF2120184901884200D30B4C092114 +:10479000E0B20904FFF7F6FE2004000E0849FFF717 +:1047A000F1FE2002000E0749FFF7ECFE200E06493D +:1047B000FFF7E8FE10BD0000E0FFF6FF2000090053 +:1047C00001000900020009000300090010B4124CA6 +:1047D000E1235B0206220019994206D10270110AF8 +:1047E0004170110C8170110E12E07D231B03994260 +:1047F00008D10270110A4170110C8170110EC17044 +:1048000010BC704714210170002242708270114662 +:10481000C17010BC704700000304000030B587B0C1 +:1048200000251D4C039504951A48059520620C3807 +:104830006062001DA062001DE06206F0B9FF042264 +:1048400003A8616AF3F76CFC042204A8E16AF3F799 +:1048500067FC042205A8A16AF3F762FC06220F4850 +:10486000216AF3F75DFC0E4805600E4805600B48B1 +:104870002B3807F067FB0C4802900C490748019160 +:1048800005AB04AA009503A92B3807F023FB07B05A +:1048900030BD0000B84D0020F0010020534E002034 +:1048A000900100209401002045AA0100A9AA01005E +:1048B000FFB504690546C168601E81B00F180398F2 +:1048C00000264068417802780802104307F0B2FBE6 +:1048D0000005000F80004142039807F0A1FD002869 +:1048E00002D0002005B0F0BD0398002834D0002C81 +:1048F0000CD0E868002809D00398428941689319D0 +:1049000012199EB2BA4212D900220CE0039807F0A5 +:1049100065FD21E00B782370491C641CBC4200D962 +:10492000AC68521C92B243899342F3D80AE0002249 +:1049300005E00B78521C2370491C92B2641C438919 +:104940009342F6D800680028D7D1039807F046FDB7 +:10495000A8692C618019A8610120C3E7F7B53C2143 +:1049600048432F490025146884B040181560164646 +:104970000290002C14D00598002811D00298006BEA +:1049800003902848006C800700D4C7256D1CADB289 +:10499000C82D40D8B920C000844204D9009004E05A +:1049A0001A2007B0F0BD2046009481B200221046C4 +:1049B00007F0E6FB070030D07868009A0599F3F716 +:1049C000AFFB18490020C8633946039807F090FEF2 +:1049D0000190384607F002FD1248C06B002802D152 +:1049E000019800280DDA0020306040210298FAF783 +:1049F000B3FE0198002802DAFBF73CFBD1E7FA206E +:104A0000CFE7316800980818306000990598401881 +:104A10000590641ABAD10020C3E71120C1E7000055 +:104A2000F0340020AC4D0020F7B50025146882B0AA +:104A300017462E461560002C15D00399002912D078 +:104A40003C21484337494018006B01903648006CC0 +:104A5000800700D4C726761CB6B2C82E06D938689F +:104A6000002850D156E01A2005B0F0BD0198007C16 +:104A7000042801D01720F7E72B48006C800701D5E8 +:104A8000FAF7BCFB01984030C08D0090002807D099 +:104A9000254D4435287CC00704D10098844201D9B3 +:104AA0001120E1E70098844200D8009468680099DA +:104AB000884200D20090019808F080FD1A484430E6 +:104AC000007CC007009802D082B2012301E082B2CC +:104AD0000023039901980AF037F8050005D0681CF7 +:104AE00001981BD008F06AFD14E0019808F066FDFB +:104AF00005463968009808183860009903984018EE +:104B00000390641A01D10020AEE707484430007CCE +:104B1000C007A0D12846FBF7ADFAA5E708F04EFD87 +:104B2000F3E70000F0340020AC4D0020FFB505464F +:104B30000469C068611E4718A96B002681B09446BD +:104B4000002902D0AC68611E4718110006D0002C65 +:104B500001D0002804D1084607F040FC05B0F0BDA4 +:104B60004B8948689A1996B21A19BA420ED900238D +:104B700008E002782270401C641CBC4200D9AC687A +:104B80005B1C9BB24A899A42F3D80AE0002305E0F5 +:104B900002785B1C2270401C9BB2641C4A899A42BA +:104BA000F6D809680029DBD101200003864200D92C +:104BB0000646604607F012FCAF6B002F0DD004983C +:104BC000F3F7F9FA00960146AB6828460A9AB84707 +:104BD0000020A861A8682861C0E7A8692C61801935 +:104BE000A861BBE7F7B50025146884B016461560C8 +:104BF000002C17D00599002914D03C21484327499F +:104C00004018006B02902648006C800700D4C7252E +:104C10006D1CADB2C82D3CD817208001844204D34E +:104C2000009004E01A2007B0F0BD2046009481B245 +:104C30000022104607F0A4FA07002CD07868009AEA +:104C40000599F3F76DFA16490020C86339460298B2 +:104C50000AF0C0F90190384607F0C0FB1048C06B5D +:104C6000002802D10198002809DA0020306001985C +:104C7000002802DAFBF7FEF9D5E7FA20D3E731681E +:104C80000098081830600099059840180590641A3B +:104C9000BED10020C7E71120C5E70000F034002096 +:104CA000AC4D0020F8B5044608460D460830FFF725 +:104CB00067FBFAF769FEFF21090400048F430840EF +:104CC000074328460930FFF75BFBFAF75DFEFF213B +:104CD000090200028F430840074328460A30FFF7C5 +:104CE0004FFBFAF751FE3F0A3F02074328460B30BD +:104CF000FFF746FBFAF748FEFF21090400048E4344 +:104D00000840064328460C30FFF73AFBFAF73CFE12 +:104D1000FF21090200028E430840064328460D3059 +:104D2000FFF72EFBFAF730FE360A36020643284616 +:104D30000E30FFF725FBFAF727FE01463002000A86 +:104D4000090608433946FFF701F8024600200A49E0 +:104D5000207009786170F221A1700925E070257139 +:104D60006071A0711320E071227229462046FAF783 +:104D700067FDA0712846F8BD062A00200F4841684B +:104D8000491C41600178491CC9B201700A2913D13C +:104D90000022027081687D23491C81600169DB006B +:104DA000491C01614188491C89B24180994203D163 +:104DB0004280C168491CC1607047000008000020A3 +:104DC00010B5084857210170A821017051200649EB +:104DD000C00008810A2006F030FD0120FEF7C2FD68 +:104DE00010BD00004010004000100040F3B5274CFB +:104DF0000127E0682146007D254D0007830F232011 +:104E00000001F3260A6981B0012B05D0022B1AD1CB +:104E1000E770002A19D01FE0E770002A06D1074684 +:104E200006F0DEFE39462061F3F793F919A101205F +:104E3000FAF7A8FEA87B029A0199FBF7A5FDE068A6 +:104E4000017D3140017503B0F0BD074606F0C8FE94 +:104E500039462061F3F77DF9E068A03041790079A7 +:104E60000A02024311A10120FAF78CFEE068A0308B +:104E7000417900790A020243A87B0199FBF7D2FC31 +:104E8000E068017D3140017503B0F0BDF8000020FD +:104E9000AA00002054465450BBD8B8B4D0B4CEC4F5 +:104EA000BCFED6B8C1EE2E2E2E200A005446545019 +:104EB000B6C1CEC4BCFED6B8C1EEB7A2CBCD207071 +:104EC0006F72743A25642E2E2E200A00F8B54078B1 +:104ED0001A4E1B4F1D46144602280ED0062825D117 +:104EE00018A10120FAF74EFEF8680C22017D11434B +:104EF0000175386900281AD008E0F868F322017DAE +:104F00001140091D01753869002810D023210901BD +:104F1000F3F71FF90948217881716178C171A1788F +:104F20000172E17841723573280A7073F8BD23204D +:104F3000000106F055FE3861E8E70000BA000020E5 +:104F4000F8000020BDD3CAD5B5BDD0B4C8D5D6BEF3 +:104F5000C7EBC7F3BBD8B8B42D2D2D0A0000000055 +:104F600010B5447882B0032C07D0042C03D109A1DA +:104F70000120FAF707FE02B010BD019300928BB238 +:104F800002460A490A48897B0069FBF745FE02B0E0 +:104F900010BD000054465450B5C441434B2CB4CB13 +:104FA000B4A6CAC7D0B4C8D5D6BE0A00AA0000208D +:104FB000F8000020FFB516460B041C0E120AC8B2FA +:104FC0001202FF2302431B029A43A4462302FF243A +:104FD000240223401A430B0224021B0EA243FF2784 +:104FE0001C043F043C402243090E140283B00A060D +:104FF000240A0091144301460C9D6246019665A067 +:1050000003F0C2FC6A482A46417B6AA003F0BCFC5C +:105010000027002D07D90698C15D6DA003F0B4FCF0 +:105020007F1CAF42F7D36CA003F0AEFC06986B4F29 +:1050300040786B4D02285FD006287DD008240528D3 +:105040007BD0042856D1286966A1FF30FF3002309A +:1050500042690120FAF796FD0620A8702869EB68DE +:10506000FF30FF3002304169587C1A7C0002104347 +:1050700081423FD118205B1C1818027811464278F3 +:10508000120211438278C0781204114300060143D2 +:105090001C201A1816783046567836023043967817 +:1050A000D2783604304312061043814222D11420B4 +:1050B00019180A7810464A78120210438A78C9787B +:1050C0001204104309060843FFF706FAE8681421A2 +:1050D000401C401801780A46417809020A43817849 +:1050E000C07809040A430006024344A10120FAF7EC +:1050F00049FDAC7007B0F0BDE868F322017D1140B6 +:10510000091D01752869002804D12320000106F03B +:1051100067FD286123210901F3F71BF82F482104BB +:105120008471090EC1712102090E0172210E4172B2 +:105130003E73300A787301E002E026E007B0F0BD6C +:1051400039A10120FAF71EFDE8680C22017D114308 +:1051500001752869002804D12320000106F040FDD4 +:10516000286123210901F2F7F4FF1C48210484710E +:10517000090EC1712102090E0172210E41723E73A6 +:10518000300A78730620A870D5E72EA10120FAF71F +:10519000F9FCAEE769703A25642E25642E25642E4D +:1051A00025642C20706F72743A25640A0000000098 +:1051B000AA000020536F636B65742564206C656ED4 +:1051C0003A256C64202C5265636976653A200000AC +:1051D00025303258200000000A000000BA000020EC +:1051E000F8000020544654505F41434B20426C6FFE +:1051F000636B3A25642D2D2D0A0000004C4F47208B +:10520000446174612053656E6420436F6D706C65FA +:105210007465202C20616464723A2530385821214D +:105220002121210A00000000BDD3CAD5B5BDD0B4EC +:10523000C8D5D6BEC7EBC7F3BBD8B8B42D2D2D0A41 +:1052400000000000544654505F4552524F52202DEA +:105250002D2D0A00F3B5944C85B0E068002805D0E8 +:10526000232520692D01002803D006E0012007B086 +:10527000F0BD284606F0B4FC20612946F2F769FF2C +:10528000FFF728F8E26814211346521C55182E78AF +:1052900031466E7836023143AE78ED7836043143CC +:1052A0002D062943814208D9081A1076010A517641 +:1052B000010C9176000ED0760DE081427ED27B4DBE +:1052C000281A40187A4940181076010A5176010CC4 +:1052D0009176000ED076182011180A7810464A7878 +:1052E000120210438A78C978120410430906084351 +:1052F000C101090C0A0A19745A74C00503D0491C6B +:105300001974080A5874FBF7B9F9E1680246487C39 +:105310000B7C0002184300901820491C09180878DB +:105320004D78034688782D022B4300040343C87848 +:1053300060A1000603430120FAF724FC2069002540 +:10534000457002218170C11DFF31FA318A68401C0D +:10535000921C8A60634994460F784E788B780A795C +:1053600004970396029301924A7900928B796044E4 +:105370005DA2282103F018FB2169CB1DFF330A46EB +:10538000FA339968521C4018411C99608554412198 +:105390002069C9000958401C08185EA20A2103F0C0 +:1053A00003FB2169CB1DFF330A46FA339968401885 +:1053B000411C521C99608554412100E070E0206935 +:1053C000C9000958401C081854A20A2103F0ECFA3D +:1053D0002169CB1DFF330A46FA339968521C4018E5 +:1053E000411C9960855441212069C9000958401C1D +:1053F00008184CA20A2103F0D7FA2169CB1DFF330C +:105400000A46FA339968521C4018411C9960855429 +:1054100041212069C9000958401C081842A20A21EC +:1054200003F0C2FA2169CB1DFF330A46FA339968AB +:10543000521C4018461C9E608554E0681821401C90 +:10544000401801783AA20B46417809020B43817853 +:10545000C07809040B430006034341212069C900B9 +:105460000958401C08180A2103F09EFA2169CB1D37 +:10547000FF330A46FA339968521C4018411C996060 +:1054800085540698412280B2009021692948D200B3 +:105490008A18407B059B491CFAF7D6F807B0F0BD87 +:1054A000F02007B0F0BD0000F8000020FF1F090049 +:1054B000E0FFF6FF5352414D203A20253038582066 +:1054C0002C205446545020474554204C4F472053DD +:1054D000495A453A2564202C20426C6F636B3A256B +:1054E000640D0A002800002043315F4C4F475F32B3 +:1054F00030253032585F253032585F253032585FC2 +:10550000253032585F253032585F253032582E749E +:10551000787400006F63746574000000626C6B73D4 +:10552000697A6500353132007473697A650000006C +:1055300025640000AA00002010B50A20FAF7EAF856 +:1055400004488179FF221143817103484168491C55 +:10555000416010BD002000409C00002070B5002577 +:105560000C46292878D201007944097949188F44DA +:10557000731425364758699A779A9A7F9A878F9B32 +:10558000A7B3C29A9AD1EFFAECEBEAE9E8E7E6E5CD +:10559000E4E3E2E1E0DFDEDDDC0004212020FAF7D5 +:1055A00099FFD348012C04D0C16A20221143C16263 +:1055B0009BE1816A20221143816296E1042110203F +:1055C000FAF788FFCA48012C04D0C16A102211439F +:1055D000C1628AE1816A10221143816285E104215E +:1055E0004020FAF777FFC248012C04D0C16A40225C +:1055F0001143C16279E1816A40221143816274E101 +:1056000004210120FAF766FFB948012C04D0C16AD1 +:1056100001221143C16268E1816A01221143816262 +:1056200063E104210220FAF755FFB148012C04D0B0 +:10563000C16A02221143C16257E1816A0222114309 +:10564000816252E104210846FAF744FFA848012C80 +:1056500003D0C16A042257E046E1816A042257E080 +:1056600004214E023046FAF735FF012C3FD03AE0D4 +:1056700004218E033046FAF763FF012C27D00EE099 +:1056800004218E013046FAF75BFF012C1FD006E0A3 +:105690000421CE033046FAF753FF012C17D095486A +:1056A000C1683143C16020E10421CE013046FAF7E0 +:1056B00011FF012C1BD016E0816216E1C16214E1DA +:1056C0000421CE013046FAF73BFF012C29D189484D +:1056D00081683143816008E104218E013046FAF788 +:1056E000F9FE012C03D08248C16A3143E6E78048C5 +:1056F000816A3143E0E704218020FAF7EBFE7C4821 +:10570000012C03D0C16A80221143D7E7816A80222D +:105710001143D1E704218E043046FAF711FF012C22 +:105720001DD07448C16831434CE0D5E0CCE0C3E003 +:10573000BAE0B1E0A8E09AE08CE07DE06CE05EE0E9 +:105740004FE041E02FE026E01DE014E00BE0FFE732 +:105750000421CE043046FAF7F3FE012CE1D165486E +:10576000816831432CE004214E043046FAF7E8FE0C +:10577000012CF4D0D5E704210E053046FAF7E0FEFF +:10578000012CECD0CDE704210E043046FAF7D8FE08 +:10579000012CE4D0C5E704214E053046FAF7D0FECF +:1057A000012CDCD0BDE704210120FAF7C9FE5148E5 +:1057B000012C02D0C16801221CE081680122114342 +:1057C000816092E0C16090E004210846FAF7B8FEDB +:1057D0004848012C02D0C16804220BE081680422F1 +:1057E00036E004210220FAF7ABFE4248012C03D038 +:1057F000C16802221143E5E78168022228E0042102 +:105800000820FAF79DFE3B48012C02D0C16808220F +:10581000F0E7816808221BE004212020FAF790FEBF +:10582000012C03D03348C1682022E3E7314988685E +:1058300020221043886058E004211020FAF780FEEF +:105840002C48012C02D0C1681022D3E781681022B5 +:105850001143B5E704218020FAF772FE2548012C98 +:1058600002D0C1688022C5E781688022F0E7042168 +:105870004020FAF765FE1F48012C02D0C168402283 +:10588000B8E781684022E3E704214E023046FAF788 +:1058900057FE012C85D044E704210E023046FAF76A +:1058A0004FFE012CF6D03CE70421CE023046FAF739 +:1058B00047FE012CEED034E704218E023046FAF781 +:1058C0003FFE012CE6D02CE704214E033046FAF7C8 +:1058D00037FE012CDED024E704210E033046FAF710 +:1058E0002FFE012CD6D01CE7F025284670BD000005 +:1058F00080100040C010004010B50446FAF756FE74 +:105900000A214843C0082146F2F7E0FB0A21401D66 +:10591000F2F7DCFB0149888110BD00000030004037 +:1059200003498A789206920E800102438A7070477A +:1059300000300040064A0028507806D008435070D6 +:1059400010780821084310707047884350707047E2 +:105950000030004010B51C4908790007000F0428EA +:1059600004D02EDD06282DD00C282AD1887A174C99 +:1059700061782278090211430818012189028842BE +:1059800002D3002020706070607821780002084304 +:105990000F49401800F0E2F86178227809021143BB +:1059A00008182070000A60700A480B4900680871E6 +:1059B000020A4A71020C8A71000EC871074901205F +:1059C000087010BD487910BD0030004085060020E9 +:1059D000850200201000002087060020840200209D +:1059E000F8B5574E307801287ED1564C2279E179AE +:1059F00010466279090612021043A2792378120434 +:105A0000104308435049E278096812060D1A1846F7 +:105A100063781B021843A3781B0418431043854284 +:105A200062D92171080A6071080CA071080E474AFA +:105A3000E0715079464DC10768782B780002184311 +:105A40000027002917D0917A41181015814202D3FE +:105A50002F70380A687068782978000208433D4939 +:105A6000401800F07BF869782A7809021143081879 +:105A70002870000A61E01021377062181378C0B2F4 +:105A8000194653781B0219439378D2781B041943A3 +:105A900012061143FEF776FD1020201802781146F9 +:105AA0004278120211438278C07812041143000632 +:105AB000014368782A7800021043000A491CFEF767 +:105AC00061FD1020201801782B780A4641780902E0 +:105AD0000A438178C07809040A43000602436878C3 +:105AE00001021943701C00E028E0921CFEF71CFD27 +:105AF000102021180A7810464A78120210438A783A +:105B0000C97812041043090608430121890240188C +:105B10002074010A6174010CA174010EE1740E4934 +:105B2000884208D9092000042074010A6174010C1C +:105B3000A174000EE0742F70380A6870F8BD000080 +:105B40008402002087060020100000200030004062 +:105B50008506002085020020FF0F0900074A00216A +:105B6000937A002B07D0137A0370491C937A89B279 +:105B7000401C002BF7D10846704700000030004061 +:105B800000290AD0054AD37A082B04D0037813726F +:105B9000491E89B2401C0029F5D1704700300040F1 +:105BA00010B50446FAF702FD0A214843C008214611 +:105BB000F2F78CFA0A21401DF2F788FA0149888130 +:105BC00010BD00000034004003498A789206920E0E +:105BD000800102438A70704700340040064A002862 +:105BE000507806D008435070107808210843107090 +:105BF00070478843507070470034004010B51C490E +:105C000008790007000F042804D02EDD06282DD0C7 +:105C10000C282AD1887A174C617F227F0902114310 +:105C2000091801208002814202D30020207760778A +:105C3000607F217F000208430F49401800F0EAF816 +:105C4000617F227F0902114308182077000A6077DC +:105C50000A480B4900680870020A4A70020C8A70F0 +:105C6000000EC87007480121C17610BD487910BDEB +:105C700000340040840A0020A0060020100000200C +:105C8000A60A0020840600205A4AD07E01287DD131 +:105C9000F8B5594D2B78E97818466B7809061B0240 +:105CA0001843AB781B04184308435449544B096804 +:105CB0001C780E1A20465C78240220439C78DB78FE +:105CC000240420431B06184386427DD92970080A04 +:105CD0006870080CA870080E4A4BE87058794A4C56 +:105CE000C1074A480619DC140419607F277F0002A7 +:105CF00038430027002916D0997A41181815814297 +:105D000002D32777380A6077607F217F000208433B +:105D1000801900F07FF8617F227F09021143081883 +:105D20002077000A63E0D7760C216A181378C0B296 +:105D3000194653781B0219439378D2781B041943F0 +:105D400012061143FEF71EFC0C202818027811469B +:105D50004278120211438278C0781204114300067F +:105D60000143607F227F00021043000A491CFEF7B6 +:105D700009FC0C20281801780A46417809020A43D8 +:105D80008178C07809040A43000600E031E002434C +:105D9000607F237F010219433046921CFEF7C4FB4B +:105DA0000C2029180A7810464A78120210438A7883 +:105DB000C9781204104309060843012189024018DA +:105DC0002873010A697300E012E0010CA973010E47 +:105DD000E9730F49884208D9492040032873010A12 +:105DE0006973010CA973000EE8732777380A60778E +:105DF000F8BD704784060020A60A0020100000208D +:105E0000A20A0020003400401C040000840200208C +:105E1000FF2F0900074A0021937A002B07D0137A3D +:105E20000370491C937A89B2401C002BF7D10846B5 +:105E3000704700000034004000290AD0054AD37A98 +:105E4000082B04D003781372491E89B2401C002924 +:105E5000F5D170470034004010B50446FAF7A6FBB0 +:105E60000A214843C0082146F2F730F90A21401DB3 +:105E7000F2F72CF90149888110BD0000003800407C +:105E800003498A789206920E800102438A70704715 +:105E900000380040064A0028507806D00843507069 +:105EA000107808210843107070478843507070477D +:105EB0000038004010B51C4908790007000F04287D +:105EC00004D02EDD06282DD00C282AD1887A174C34 +:105ED000617D227D0902114309180120800281425F +:105EE00002D3002020756075607D217D000208438B +:105EF0000F49401800F0F0F8617D227D090211433E +:105F000008182075000A60750A480B490068087770 +:105F1000020A4A77020C8A77000EC87707480121E7 +:105F2000817510BD487910BD00380040A70E0020D3 +:105F3000BB0A002010000020A50E0020A40A0020AB +:105F40005C4A907D01287DD1F8B55B491C200B1877 +:105F50001C7820465C78240220439C78DB7824045B +:105F600020431B061843554B1B681E1A18200C189B +:105F70002578284665782D022843A578E4782D04F5 +:105F800028432406204386427ED90B77180A487797 +:105F9000180C8877180E4A4BC8775879494CC107B6 +:105FA000494800270619494C0419607D257D0002E7 +:105FB0002843002916D0997A41181815814202D336 +:105FC0002775380A6075607D217D000208438019BD +:105FD00000F082F8617D227D0902114308182075C6 +:105FE000000A64E03A4D977508216A181378C0B228 +:105FF000194653781B0219439378D2781B0419432E +:1060000012061143FEF7BEFA08202818027811463E +:106010004278120211438278C078120411430006BC +:106020000143607D227D00021043000A491CFEF7F7 +:10603000A9FA0820281801780A46417809020A437B +:10604000817800E035E0C07809040A430006024385 +:10605000607D237D010219433046921CFEF764FAED +:10606000082029180A7810464A78120210438A78C4 +:10607000C978120410430906084301218902401817 +:106080002872010A697200E012E0010CA972010E87 +:10609000E9721049884208D9252080032872010A34 +:1060A0006972010CA972000EE8722775380A6075D2 +:1060B000F8BD7047A40A0020A50E002010000020A3 +:1060C000003800403708000084020020230C000044 +:1060D000C50E0020FF4F0900074A0021937A002BCC +:1060E00007D0137A0370491C937A89B2401C002BA5 +:1060F000F7D10846704700000038004000290AD058 +:10610000054AD37A082B04D003781372491E89B24A +:10611000401C0029F5D170470038004010B50446F6 +:10612000FAF744FA0A214843C0082146F1F7CEFFA6 +:106130000A21401DF1F7CAFF0149888110BD000006 +:10614000003C004003498A789206920E8001024387 +:106150008A707047003C0040064A0028507806D0FC +:106160000843507010780821084310707047884326 +:1061700050707047003C004010B51C49087900077A +:10618000000F042804D02EDD06282DD00C282AD19B +:10619000887A174C617C227C09021143091801207E +:1061A0008002814202D3002020746074607C217CD4 +:1061B000000208430F49401800F0EAF8617C227C95 +:1061C0000902114308182074000A60740A480B4938 +:1061D00000680876020A4A76020C8A76000EC876B3 +:1061E00007480121417410BD487910BD003C0040B2 +:1061F000C6120020D60E002010000020C41200207D +:10620000C40E0020F8B5594D687C01287ED158494C +:1062100018200A181378184653781B0218439378ED +:10622000D2781B04184312061043524A1268161AF9 +:1062300014200B181C7820465C78240220439C789C +:10624000DB78240420431B06184386425ED90A7675 +:10625000100A4876100C8876100E474AC876507996 +:10626000464BC10746480027C618464BC4180029AC +:106270001BD0907A617C227C09021143091801200D +:106280008002814202D32774380A6074607C217CCA +:1062900000020843801900F07BF8617C227C09022F +:1062A000114308182074000A60746F74364D2A79FF +:1062B000E87911466A79000612021143AA7912049C +:1062C00011430143607C227C00021043C0B2FEF700 +:1062D00059F92A79E87911466A79000612021143C0 +:1062E000AA79120411430143607C227C000210430E +:1062F000000A491CFEF746F92979E8790A466979C6 +:1063000009020A43A97909040A4300E02DE00006C6 +:106310000243607C237C010219433046921CFEF745 +:1063200003F92A79E97910466A79090612021043BD +:10633000AA791204104308430121890240182871E8 +:10634000010A6971010CA971010EE9710F498842B6 +:1063500008D94B2040032871010A6971010CA97109 +:10636000000EE8712774380A6074F8BDC40E00206E +:10637000C412002010000020003C0040520C00001D +:106380008402002042100000E4120020FF6F090088 +:10639000074A0021937A002B07D0137A0370491C17 +:1063A000937A89B2401C002BF7D108467047000051 +:1063B000003C004000290AD0054AD37A082B04D0BB +:1063C00003781372491E89B2401C0029F5D1704729 +:1063D000003C0040F0B51E46080485B01446030E8C +:1063E000CAB26F460A9D08023A737B73000EB873F7 +:1063F000090EF97301910090029409A10120F9F7A7 +:1064000083FB0E482B46427B0DA10120F9F7BAFB16 +:10641000234603AA2946304600F086FD05B0F0BDAC +:1064200069703A25642E25642E25642E25642C205F +:10643000706F72743A25640A00000000AA00002000 +:10644000536F636B65742564206C656E3A256C64CC +:1064500000000000F0B51E46080485B01446030E87 +:10646000CAB26F460A9D08023A737B73000EB87376 +:10647000090EF97301910090029409A10120F9F726 +:1064800043FB0E482B46427B0DA10120F9F77AFB16 +:10649000234603AA29463046FEF718FD05B0F0BD95 +:1064A00069703A25642E25642E25642E25642C20DF +:1064B000706F72743A25640A00000000AA00002080 +:1064C000536F636B65742564206C656E3A256C644C +:1064D00000000000F0B51E46080485B01446030E07 +:1064E000CAB26F460A9D08023A737B73000EB873F6 +:1064F000090EF97301910090029409A10120F9F7A6 +:1065000003FB0E482B46427B0DA10120F9F73AFB15 +:10651000234603AA29463046FEF722FD05B0F0BD0A +:1065200069703A25642E25642E25642E25642C205E +:10653000706F72743A25640A00000000AA000020FF +:10654000536F636B65742564206C656E3A256C64CB +:106550000000000030B51C460804030E83B008029A +:10656000CDB2000E090E0292019100902A4606A1BA +:106570000120F9F7C9FA0B482346C27B0AA1012082 +:10658000F9F7C2FA03B030BD69703A25642E25646C +:106590002E25642E25642C20706F72743A25640AAF +:1065A00000000000AA000020536F636B657425642F +:1065B000205265636976653A2025730A0000000061 +:1065C00070B590B00D46064614463C216846F1F77A +:1065D000C0FD02210791094802904320C0000390AA +:1065E0000A9569460E943046F8F770FE020003D013 +:1065F00003490120F9F788FA10B070BD944B0020D0 +:1066000070B8010010B5112201A1F1F789FD10BD8C +:10661000424C562D43352D30312D3030312D303117 +:106620000000000010B4AA24047055244470827045 +:10663000120AC270542202713322427153228271B3 +:106640004122C27101724372190A81720549898A15 +:10665000C172090A017304498A784273C978817347 +:1066600010BC7047F8000020AA00002001464B2211 +:10667000520200208B1A91421BD009DC104A891A61 +:1066800013D05210891A12D0914200D103207047C2 +:106690000C4959180FD019229201891A0DD0E12204 +:1066A00012029142F3D10720704701207047022067 +:1066B000704704207047052070470620704700008F +:1066C0008025000040BBFFFFFFB58FB0002603967A +:1066D00004960596069607960446089609960A9625 +:1066E0000B960C96A27A407A1202801880B20E9015 +:1066F000272203200D92282941D95F48E17B81712F +:10670000217CC171617C0172A17C4172217DE07CA0 +:1067100009025A4F4018F968594AA0310871000A15 +:106720004871204606210F30FDF7A6FDA27C617C52 +:10673000207C029201910090F868E37BA0304179BF +:1067400000790A0202434FA10120F9F71BFAA07851 +:10675000010240182A38C2B22321F868802A0A545C +:106760000CD8214628312430F1F7DAFC25462035B3 +:10677000E97907A8002904D001290ED0022013B01E +:10678000F0BDF9680A7D920892000A751122474906 +:10679000F1F7C6FC08A806740CE0F9680A7D9208B7 +:1067A0009200521C0A7511224049F1F7B9FC0120F0 +:1067B00008A90874A979687909024118F86827229C +:1067C0000174090A4174217E0170E17D4170A17D4F +:1067D0008170617DC170217F0171E17E4171A17E77 +:1067E0008171617EC17129780172E17F4172A17F5F +:1067F0008172617FC17229790173E9784173A97847 +:1068000081736978C173217A03A80E9BFFF70AFF91 +:10681000F968487C0A7C00021043FF22B032401E17 +:1068200090420ED86846C676087DCF2210401030C0 +:106830008206920EF32080320124024008320A754B +:1068400002E002246946CC76272103A8FCF74EFA21 +:106850000D98174D00902A7B16A10120129BF9F785 +:1068600091F912980090287B0DAA03A9119BF8F7C3 +:10687000EBFE204613B0F0BDBA000020F800002067 +:1068800000E60800D4C6B6CB5446545020706F7250 +:10689000743A25303458202C2049503A25642E254E +:1068A000642E25642E2564200A0000001066010075 +:1068B000AA000020536F636B657449643A25642015 +:1068C0002C20706F72743A2578202C206C656E3AFB +:1068D000256C640A000000000146002008290AD245 +:1068E0000A007A44127992189744050306090C0F9E +:1068F00011144B20C0017047E120800170474B20EC +:10690000000270474B204002704704487047E12066 +:1069100000027047E120400270470000C0DA00002A +:10692000F3B5802101250326872781B0002859D09F +:10693000A84C01287DD002287CD0032850D1A06A21 +:1069400020210843A06201211020F9F7C3FD032193 +:106950002020F9F7BFFD04210120F9F7BBFDE06A13 +:106960002843E0620298FFF7D9FB9B488770C67006 +:106970004021417085730320FFF7E4FB05210120CE +:10698000FFF7EAFB9548A90401609648944904463C +:10699000F1F7DFFB20460299FDF718FF4B21490371 +:1069A00091480A0A017242720A0C82720A0EC2727D +:1069B00001710A0A42710A0C8271090EC171972194 +:1069C000090301700A0A42700A0C82700A0EC27032 +:1069D00086480A0A017742770A0C8277090EC17746 +:1069E00003B0F0BD824882680A4382600121102012 +:1069F000F9F7A6FD03218020F9F7A2FD0298FEF722 +:106A00007BFF7C488770C6704021417085730320EE +:106A1000FEF786FF05210120FEF78CFF01216F485C +:106A2000890201606E497448F1F793FB724802993C +:106A300001E025E07BE0FDF7C9FE092109046F486C +:106A40000A0A017542750A0C82750A0EC275017434 +:106A50000A0A42740A0C8274090EC1749121090356 +:106A600001730A0A42730A0C82730A0EC27301721E +:106A70000A0A42720A0C8272090EC17203B0F0BD9A +:106A8000A06A012149020843A06201210802F9F726 +:106A900021FD012003214002F9F71CFD0421CC0453 +:106AA0002046F9F74DFD5248C1682143C160029864 +:106AB000FFF776F852488770C670402141708573A1 +:106AC0000320FFF781F805210120FFF787F84348ED +:106AD000A11201604249484840180446F1F739FBC9 +:106AE00020460299FDF772FE4921490345480A0AEA +:106AF000017442740A0C82740A0EC27401730A0A89 +:106B000042730A0C8273090EC17393210903017247 +:106B10000A0A42720A0C82720A0EC27201710A0AD1 +:106B200042710A0C8271090EC17103B0F0BDA06AF6 +:106B30000843A06201214020F9F7CCFC032180200A +:106B4000F9F7C8FC04210220F9F7C4FCE06A02212D +:106B50000843E0620298FFF77FF92B488770C67000 +:106B60004021417085730320FFF78AF90521012038 +:106B7000FFF790F901211948490401602348184999 +:106B80000446F1F7E6FA20460299FDF71FFE25219B +:106B900089031F480A0A017342730A0C82730A0EA2 +:106BA000C27301720A0A42720A0C8272090EC17221 +:106BB0009521090301710A0A42710A0C82710A0EB9 +:106BC000C27101700A0A42700A0C8270090EC1700B +:106BD00003B0F0BD80100040003C004000E100E048 +:106BE0001B040000D50E0020E4120020C412002077 +:106BF000C0100040003000408402002087060020C2 +:106C000000340040A60A002000380040BA0A0020E4 +:106C1000C50E002070B50024084DFF26F5366879B2 +:106C2000400602D5E87A002806D0642004F005FE6C +:106C3000641CA4B2B442F2D970BD00000030004020 +:106C4000F0B50E46074619A1086883B04968009060 +:106C500000240191304604F0C3FF050009D03A46F4 +:106C60003146FDF75FFBA8192038C17F0A2903D000 +:106C700005E0FF2003B0F0BD807F0D2806D0012481 +:106C8000284603F0FBFF204603B0F0BD0020B61EEF +:106C9000002EF5DD69462A5C0B5C9A4201D0641C2B +:106CA000EEE7401CB042F6DBEAE700004A756D7083 +:106CB0003A310000F0B51BA20E4607465168106835 +:106CC00083B092680090002402920191304604F053 +:106CD00087FF050009D03A463146FDF723FBA81986 +:106CE0002038C17F0A2903D005E0FF2003B0F0BDA2 +:106CF000807F0D2806D00124284603F0BFFF2046E0 +:106D000003B0F0BD0020B61E002EF5DD69462A5CFA +:106D10000B5C9A4201D0641CEEE7401CB042F6DBEB +:106D2000EAE700005365617263683A3100000000D1 +:106D3000F0B5C5B0FF210024013102A8F1F709FA2E +:106D40004148FDF759FB414F4390B84205D24049B5 +:106D5000884202D9022045B0F0BD3E49401885B2B4 +:106D600044902806000E29D0280A401CC6B23A4892 +:106D70004290C012854200D90546002E27D93A46D6 +:106D8000294602A8FDF74AFA294602A8429AF9F7CD +:106D900075FA01942B46009630A10120429AF8F72B +:106DA000F1FE42987F19401942904398FF21C01B81 +:106DB00080B20131884203D90D4604E02E0AD6E79D +:106DC000002804D00546641CE4B2B442D7D3019431 +:106DD0002B46009630A10120429AF8F7D3FE0125F8 +:106DE000601CED04B04218D144981B4980B244188D +:106DF000224638A10120F8F7C5FE69460C72200A28 +:106E00004872200C8872200EC8722A46042102A8FB +:106E1000F9F734FA012045B0F0BD3346224637A1D8 +:106E20000120F8F7AFFE00206A461072012151726E +:106E300008219172D0722A46042102A8F9F71EFA9D +:106E4000022045B0F0BD00000066080000670800A1 +:106E5000FFE508000099F7FF00010800424C564387 +:106E60006F6E66696720777269746520466C61731E +:106E70006820616464723A2025303858204C656E71 +:106E80003A25642074656D705F6E756D3A256420D7 +:106E9000693A256400000000424C56436F6E6669F3 +:106EA0006720777269746520466C6173682061643D +:106EB00064723A2025303858204C656E3A2564209B +:106EC00074656D705F6E756D3A25642020693A2592 +:106ED00064000000424C56436F6E6669672077720B +:106EE00069746520466C6173682053756363203A4A +:106EF000253038582121212100000000424C564302 +:106F00006F6E66696720777269746520466C61737D +:106F100068204661696C20693A25642C4E756D3A8B +:106F20002564212121210000FFB50446007881B0AD +:106F30000D46AA2831D1607855282ED1E178A07865 +:106F40000902401881B20846734A1138904224D889 +:106F50002079542821D1607933281ED1A079532873 +:106F60001BD1E079412818D16C4E207AF26868284C +:106F70007CD022DC0F2870D011DC01286FD00A28C9 +:106F80003AD00E2809D166A10120F8F7FBFD6A4826 +:106F9000FDF732FA6949FDF71FFB05B0F0BD302857 +:106FA00079D03128F9D1A9B22046049B039A01F087 +:106FB000F1FAF0281AD005B0F0BDA2283AD009DCC9 +:106FC000702869D07128F6D15DA10120F8F7DAFDAB +:106FD00005B0F0BDD1287DD0D228F9D1A9B2204684 +:106FE000049B039A00F000F9F028F1D15FA1012081 +:106FF000F8F7C8FD05B0F0BD62A10120F8F7C2FDA9 +:10700000292D05D063A10120F8F7BCFD05B0F0BD26 +:10701000F068002803D1A62004F0E2FDF060A6216C +:10702000F1F797F829212046049B039A00F026FBEC +:1070300005B0F0BD002A03D1A62004F0D1FDF06018 +:10704000A621F068F1F785F8A9B22046049B039ABF +:1070500001F03AF905B0F0BD08E01EE0FFE7A9B283 +:107060002046049B039A00F01BFDF3E7002A03D19E +:10707000A62004F0B5FDF060A621F068F1F769F8EC +:1070800048A10120F8F77EFDA9B22046049B039A8F +:10709000FFF71AFBDEE725E037E012398DB2E27B1D +:1070A0002B4645A10120F8F76DFDA17A607A0E020A +:1070B0000643E07B4A49FDF765FA4A4F20463A46C7 +:1070C00029461030FDF7D8F81B21E819C902FDF751 +:1070D00083FA00E010E031460F20049B039A00F091 +:1070E000A1FBB7E7A9B22046049B039A00F0D6FBA8 +:1070F000F02800D17AE7ADE7A9B22046049B039AB5 +:1071000000F068F9F028F5D0A4E7A9B22046049B66 +:10711000039A00F0B7FD9DE701020000F80000208F +:10712000B7BFBCE4C9E8B1B8C9CFB1A8C3FCC1EED0 +:10713000BBD8B8B40D0A000008D0000004D000008D +:107140004E65742055445020496E5F5365726961E5 +:107150004E65745265706F727465645F436D642030 +:1071600052656C6179210D0A000000004E657420A3 +:1071700055445020435243204552524F52210D0A4C +:10718000000000005446545020C9FDBCB6C3FCC1E9 +:10719000EE0A0000CAFDBEDDB3A4B6C8B2BBB6D4C9 +:1071A0000A000000D4C6B6CB5446545020C9FDBCDA +:1071B000B6C3FCC1EE0A0000B7FECEF1C6F7CFC2DF +:1071C000B7A2C9E8B1B8BFD8D6C6CAFDA3BA25646C +:1071D0002CCAFDBEDDB3A4B6C8A3BA25640D0A004F +:1071E0000CD8000010D80000FFB504464018203825 +:1071F000827FC07F891E0002101885B289B089B2D3 +:107200002046FBF797FDA84202D0F0200DB0F0BD5C +:10721000002612210696039601960296049605967C +:107220000891A17A607A0902401880B2024607905C +:1072300035463CA10120F8F7A5FC207C434F0128EE +:107240000CD0E17B88420BD24148FDF7D5F80546CA +:10725000B8421BD23F48854217D817E03D4615E09B +:10726000884212D1012006903948FDF7C5F805463D +:107270003748FDF7C1F8024637A10120F8F782FC34 +:10728000BD4203D23348854200D902260095237CB3 +:10729000E27B3AA10120F8F775FCE078A1780002C2 +:1072A0001338081887B2FF20EB30874220D8022E0F +:1072B0001ED020462A4639461130FCF7DDFF244C0B +:1072C000E8192146FDF788F92046FDF795F80246B2 +:1072D00021A10120F8F756FC0698002806D0FFF7F8 +:1072E00027FD024632A10120F8F74CFC012400E002 +:1072F00002241222D22101A8079BFFF793F96846C6 +:10730000C474122101A8FBF7F1FC0C9800903048DE +:1073100008AA007B01A90B9BF8F796F900200DB095 +:10732000F0BD0000424C56436F6E6669675F507255 +:107330006F63657373207061636B5F6672616D6507 +:10734000203A2025303458200D0A0000006708003C +:1073500000660800FFE50800424C56436F6E666900 +:10736000675F50726F63657373207772697465200D +:10737000616464723A253038580D0A00424C564315 +:107380006F6E6669675F50726F63657373204E55E9 +:107390004D203A2564207061636B5F6E756D203AF5 +:1073A00020256420616464723A253038580D0A0043 +:1073B0005564705F436F6E6669675F5372616D5F9E +:1073C000746F5F466C617368207265763A2564005D +:1073D000AA000020FFB5044640182038827FC07FF5 +:1073E000891E0002101885B283B01E4689B220465D +:1073F000FBF7A0FCA84202D0F02007B0F0BDF8F7E0 +:107400007BFE05464000281812300190801C009039 +:1074100004F0E6FB07460099F0F79BFEA17A607A3C +:107420000902401883B20198D12182B23846FFF791 +:10743000F9F83846FD7329461030F9F757F90198E5 +:1074400081B23846FBF752FC06480096007B01AA41 +:107450003946059BF8F7F8F8384603F00FFC002092 +:1074600007B0F0BDAA000020614862490068CA69FF +:10747000821A0A2A77D9F8B5C8611B20C002FCF726 +:10748000BBFF5D49002688426ED0081FFCF778FFDD +:1074900000250746002868D92C4606204443564854 +:1074A0002018FCF76DFF012804D0052823D00728F9 +:1074B00047D17CE00021F120F8F7E8FD00909F2102 +:1074C000FF380902013888427CD24C482018FCF76A +:1074D00057FF06464A482018FCF752FF0446034669 +:1074E000324648A10120F8F74DFB761EF6B222463F +:1074F0003146009857E00021F120F8F7C7FD024619 +:10750000FF389F2101380902884204D34DA1012090 +:10751000F8F738FB60E03A482018FCF731FF0446E2 +:107520000346324637A10120F8F72CFB0720400321 +:10753000FCF726FF0646012C04D0022C16D0062CA0 +:1075400025D049E00021F120F8F7A0FD7D23044675 +:10755000DB0001220C21F6F73DFA02220D21204624 +:10756000F6F7D7F938E042E040E03AE00021F120B8 +:10757000F8F78CFD044602220C21F6F7CAF97D23A8 +:10758000DB0001220D212046F6F724FA24E0002139 +:10759000F120F8F77BFD044602220C21F6F7B9F939 +:1075A00002220D212046F6F7B4F915E00AE0012188 +:1075B0000720F8F76BFD00909F21FF380902013882 +:1075C000884201D3009AA1E70D482018FCF7D8FEA5 +:1075D00001460098F5F7B0FD6D1CEDB2BD4200D23A +:1075E0005AE71B210448C902FCF7F6FFF8BD7047B3 +:1075F00010000020F800002010D8000012D8000071 +:1076000014D800005564705F496E7465726E616CC9 +:107610005F4465765F436F6E74726F6C20433549CB +:107620004F204C6F6F703A253032582020737461B0 +:1076300072743A253032582D2D2D2D2D2D2D2D0DD6 +:107640000A0000005564705F496E7465726E616C6B +:107650005F4465765F436F6E74726F6C204465762D +:1076600061646472204661696C25303858202D2D84 +:107670002D2D2D2D2D2D0D0A00000000F0B50446F6 +:1076800091B000200490059006900790089016464F +:1076900009900A900B900C900D90A27A607A1202D9 +:1076A000801880B20090262003271D4610902929BB +:1076B00006D049A10120F8F765FA384611B0F0BDAF +:1076C0004948290A05734173317881717178C17114 +:1076D000B1780172F1784172307808A90876707833 +:1076E0004876B0788876F078C8760D77280A48779B +:1076F0003E4A06210EA8FCF7BFFD3D4FFD80F8680D +:10770000002806D1A62004F06BFAA621F860F0F755 +:1077100020FDF868017D8908890001752146203126 +:107720008B794A791B02D2180274120A4274227EA3 +:107730000270E27D4270A27D8270627DC270227F03 +:107740000271E27E4271A27E8271627EC2710A780B +:107750000272E27F4272A27F8272627FC2720A79F3 +:107760000273CA7842738A7882734978C173217A26 +:10777000262204A8009BFEF755FF00206A46F96800 +:10778000D077087DCF22104010308006800E403028 +:107790000875012408A811221649F0F7C1FC26211A +:1077A00004A8FBF7A3FAF078B178727801910290FF +:1077B00003950092104F33783A7B10A10120F8F71F +:1077C000E1F90095387B334610AA04A9F7F73CFF8E +:1077D000204611B0F0BD0000CAFDBEDDB3A4B6C89E +:1077E000B2BBB6D40A000000BA00002000E60800D0 +:1077F000F800002010660100AA000020536F636BA0 +:10780000657449643A2564202C2049503A25642E39 +:1078100025642E25642E2564202C20706F72743A06 +:1078200025640A00F0B5074683B011201C461546B2 +:107830000E46029004F0D4F901900EA10120F8F751 +:10784000A1F90298334682B239460198FEF7EAFE62 +:10785000029881B20198FBF749FA0F480094007B27 +:107860002B4602AA0199F7F7EFFE019803F006FAFA +:1078700003B0F0BD5564705F496E7465726E616CE3 +:107880005F50726F636573735F41636B202D2D2DA5 +:107890002D2D2D2D2D0D0A00AA000020FFB5064626 +:1078A00040182038827FC07F891E0002101884B2E1 +:1078B00083B089B23046FBF73DFAA04202D0F020F7 +:1078C00007B0F0BDF07B0121C00012300025490255 +:1078D0000290884200D90291029CA41C204604F028 +:1078E0007FF921460190F0F734FCB17A707A0902F1 +:1078F000401883B20298302182B20198FEF792FEBE +:10790000F07B232803D901982321C17301E0019959 +:10791000C8730198C07B00282ED9A8008019C17CAB +:10792000827C0B021A431302427CEC001A431302BE +:10793000027C1A43019BE418E174817CA174417CB0 +:107940006174007C2074164810180090FCF754FDF8 +:107950000746034613A10120009AF8F713F9380EE1 +:10796000E075380CA075380A6075277501986D1C94 +:10797000C07BEDB2A842D0D8029881B20198FBF743 +:10798000B5F9069800900E4802AA007B059B019964 +:10799000F7F75AFE019803F071F9002007B0F0BD27 +:1079A00000E8080074656D705F6F66667365743A11 +:1079B0002530385820646174613A25640000000065 +:1079C000AA00002070B590B00020049005900690A9 +:1079D0000790089009900A900B900C900D900E90D3 +:1079E00026200F901D4E1E4A04210EA8FCF79AFC7B +:1079F0001C48FCF7C5FC05461B48FCF7C1FC04020B +:107A00001A482C43C480334626220A2104A8FEF7D4 +:107A100009FE01206A46D07708A811221449F0F720 +:107A20007FFB262104A8FBF761F908AAD07E917E8E +:107A3000527E009201910290039408AA0D4D137E8C +:107A40002A7B0DA10120F8F79DF80094287B0EAB4E +:107A50000FAA04A9F7F7F8FD10B070BD018000006F +:107A600000E6080004E6080005E60800F80000202B +:107A700010660100AA000020536F636B65744964AF +:107A80003A2564202C2049503A25642E25642E2561 +:107A9000642E2564202C20706F72743A25640A00CD +:107AA000FFB597B00D4604463C2101A8F0F751FB05 +:107AB0000320112D01D01C2D36D1A17A607A090244 +:107AC000401886B228465B4D5B4F112802D01C2817 +:107AD0007ED124E059A10120F8F754F85B4B3878A7 +:107AE0009E4203D1C007C00F001D02E0C007C00FB7 +:107AF000801C38701122022110A8FEF793FD11217D +:107B000010A8FBF7F3F811201690F87BB97B000260 +:107B100008430090287BBB1C16AA10A95FE0012037 +:107B2000C003864202D302201BB0F0BD617E207EDE +:107B300009024018E17C80B2012955D044A10120FE +:107B4000F8F720F8414B3C22012101A8FEF76AFD1D +:107B5000B8786946C874F8780875387948757879BE +:107B60008875287AC875687A0876A87A4876E87A97 +:107B700088762879C87668790877A8794877E87987 +:107B80008877374808A902784A7042788A708278E4 +:107B9000CA70C2780A7102794A71407988710D20E1 +:107BA0006946C87708A90870C81D11222D49F0F749 +:107BB000B7FA2D4808A94278CA7682780A77C07841 +:107BC00048773C2101A8FBF791F83C20159000E094 +:107BD00007E01A980090287B15AA01A9199BF7F7CE +:107BE00033FD01201BB0F0BD217DBA78914211D147 +:107BF000617DFA7891420DD1A17D3A79914209D106 +:107C0000E17D7A79914205D1F97BBA7B0902114372 +:107C100081420AD0B873000AF873207DB870607D85 +:107C2000F870A07D3871E07D787110A10120F7F720 +:107C3000A9FF87E7AA000020BA000020D7A2B2E17E +:107C4000C3FCC1EEBBD8B8B4A3A10000FFFF000085 +:107C5000CAD5B5BDCBD1CBF7C3FCC1EEA3A1000003 +:107C6000A40000201066010010010020CAD5B5BD97 +:107C7000B7FECEF1C6F7CBD1CBF7C3FCC1EEA3A1C3 +:107C800000000000FFB58BB004460C982018203887 +:107C9000817FC07F0002081885B20C98801E81B2D7 +:107CA0002046FBF747F8A84202D0F0200FB0F0BD05 +:107CB00000200390049005900690079013200890F0 +:107CC000A17A607A0902401880B20990AA4A042178 +:107CD0000D98FCF7D1FAA9490E98FCF792FC0D9883 +:107CE0000E9AC1788078009001910D9802924378A5 +:107CF0000278A3A10120F7F745FFE07BB04FB14D1B +:107D0000B14E012804D0022847D0032844D101E114 +:107D10001322702103A8099BFEF784FC0120694609 +:107D2000C876207C012804D002280FD003281AD05E +:107D300025E0A64800780877A54800683070010A59 +:107D40007170010CB170000EF07018E0A14800785D +:107D500008779F4800682870010A6970010CA970B3 +:107D6000000EE8700BE09C4800780877984800689F +:107D70003870010A7970010CB970000EF870132187 +:107D800003A8FAF7B3FF0E980090944808AA007B66 +:107D900003A90D9BF7F758FCEAE01322702103A812 +:107DA000099BFEF73FFC02216A46D176012010773D +:107DB000207C4B23DB01012805D0022833D0032887 +:107DC0007DD01177DBE7607CFEF786FD3074010A19 +:107DD0007174010CB174010EF17498420DD014212C +:107DE00072181378194653781B0219439378D27886 +:107DF0001B041943120611438847A07C40003071D0 +:107E0000010A7171010CB171000EF0716F48E17CD3 +:107E100001706F4800683070010A7170010CB17018 +:107E2000000EF070ABE7607CFEF756FD2874010A87 +:107E30006974010CA974010EE97498420DD01421E3 +:107E40006A181378194653781B0219439378D2782D +:107E50001B041943120611438847A07C4000287177 +:107E6000010A6971010CA971000EE871E07C594C9E +:107E70002070574800682870010A6970010CA970C9 +:107E8000000EE8701020281801780A46417809028F +:107E90000A438178C07809040A430006024350A1CE +:107EA0000120F7F76FFE2979E8790A466979090216 +:107EB0000A43A97909040A430006024300E009E0E5 +:107EC0004DA10120F7F75EFE227853A10120F7F7BC +:107ED00059FE54E7607CFEF7FFFC3874010A7974A0 +:107EE000010CB974000EF874A07C40003871010ACE +:107EF0007971010CB971000EF8713748E17C01709D +:107F0000334800683870010A7970010CB970000EAE +:107F1000F87034E7207C012804D002280CD0032814 +:107F200014D01CE02A4800683070010A7170010CFE +:107F3000B170000EF07012E0254800682870010A48 +:107F40006970010CA970000EE87008E02048006814 +:107F50003870010A7970010CB970000EF8700C9835 +:107F60002246143883B2617C207C123200F09EFBE2 +:107F700000200FB0F0BD000000E6080004E6080095 +:107F80005564705F496E7465726E616C5F536572A3 +:107F900069614E65745F50726F63657373204950F9 +:107FA0003A253032582E253032582E253032582E70 +:107FB0002530325820506F72743A25640D0A000043 +:107FC0005929002094290020CD290020CB29002008 +:107FD000140000209229002057290020AA00002028 +:107FE0004163743438355F496E666F2E6261756423 +:107FF0003A2564200D0A00004163743438355F4926 +:108000006E666F2E706173735F6F757474696D65E2 +:108010003A2564200D0A00004163743438355F4905 +:108020006E666F2E706F72745F6D6F64653A256453 +:10803000200D0A0070B5132484B02046019403F08B +:10804000CFFD05460020029021462846F0F781F832 +:108050001D4C607C217C000208430121C903421AA7 +:108060008B1E9A4203D2401C2074000A01E0217446 +:10807000080A6074154A042102A8FCF7CFF81448D6 +:10808000FCF7CFF90646607C217C030201980B4384 +:1080900082B270212846FEF7C5FA0320E8732874DF +:1080A000019881B22846FAF721FE0A480096007B23 +:1080B00002AB01AA2946F7F7C7FA284602F0DEFD0F +:1080C000002004B070BD0000BA00002000E60800E7 +:1080D00004E60800AA000020F7B586B01646104650 +:1080E000FCF79FF9FF21E1310390884200D9039109 +:1080F0000398054603F074FD0446002004902946C9 +:108100002046F0F726F82C4D687C297C00020843B5 +:108110000121C903421A8B1E9A4203D2401C2874C3 +:10812000000A01E02974080A6874244A042104A89A +:10813000FCF774F82248FCF774F907466846C17CDE +:10814000807C0191009002976846437C027C1D4927 +:108150000120F7F717FD0398B21C81B220461130B9 +:10816000FCF75CF818A10120039AF7F70BFD0398C0 +:1081700013300390697C2A7C0B02134382B2712175 +:108180002046FEF74FFA0698E0730798FEF76EFA5E +:108190002074039881B22046FAF7A8FD154800978D +:1081A000007B04AB03AA2146F7F74EFA204602F003 +:1081B00065FD002009B0F0BDBA00002000E608000F +:1081C00004E6080094F901005564705F496E746517 +:1081D000726E616C5F53657269614E65745F557054 +:1081E0006C6F6164696E67204C656E3A25640D0A98 +:1081F00000000000AA000020FFB507461333FF204F +:1082000083B0E13015460193834200D90190019E6D +:10821000761C304603F0E4FC044600200290314610 +:108220002046EFF796FF244E707C317C0002084315 +:108230000121C903421A8B1E9A4203D2401C30749A +:10824000000A01E03174080A70741C4A042102A873 +:10825000FBF7E4FF1A48FCF7E4F80090707C317CEF +:10826000030201980B4382B271212046FEF7DAF92E +:10827000E7730498FEF7FAF9207401990020132996 +:1082800008D0295C221851740199401C80B213391E +:108290008842F6D3019881B22046FAF727FD0948B3 +:1082A00002AB007B01AA2146F7F7CEF9204602F087 +:1082B000E5FC002007B0F0BDBA00002000E6080091 +:1082C00004E60800AA000020F0B5022789B01D4688 +:1082D00016460446292902D0384609B0F0BD434865 +:1082E000290A05734173317881717178C171B17850 +:1082F0000172F1784172307869460871707848717E +:10830000B0788871F078C8710D72280A4872384ABE +:10831000062101A8FBF7B0FF3648C580C0680028D9 +:1083200007D1A62003F05CFC3249C860A621EFF714 +:1083300010FF3048A17CC0680170617C4170217CD5 +:108340008170E17BC170A17D0171617D4171217DF1 +:108350008171E17CC171A17E0172617E4172217ED9 +:108360008172E17DC172A17F0173617F4173217FC1 +:108370008173E17EC173E17F203422781202891873 +:1083800089B201740A0A4274027D491E9208920061 +:10839000521C02753F2909D8CF210A40103291069C +:1083A00001270024890E4031017500E003240020DC +:1083B000039004900590069007900F4B1222A22183 +:1083C00003A8FEF72FF96846C476122103A8FAF72E +:1083D0008DFC1220089009480095007B334608AABE +:1083E00003A9F7F731F9384609B0F0BDBA0000200B +:1083F00000E60800F8000020FFFF0000AA000020AF +:10840000F8B53E4C3E4E20783E4D002806D001285F +:108410001CD0022801D1F9F791F9F8BDF6F7DCFC80 +:108420000228FAD338480078C007F6D037A10120D7 +:10843000F7F7A8FB3F4A40494048FEF7C1F83068CB +:10844000A060012020702946002028E03068A16843 +:10845000411A0A29E1D33A4FA0603846FBF790FF52 +:108460000226012806D03846FBF78AFF022823D0CF +:108470002670F8BD33A10120F7F784FBFFF7A2FABD +:1084800000280FD034A10120F7F77CFB2846FBF72A +:1084900077FF052800D32670401CC0B22946FCF7A0 +:1084A00071F8F8BD2FA10120F7F76CFB3946FF20CA +:1084B000FCF768F82670F8BD2DA10120F7F762FBE4 +:1084C000F7F728FA00280FD023A10120F7F75AFB6D +:1084D0002846FBF755FF052800D32670401CC0B284 +:1084E0002946FCF74FF8F8BD27A10120F7F74AFB12 +:1084F0003946FF20FCF746F82670F8BDF80000204A +:10850000A000002007E60800BA00002020CDF8C235 +:10851000E7B3F5CABCBBAFCDEAB1CF20A3AC20BF57 +:10852000AACABCB4B4BDA8CCD7BDD3D7D62E2E2EE4 +:1085300020000000D56301000D0D0000B6000020F2 +:1085400006E60800BBD8B8B42DCDF8C2E7C9FDBC1B +:10855000B6B3C9B9A62E2E00BBD8B8B4CAA7B0DC32 +:10856000A3A10000BBD8B8B4B3C9B9A6A3A10000A9 +:10857000BBD8B8B42DD4C6B6CBCDF8C2E7C9FDBCC4 +:10858000B6B3C9B9A62E2E00BBD8B8B4B3C9B9A624 +:10859000A3A10A00FFB5054640182038827FC07F9E +:1085A000891E0002101884B285B089B22846FAF7F5 +:1085B000C1FBA04202D0F02009B0F0BD1220142669 +:1085C00002900024304603F00BFB31460190EFF798 +:1085D000C0FDA97A687A0902401883B20298312155 +:1085E00082B20198FEF71EF801200090EE7B232E48 +:1085F00000D92326002E2DD9E0004019C17C077D2B +:108600000A02817C11430A02417C11430A02017C67 +:108610001143C27D1302827D1A431302427D1A4820 +:108620001A43120208181743024603903B4617A14B +:108630000120F7F7A7FA38460399FBF7CDFF039817 +:10864000FBF7DAFEB84201D002200090641CE4B2CD +:10865000B442D1D3FBF73AFC01990098C873029851 +:1086600081B20198FAF742FB089800900E4802AADE +:10867000007B079B0199F6F7E7FF019802F0FEFAED +:10868000002009B0F0BD000000E8080074656D70BE +:108690005F6F66667365743A25303858206461747C +:1086A000613A256400000000AA000020FFB5012502 +:1086B000AD0281B01E460F4600285CD001287DD057 +:1086C00002287CD0032854D1A74C1C202018027803 +:1086D00011464278120211438278C0781204114385 +:1086E000000601431846FBF78CFF1C202018027877 +:1086F00011464278120211438278C0781204114365 +:10870000000601433846891CFBF73CFF1C2020185B +:1087100001780A46417809020A438178C078090441 +:108720000A43000602433146D21C0398FBF7A4FD1E +:108730001C2021180A7810464A78120210438A78C1 +:10874000C978120410430906084340192077010A2A +:108750006177010CA177010EE1778449884208D93D +:10876000972000032077010A6177010CA177000EA2 +:10877000E07705B0F0BD7E4C082020180278114645 +:108780004278120211438278C07812041143000625 +:1087900001431846FBF735FF0820201802781146E0 +:1087A0004278120211438278C07812041143000605 +:1087B00001433846891CFBF7E5FE01E035E083E024 +:1087C0000820201801780A46417809020A43817876 +:1087D000C07809040A43000602433146D21C0398BC +:1087E000FBF74AFD082021180A7810464A78120241 +:1087F00010438A78C97812041043090608434019C7 +:108800002072010A6172010CA172010EE1725949D4 +:108810008842AED9912000032072010A6172010CD6 +:10882000A172000EE07205B0F0BD534C2279E079E0 +:1088300011466279000612021143A2791204114313 +:1088400001431846FBF7DDFE2279E0791146627993 +:10885000000612021143A279120411430143384663 +:10886000891CFBF78FFE2179E0790A4661790006C1 +:1088700009020A43A17909040A4302433146D21C82 +:108880000398FBF7F9FC2279E17910466279090631 +:1088900012021043A27912041043084340192071B8 +:1088A000010A6171010CA171010EE1713349884225 +:1088B000B9D9932000032071010A6171010CA171E3 +:1088C000000EE07105B0F0BD2D4C2278E078114625 +:1088D0006278000612021143A27812041143014388 +:1088E0001846FBF78EFE2278E07811466278000683 +:1088F00012021143A2781204114301433846891C25 +:10890000FBF740FE2178E0780A466178000609020C +:108910000A43A17809040A4302433146D21C039852 +:10892000FBF7AAFC2278E178104662780906120269 +:108930001043A27812041043084340192070010A22 +:108940006170010CA170010EE1700E498842B9D925 +:10895000952000032070010A6170010CA170000EC7 +:10896000E07005B0F0BD0000C4120020FF7F0900D8 +:1089700087060020FF1F0900A60A0020FF3F09000C +:10898000C50E0020FF5F09000FB410B503A9044B0A +:10899000044A029800F032F910BC08BC04B0184731 +:1089A0006DAC0100780200200FB41CB50246002017 +:1089B00007AC00290BD0491E01910092064B6A4674 +:1089C0002146069800F01AF9009A002111701CBC8B +:1089D00008BC04B018470000359301000FB410B56F +:1089E00004A9074B02AA039800F008F9044602A95B +:1089F000002000F0AAFC204610BC08BC04B01847B8 +:108A00004B93010010B5024B024A00F0F7F810BD7D +:108A10006DAC0100780200202021020C01D0102151 +:108A20001046020A01D010460839020901D010464A +:108A3000091F820801D01046891E420801D0881EF5 +:108A40007047081A7047002101608180817170476A +:108A500030B47446641E2578641CAB4200D21D46B7 +:108A6000635D5B00E31830BC184702E008C8121FC2 +:108A700008C1002AFAD170477047002001E001C107 +:108A8000121F002AFBD17047F0B51FB486B00998B9 +:108A9000089A030D0021024314D05148514A181876 +:108AA000504305141198012810981AD0281A401C18 +:108AB00000264D4F4D49009601910490002812DA8E +:108AC000444211E01198012449A3012801D11098D2 +:108AD000C1430698119A84600360C26041600BB084 +:108AE000F0BD4042E4E70446210500203F4A001C57 +:108AF00051410391029012E0E00707D032463B4615 +:108B000001990098EFF74CFC0191009032463B46EA +:108B100010461946EFF744FC06460F466410002C39 +:108B2000EAD10498039B0028029A0999089806DA6A +:108B3000EFF736FC019B009AEFF732FC05E0EFF708 +:108B400097FC019B009AEFF793FC04460E46002227 +:108B5000284BEFF725FD03D80020C043014607E06E +:108B60000022254B20463146EFF768FBEFF7F8FC73 +:108B7000102409E0002C0ADB0A220023EFF72EFB69 +:108B8000079B30321A55641E02460A43F2D1112265 +:108B9000641C079B121B1C19119B012B03D0012382 +:108BA00008430ED10AE0084304D0112010900020A1 +:108BB000119077E71098151A6D1E0BE010988242FD +:108BC00002DD00236D1C03E0824201DA00236D1EEA +:108BD000002BEED0069811998260C16030C07EE70C +:108BE00001FCFFFF104D0000000014400000F03FAA +:108BF000300000000000F0430000E03FFFB597B0F8 +:108C00000646002518E2252877D100242746FD498D +:108C1000049400E00443761C32780120203A90400E +:108C20000842F7D130782A280ED002223078014647 +:108C30003039092916D804990A2359433039401884 +:108C40001443761C0490F1E7189802C80491189018 +:108C5000002904DA01204003044348420490022022 +:108C60000443761C30782E2814D1042004437078F5 +:108C7000761C2A2809D11898761C80C8189009E01B +:108C80000A214F43303FC719761C307801463039EE +:108C90000929F5D930786C2810D006DC4C281AD078 +:108CA00068280ED06A2817D104E0742813D07A28D7 +:108CB00012D110E00120400504430CE00121090518 +:108CC00001E0032109050C437178814203D10120A1 +:108CD00000052418761C761C3078119066280BD07D +:108CE00013DC58287DD009DC00287BD04528F6D03D +:108CF0004628F4D047281AD1A5E118E0632835D0DA +:108D0000642870D0652812D19DE170286CD008DCF1 +:108D10006728F1D069287BD06E280DD06F2806D146 +:108D2000BAE073282ED0752871D0782859D01A9AB5 +:108D3000199990476D1C7EE16002400F022809D00E +:108D400003280DD00428189801680DD00D60001D6F +:108D5000189070E11898EA1701680D604A60F6E70C +:108D6000189801680D80F2E70D70F0E718986A46D0 +:108D700001781172001D18900020507202A8009016 +:108D8000012005E0189802C8189000200091C04307 +:108D900061070DD5002101E00199491C0191B942FB +:108DA00012DA8142F8DB009A515C0029F4D10BE021 +:108DB000002101E00199491C01918142FADB019AED +:108DC0000099895C0029F5D1019904981A9B471AEA +:108DD00021463846199A00F097FA0199401945182A +:108DE0000BE04FE02CE113E04EE000980099007892 +:108DF000491C00911A9A199990470198401E0190B8 +:108E0000401CF2D1214638461A9B199A10E137E0EE +:108E10000A200021009001916002410F022907D031 +:108E2000189A01CA1892C2179446032908D00AE07A +:108E30001898C01DC108C90005C91891944607E0DB +:108E400000B2C2179446042902D140B2C1178C4621 +:108E500000226146944506DA0A46002140429141CB +:108E60008C462D2102E0210504D52B216A46117381 +:108E7000012103E0E10701D02021F7E7029155E04D +:108E80000A200AE0102008E01020009000210420B1 +:108E900004430191082703E008200021019100907C +:108EA0006002410F022907D0189A01CA18920022C5 +:108EB0009446032908D008E01898C01DC108C900CD +:108EC00005C91891944603E080B2042900D1C0B2CC +:108ED00000210291210729D51199702906D0009A05 +:108EE0001021019B4A401A4305D00EE040216A46FA +:108EF0001173012108E06146014306D030216A4622 +:108F000011731199517302210291009A0821019B5A +:108F10004A401A430AD16146014301D1610705D590 +:108F200030216A46117301217F1E0291119958293F +:108F300004D035A10E910DA90D910DE037A1F9E7EF +:108F40006146019B009AEFF749F90E9B8C469B5CAA +:108F50000D9A521E0D92137061460143F0D10D9887 +:108F600005A9081A20300190600703D501200004EC +:108F7000844300E001270198874201DD381A00E0B0 +:108F80000020019900904118029809180498401A8D +:108F90000490E00306D421461A9B199A049800F025 +:108FA000B3F94519002706E003A81A9AC05D19997C +:108FB00090476D1C7F1C02988742F5DBE0030CD5BF +:108FC00021461A9B199A049800F09EF9451904E06D +:108FD0001A9A3020199990476D1C0099481E0090EC +:108FE0000029F5DC08E00D980D990078491C0D91D9 +:108FF0001A9A199990476D1C0199481E01900029F1 +:10900000F1DC63E109280100303132333435363781 +:1090100038396162636465660000000030313233C4 +:109020003435363738394142434445460000000064 +:1090300000F05AF94519761C3078002800D0E2E596 +:1090400028461BB0F0BD600700D406271898C01D45 +:10905000C108C90048680A680831C30FDB071891C6 +:10906000190001D09CA108E0210501D59BA104E0D5 +:10907000E10701D09AA100E09AA1430011985B0892 +:10908000109165280CD006DC452809D046281DD053 +:10909000472841D141E0662818D067283CD13CE000 +:1090A0000021112F01DB112000E0781C01910090BC +:1090B00008A911A8FFF7E8FC139905910021119A5E +:1090C00015927F1C12980197009150E00120C00773 +:1090D00003900120019008A9009711A8FFF7D4FC84 +:1090E000139A149905920022119B009212981593DD +:1090F000059A0192002901D0104602E0791C40181F +:109100000190381A01D5019804E04042401E0090B9 +:10911000781C0190C01B029043E0012F00DA012768 +:109120000021112F01DD112000E03846019100904F +:1091300008A911A8FFF7A8FC13990591119A00211D +:10914000129815920091019721070CD40599B94204 +:1091500001DB019900E00191012904DD159A491E06 +:10916000515C302906D0B84201DA011D05DA01212F +:10917000029115E00199491EEDE7002805DC0099F0 +:10918000411800910199091A03E0019A411C91428A +:1091900000DD01910099401A401C02900120C00797 +:1091A0000390200706D402990198814202DB002037 +:1091B000C043029000206946C87707AF0121039899 +:1091C0000337C907884224D0022011902B20129027 +:1091D000039800280CDA404203902D20129007E0FB +:1091E0000A210398EEF772FF30317F1E0390397029 +:1091F0001199481E11900029F2DC03980028EFD144 +:10920000791E129808703078202108404530BF1E22 +:10921000387006A8C01BC01D039010980078002865 +:1092200000D00120019941180298C017091803982D +:1092300009180498401A401E0490E00306D4214601 +:109240001A9B199A049800F05FF845191098007855 +:10925000002803D01A9A199990476D1CE00324D571 +:1092600021461A9B199A049800F04EF845191CE003 +:109270000098002807DB00990598884203DD1598BF +:10928000405C199901E0199930201A9A904700988A +:109290006D1C401C00900298401E0290002804D1D2 +:1092A0001A9A2E20199990476D1C0199481E019019 +:1092B0000029DDDC05E038781A9A7F1C199990475F +:1092C0006D1C0399481E03900029F4DC21461A9B6B +:1092D000199A0498ACE600002D0000002B00000055 +:1092E0002000000000000000F8B5044600251E46DE +:1092F0001746880404D405E039462020B0476D1C89 +:10930000641EF9D52846F8BDFFB50446002581B096 +:109310001E46C80301D5302700E02027880404D565 +:1093200005E038460399B0476D1C641EF9D5284600 +:1093300005B0F0BD4A68002A06D00A68531C0B60CD +:1093400010704868401E486070470A68531C0B60E4 +:1093500010707047F7B53049034648682E4C81B00D +:109360004978A5780095A66865688646AF19E568CE +:10937000246900202E19009C8446002913D0002C5B +:1093800013D126498869186049690120491EA942FC +:1093900013D38E4211D3029C012C0ED902205960A6 +:1093A00001218C4609E0002C07D07146724501D29C +:1093B0000A4602E0974200D23A460097974229D9DE +:1093C0001168CC0722D0491EA9421FD38E421DD35B +:1093D00010281BD20C1F27886488BE46E70A1F2F5F +:1093E00003D17746FF0A1E2F02D0240A472C0DD145 +:1093F000029CA0420AD2022805D16446002C02D069 +:109400005C688C4202D084001951401C0099121DE6 +:109410009142D5D804B0F0BD64000020082B002094 +:10942000F0B545480C468BB0466C056CC26C816C3F +:109430005030009202910FC806AF0FC73F48017825 +:1094400000290BD04178002911D03D4A3DA140A010 +:10945000FFF79AFA46A0FFF797FAFEE7384A45A1C8 +:109460003BA0FFF791FA42A0FFF78EFAFEE73348E0 +:109470000121417041A0FFF787FA3DA0FFF784FA70 +:109480003F4F404B404A41497868FFF77DFA4048DA +:10949000FFF77AFAF86AFFF777FA35A0FFF774FA60 +:1094A0002046203005902548807800283ED1386B32 +:1094B000FFF76AFA2EA0FFF767FA2068354F844657 +:1094C000386061687960A068B860E368FB60226911 +:1094D0003A6162697A61A269BA61E269FA61029AE3 +:1094E000009C0493019200910290039433466246DB +:1094F000294629A0FFF748FA1DA0FFF745FA08986A +:10950000FB69099AB96901AC0FC478690090079B9F +:109510003A6921A00699FFF737FA15A0FFF734FA48 +:1095200028A0FFF731FA12A0FFF72EFA059803F0F2 +:1095300011F80BB0F0BD000030F201006400002013 +:109540005CF20100216F6E5F6661756C7400000053 +:1095500028257329206861732061737365727420F4 +:109560006661696C65642061742025732E000000BB +:109570000D0A0000696E69745F6F6B0000000000E7 +:10958000B0F10100582A0020382A0020182A0020B3 +:109590002C960100082B0020202025733A2025302E +:1095A0003878202025733A202530387820202573FC +:1095B0003A2025303878202025733A202530387815 +:1095C000000000003D3D3D3D3D3D3D3D3D3D3D3DBF +:1095D0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DBB +:1095E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DAB +:1095F0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D9B +:109600003D3D000010B50548054B4068054A064938 +:10961000FFF7BAF905A0FFF7B7F910BDB0F10100E7 +:10962000582A0020382A0020182A00200D0A00009D +:1096300070B50D461446014620221248EEF794FDFF +:10964000202229461048EEF78FFD202221460F48A0 +:10965000EEF78AFD0F4A0E480F495060081A0F496D +:109660000F4BD160591A90601161002802D001207F +:10967000107070BD0B480068FFF786F90AA0FFF76D +:1096800083F970BD182A0020382A0020582A0020AB +:10969000405C002064000020406C0020008000003E +:1096A00000FB0100B0F101000D0A000070B50400DC +:1096B0000ED0256A002D0BD0A87C082808D10846BA +:1096C000EEF779FDA96A884202D1204600F092F9AE +:1096D00070BD0000F1B582B00298002600287DD050 +:1096E000046A002C7AD0A06C504D411C012700293F +:1096F0000BD03C211E30EEF7E9FCA84200D92846E9 +:109700000004000C208400D12784E06C411C0BD0A5 +:109710003C211E30EEF7DAFCA84200D928460004AE +:10972000000C608400D1678420462C3000D0E06AB1 +:10973000009000280ED102F07BFC000E7F2802D89A +:10974000FF20000603E0C0280CD3FF20C04301F037 +:10975000BFFA00902046303000D0206B01900028E6 +:1097600003D00CE03148C043F1E7A06A00990840FB +:109770000190012001F0ACFA0199084301902146C3 +:1097800028310D46029802F0F7FB2946284DA26ABF +:109790002868824200D001260878287048786870CE +:1097A0008878A870C878E8706946029802F026FCAC +:1097B000A8680099814200D0012668460078287286 +:1097C00068464078687268468078A8726846C078B3 +:1097D000E87201A9029802F0C3FB00E01CE068688F +:1097E0000199814200D001266846007928716846B7 +:1097F0004079687168468079A8716846C079E871D7 +:10980000029802F006FC0A21204600F0FDFD002E21 +:1098100003D00020F5F76AFAFEBD064C2078002838 +:10982000FAD1F5F763FA2770FEBD0000FFFF0000D4 +:10983000AC4D00206001002070B5046A0546082187 +:10984000204600F0E1FD214600222831284600F0A4 +:10985000F5FFE07C401CE0740120E08370BD000057 +:1098600010B51648046826E0216A002922D0488CE9 +:10987000421E4A84012806D0216A088C421E0A84AE +:1098800001280CD016E0216A2046897C012903D0EA +:109890000A2901D005290DD100F026FB0AE0216A32 +:1098A0002046897C012903D00A2901D0052901D14C +:1098B00000F0C4FC2468002CD6D110BD900100201B +:1098C000F8B5050010D02C6A002C10D00022FF2122 +:1098D0003531104602F054FC606100280AD0E27C69 +:1098E0004249002A09D00BE00920C043F8BD0820F6 +:1098F000C043F8BD0020C043F8BD4A68521C4A600E +:109900004968216041680120A1610870A1690026B1 +:109910004870A16906208870A069C670206801F0AF +:10992000D7F9A169091DEEF750FCA069310A06724A +:109930004172A069310A8672C172A16900200C319E +:10994000EEF743FCA07C0A2803D0052801D00428A8 +:1099500004D1A16968680C31EEF737FCA1690020D9 +:109960001031EEF732FCA16900201431EEF72DFC26 +:10997000A16900201831EEF728FC0020294620318B +:109980008A7A824203D92A182032D27A00E0002251 +:1099900007461C37A369401C80B2DA551028EFD364 +:1099A000002001462C31A269401C80B25654402848 +:1099B000F7D3002001466C31A269401C80B2565496 +:1099C0008028F7D30A4801F083F9A169EC31EEF75A +:1099D000FCFBA68300200146A269F0315054401CD4 +:1099E00080B24428F7D30020F8BD000060010020B9 +:1099F00063538263F8B50546046A002000900C2189 +:109A0000204600F001FD2846FFF75AFF060046D128 +:109A100001223521204600F0CBF90421204600F038 +:109A2000D7F904223221204600F0C2F9A06A02F0E0 +:109A3000FFFA0146204600F0D3F9042236212046E1 +:109A400000F0B6F9606A02F0F3FA0146204600F031 +:109A5000C7F907223D21204600F0AAF929462B31FB +:109A6000204600F0DEF9204600F026FAA08BF03008 +:109A700081B2606902F007FDA169A06A0C31EEF7BE +:109A8000A4FB6F680098686000954323074A6169EA +:109A9000606805F0BAFA28466F6000F009F8E07CCB +:109AA000401CE0740420E0833046F8BDBFF20100A2 +:109AB00010B500280AD0046A002C07D0606900287D +:109AC00001D002F08BFC00206061A06110BD00009D +:109AD000F8B505460020009031482C6AEEF76BFB84 +:109AE000A0620621204600F08FFC2846FFF7E8FE22 +:109AF00006003DD101223521204600F059F901210F +:109B0000204600F065F902223921204600F050F984 +:109B1000298D204600F0BFF904223721204600F0AD +:109B200047F90121204600F053F90321204600F0B7 +:109B30004FF91C21204600F04BF90621204600F089 +:109B400047F9204600F0B8F9A08BF03081B2606987 +:109B500002F099FC6F680098686000954323114AF1 +:109B60006169606805F051FA28466F60FFF7A0FF51 +:109B7000E07C401CC0B2E074062802D20121814082 +:109B800000E03C217D20C000414388B2FF21FF302E +:109B9000F531F430EEF79AFAE0833046F8BD000074 +:109BA000BBF20100BFF2010070B510480025052688 +:109BB000046817E0216A002913D0C88B012802D954 +:109BC000401EC8830DE001280BD1CD83204600F054 +:109BD0008DFC0120F5F78AF8206AC18B052900D990 +:109BE000C6832468002CE5D170BD000090010020E0 +:109BF00070B5044680680025002802D002F026F8DF +:109C0000A560E068002803D002F020F8E560258216 +:109C100070BD01780A064178090411438278C07842 +:109C200012020A431043704770B5C3680024002B2A +:109C30003BD0068A002E38D0002210E0342D03D00D +:109C40008D4206D1981870BD921C92B29C5C521C39 +:109C500004E0521C92B29D5C521CAA1892B2964229 +:109C600002D99D5CFF2DE9D1002C1ED0012C06D01D +:109C70008068022C08D0C02300222C3012E08068BB +:109C8000802300226C300DE04023F5E78C4201D1A7 +:109C9000801870BD521C92B2845C521CA21892B201 +:109CA0009A4202D2845CFF2CF0D1002070BD0000EB +:109CB000F8B5046A0020E062206360633321204627 +:109CC000FFF7B2FF002803D0801CFFF7A2FF6064FB +:109CD0003A212046FFF7A8FF002803D0801CFFF799 +:109CE00098FF01E0606C4008A0643B212046FFF72C +:109CF0009BFF002803D0801CFFF78BFF00E0606C07 +:109D0000E064A0680146103136D01030EEF753FA07 +:109D1000A06201212046FFF787FF002805D0801CA4 +:109D2000FFF777FF00F0D4FFE06203212046FFF742 +:109D30007BFF002805D0801CFFF76BFF00F0C8FFF9 +:109D400020631C212046FFF76FFF002805D0801CF0 +:109D5000FFF75FFF00F0BCFF606306212046FFF7BE +:109D600063FF060020D070788008A063022801D924 +:109D70000220A063002510E00020C9E7AF00B81959 +:109D8000801CFFF746FF00F0A3FF3919C86328467F +:109D90003C3100F01DFC6D1CEDB2A06BA842EDD86B +:109DA0000249284600F014FCF8BD0000BBF2010097 +:109DB00010B5838B8469E4185B1C8383E0342174C1 +:109DC000818B83695B18491C8183E0331A7410BD51 +:109DD000828B83699B18521C8283E033197470470D +:109DE00010B5828B83690C0E9B18521C8283E03362 +:109DF0001C74828B84690B0CA418521C8283E0347F +:109E00002374828B84690B0AA418521C8283E03469 +:109E10002374828B83699B18521C8283E0331974EC +:109E200010BD10B5828B836901249B18521C82835C +:109E3000E0331C74828B83690C789B18521C8283DC +:109E4000E0331C74828B83694C789B18521C82838C +:109E5000E0331C74828B83698C789B18521C82833C +:109E6000E0331C74828B8369CC789B18521C8283EC +:109E7000E0331C74828B83690C799B18521C82839B +:109E8000E0331C744B79818B82695218491C8183A1 +:109E9000E032137410BD10B5828B83690C0A9B18D5 +:109EA000521C8283E0331C74828B83699B18521C82 +:109EB0008283E033197410BD002814D0818B82692D +:109EC000FF235218491C8183E0321374002305E0FC +:109ED00082695218491C8183E0321374818B4429B2 +:109EE000F6D38A07F4D17047F8B5046A074604210F +:109EF000204600F089FA3846FFF7E2FC060037D129 +:109F0000012235212046FFF753FF03212046FFF7AA +:109F10005FFF022239212046FFF74AFF398D204694 +:109F2000FFF7B9FF7D6A002D0FD02846EEF733F911 +:109F3000C2B20C212046FFF73BFF03E020466D1C18 +:109F4000FFF746FF29780029F8D12046FFF7B4FF34 +:109F5000A08BF03081B2606902F095FA009743233C +:109F60000E4A6169606805F050F83846FFF7A0FDB9 +:109F7000E07C401CC0B2E0740A2803D27D21C900F5 +:109F8000484300E00648FF2180B2FF30F531F4304D +:109F9000EEF79CF8E0833046F8BD0000BFF2010008 +:109FA00010270000F8B5046A06460321204600F099 +:109FB0002BFA3046FFF784FC050031D10122352110 +:109FC0002046FFF7F5FE03212046FFF701FF02229E +:109FD00039212046FFF7ECFE092189012046FFF7D1 +:109FE0005AFF042232212046FFF7E2FEA06A02F067 +:109FF0001FF801462046FFF7F3FE2046FFF75CFFFF +:10A00000A08BF03081B2606902F03DFA00964323E4 +:10A010000E4A6169606804F0F8FF3046FFF748FDBA +:10A02000E07C401CC0B2E0740A2803D27D21C90044 +:10A03000484300E00648FF2180B2FF30F531F4309C +:10A04000EEF744F8E0832846F8BD0000BFF20100B7 +:10A0500010270000F8B50446056A50895168164675 +:10A060002C282DD3087802282AD100202A22125D1C +:10A0700008E0231820330F18DB7A3F7FBB4276D1EC +:10A08000401CC0B28242F4D8081DEEF794F801F0EB +:10A09000CFFF296888426AD13146284600F062FA2B +:10A0A000002864D135212846FFF7BEFD00285ED088 +:10A0B00080780027052804D0062819D0022839D036 +:10A0C00055E0A87C012806D003280CD004280AD02B +:10A0D000052808D04BE02046FFF7EAFDEF83204635 +:10A0E000FFF7AAFB43E0EF832046FFF7F3FA3EE0D9 +:10A0F000A87C032805D0012803D0042801D0052816 +:10A1000035D1EF832046276A01F022FF1C49204603 +:10A1100001F032FF1A49204601F022FF184920467B +:10A1200001F06CFF0C21384600F06EF92046FFF775 +:10A13000CFFC1CE0A87C062819D1EF832746246AAF +:10A1400036212046FFF770FD002810D0801CFFF755 +:10A1500060FD00F0BDFD6062A068014610310DD0C9 +:10A160001030EEF728F8A062384600F0C3F8284611 +:10A17000FFF73EFD304602F031F9F8BD0020F2E76E +:10A18000BBF20100F8B5046A05460D21204600F037 +:10A190003BF900206062E062A06260632063E064DB +:10A1A000A0646064A0632846FFF78AFB06001CD108 +:10A1B000012235212046FFF7FBFD07212046FFF74E +:10A1C00007FE2046FFF778FEA08BF03081B2606971 +:10A1D00002F059F9009522464323243261696068F0 +:10A1E00004F013FF2846FFF763FCE07C401CC0B27C +:10A1F000E0740A2803D27D21C900484300E00D48DD +:10A20000FF2180B2FF30F531F430EDF75FFFE083DE +:10A21000284601F09DFE0849284601F0ADFE06499A +:10A22000284601F09DFE0449284601F0E7FE30462D +:10A23000F8BD000010270000BBF20100F8B5046A69 +:10A2400007460521204600F0DFF83846FFF738FBC7 +:10A25000060038D1012235212046FFF7A9FD032150 +:10A260002046FFF7B5FD022239212046FFF7A0FD69 +:10A27000398D2046FFF70FFE7D6A002D0FD028464E +:10A28000EDF789FFC2B20C212046FFF791FD03E0F4 +:10A2900020466D1CFFF79CFD29780029F8D1204647 +:10A2A000FFF70AFEA08BF03081B2606902F0EBF894 +:10A2B00000972246432324326169606804F0A5FEBA +:10A2C0003846FFF7F5FBE07C401CC0B2E0740A287A +:10A2D00003D27D210901484300E00548FF2180B2F7 +:10A2E000FF30F531F430EDF7F1FEE0833046F8BD94 +:10A2F000204E0000F8B5046A06460121204600F011 +:10A3000083F83046FFF7DCFA070064D101223521DB +:10A310002046FFF74DFD03212046FFF759FD02229D +:10A3200039212046FFF744FD318D2046FFF7B3FD6C +:10A33000042232212046FFF73BFDA06A01F078FE9F +:10A3400001462046FFF74CFD042236212046FFF748 +:10A350002FFD606A01F06CFE01462046FFF740FDCC +:10A36000042237212046FFF723FD01212046FFF775 +:10A370002FFD03212046FFF72BFD1C212046FFF770 +:10A3800027FD06212046FFF723FD756A002D0FD01B +:10A390002846EDF700FFC2B20C212046FFF708FD6A +:10A3A00003E020466D1CFFF713FD29780029F8D142 +:10A3B0002046FFF781FDA08BF03081B2606902F08A +:10A3C00062F8009643230F4A6169606804F01DFE3D +:10A3D0003046FFF76DFBE07C401CC0B2E0740628FD +:10A3E00002D20121814000E03C217D20C000414398 +:10A3F00088B2FF21FF30F531F430EDF767FEE083DE +:10A400003846F8BDBFF20100827C8A4202D08174D6 +:10A410000021C17470470000F8B5040035D026460D +:10A420002036707CF7210840256A7074208D092140 +:10A4300000278901FF43884225D3002D28D0686872 +:10A44000002801D004F0ACFD50212846EDF781FE34 +:10A4500004F096FD6860002821D04422154904F0DC +:10A46000EBFB43221349686804F034FC224612498E +:10A47000686804F092FD2046FFF72AFB002814D0FC +:10A48000204600F01BF83846F8BD0920C043F8BD4F +:10A49000502001F019FC0500F5D02562D4E72846CC +:10A4A00001F0D4FB00202062EDE7717C082211430B +:10A4B0007174F8BDBBF2010055A0010070B5040035 +:10A4C000256A12D020462030417CF7221140417489 +:10A4D000002D0AD068680026002802D004F060FD34 +:10A4E0006E60284601F0B2FB266270BD10B5026AAC +:10A4F0000446917C0C2912D0062910D0012911D0D4 +:10A5000008291BD0052923D0042924D0032905D1EB +:10A51000D07C022810D22046FFF744FD10BDFFF783 +:10A52000D7FA10BDD07C052803D82046FFF7E2FEFD +:10A5300010BD2046FFF726FE2046F0E7D07C01281C +:10A54000204602D8FFF778F910BDFFF7C3F810BD19 +:10A55000FFF774FE10BDD07C0828EAD82046FFF72C +:10A56000C3FC10BDF8B50E46040023D0FFF740FB36 +:10A57000308900256F1EF02807D9F03880B220827C +:10A5800001F0A2FBE060002817D0F02001F09CFB56 +:10A59000A060011E13D00023F022304601F0E9FE36 +:10A5A000E168002904D0228AF023304601F0E1FE60 +:10A5B0000020F8BD0920C043F8BD258206E0E06810 +:10A5C000002803D001F042FBE560F6E73846F8BD0D +:10A5D00070B505460C46022812D20A484068002889 +:10A5E0000ED0002C0CD00846EDF7E5FD002807D072 +:10A5F0000449A8000831401804222146EDF790FDD7 +:10A6000070BD000034020020F7B584B006007DD094 +:10A61000069840892B287AD30698456801202C4655 +:10A620000F3400F057FB6178227809021143884209 +:10A630007CD1414800F04EFB01466079227900024E +:10A640001043814272D10120C00200F043FB014659 +:10A65000E078A27800021043814267D1374800F0C9 +:10A6600039FBAA7B6B7B1102194388425ED12146DC +:10A670000E31042202A80091EDF752FD2146183157 +:10A68000042203A80191EDF74BFD7068002805D066 +:10A690000399814202D101273B4601E000273B4656 +:10A6A0002246083202A9304604F024FDE079A1795F +:10A6B0000002084300F00EFB012802D0022835D129 +:10A6C00026E0002F32D0022000F004FBA071000A27 +:10A6D000E071042200990198EDF722FD0422311D5A +:10A6E0000098EDF71DFD0621491EC9B26018027AD7 +:10A6F00082746B185A70059A0029525C0272059890 +:10A70000405CD871F0D1B26906990DE011E00DE01E +:10A7100002A93046FEF7CAFF09480168002905D0A2 +:10A72000C268002A02D002A930469047069801F07C +:10A7300055FE07B0F0BD000004060000060800004A +:10A74000104E002070B5050011D04C6820461B301B +:10A750000646EDF730FDA9686A6808400A40904255 +:10A7600005D10023E21D3146284604F0C3FC70BD2C +:10A77000FEB50E46044615460F21304601F050FE48 +:10A78000002802D00120C043FEBD2146284600F02B +:10A7900039FC002801D0284B2FE02846EDF70BFDAF +:10A7A00007460F20000701F043FC07400720400741 +:10A7B00001F03EFC874227D101216846017000214B +:10A7C00041705E2181702846EDF7F5FC01F030FC08 +:10A7D0004002410E6846C1702846EDF7ECFC01F0DE +:10A7E00027FC010A684601712846EDF7E4FC01F0F8 +:10A7F0001FFC0146684641716B4622462B323146AA +:10A80000204600F0E1F8FEBD2846EDF7D4FCA16833 +:10A81000626808400A40904204D0E068002807D0EF +:10A8200025460C3532462946204600F007F8FEBD85 +:10A830000320C043FEBD0000C3F20100F7B586B09F +:10A8400006980D462B3000900020C043019014461E +:10A850002846069900F0D6FB002827D12846EDF7B8 +:10A86000AAFC06460F20000701F0E2FB0640072085 +:10A87000400701F0DDFB864218D0002D16D0284697 +:10A88000EDF799FC002811D00121284600F066F967 +:10A8900000280DDB144E070170683918887A0028EB +:10A8A00008D0012808D0002C06D00EE00920C043B3 +:10A8B00009B0F0BD01208872F7F7AAFB2946069877 +:10A8C00000F070F80190002C0BD070683B18987A5B +:10A8D000022806D121461B1D009A069800F074F844 +:10A8E00001900198E4E70000E8010020FFB581B085 +:10A8F0001F4600222B21032001F042FC06004AD013 +:10A9000075680D982C460F3400F0E4F9A071000A28 +:10A91000E0710620401EC0B23A5C21180A720B9A00 +:10A92000125C8A7403990A5C29184A70029A0028FA +:10A93000125CCA71EED1204604220E300A99EDF75E +:10A94000EFFB2046042218300C99EDF7E9FB0120BB +:10A9500000F0C0F92070000A60700120C00200F011 +:10A96000B9F9A070000AE0700C4800F0B3F920714A +:10A97000000A60710A4800F0ADF96873000AA87314 +:10A9800001983146826990470446304601F026FD21 +:10A99000204605B0F0BD0020C043FAE704060000E1 +:10A9A000060800001FB501230393064C021D034651 +:10A9B000009202912B3301941946A21FFFF796FFD4 +:10A9C00004B010BDC9F20100F8B54D680E46074647 +:10A9D0000624641EE4B22819195D4170115DC1712D +:10A9E000002CF6D10120C00200F074F96873000A4F +:10A9F000A873BA69314638469047F8BD30B50F495B +:10AA000000200F4C4B6814E00101C918CA7A521C8F +:10AA1000D2B2CA728D7A022D02D0012D03D006E087 +:10AA2000F02A02D203E0022A01D300228A72401CDB +:10AA3000C0B2E1688142E7D830BD0000E8010020E3 +:10AA4000F04D002070B5044640680D46817B427B86 +:10AA50000802104300F03EF90121C902401A04D057 +:10AA6000062816D00F49C8420AD121462846FFF7CA +:10AA700069FE0E21C943204601F0D2FC002803D014 +:10AA8000204601F0ABFC0AE02946204600F084FB9A +:10AA900005E0294622462B312846FFF7B5FD002068 +:10AAA00070BD00004F66FFFF10B5FFB081B00446D7 +:10AAB00068460B496062EDF775FB20466521203042 +:10AAC000E56181746E21C174064860610648A06129 +:10AAD000204600F051FD7FB0002001B010BD000005 +:10AAE0008054002071A701000DB7010070B5054624 +:10AAF0001648C16B002927D0154A5178491C51705E +:10AB0000144A80211160C06B134A0006000E1160C8 +:10AB10001AD0284600F08EFD040015D06068817BB5 +:10AB2000427B0802104300F0D5F80121C902401A07 +:10AB300001D0062805D12A692946204690470028D9 +:10AB400002D0204601F04AFC70BD000034550020C0 +:10AB5000F001002080E100E000E100E0F3B54148B1 +:10AB600087B0C76800247DB202943F4901950394E1 +:10AB7000009507984E6800284DD00846007805904B +:10AB8000000104908019807A022844D10798EDF7DB +:10AB900012FB0499715888423DD1059840B209B022 +:10ABA000F0BDAF4204D120018019807A002809D07D +:10ABB0002001059080190490807A012804D0022891 +:10ABC00016D026E065B224E00798002807D0EDF7FC +:10ABD000F2FA05997158884201D123483FE0049860 +:10ABE0000399C07A884214D361B20191039010E0B6 +:10ABF0000798002805D0EDF7DEFA059971588842CC +:10AC0000EBD004980299C07A884202D361B20091D5 +:10AC10000290641CE4B2A742C3D80020C043AF42F4 +:10AC200002D10899C907BAD008998907B7D4AF42A9 +:10AC300001D9ECB206E000998F4202D801998F4207 +:10AC4000ADD9CCB227010020BD19A8720798002801 +:10AC500002D0EDF7B0FAF05100210348E972047018 +:10AC600060B29CE7F04D0020E80100200249CA7A5A +:10AC7000082AFCD0087270470030004010B5002848 +:10AC800023D0124B0022001F196803E0814203D831 +:10AC90000A4649680029F9D1002A0AD01368841AA3 +:10ACA0009C4204D1006818181060104602E0506001 +:10ACB00000E01860002907D002680B1A934203D104 +:10ACC0000B68D21802604968416010BD7C02002008 +:10ACD00000BA704740BA704710B50A46032100F029 +:10ACE000FBF810BDF3B54568044668782978000282 +:10ACF00089B0084301F09EF90005000F8000414231 +:10AD000007900091204601F08BFB002824D1208978 +:10AD1000042821D366683078032802D00828F5D1AA +:10AD20001BE0707C327C0002104331460831377AD8 +:10AD3000000A0D4601900422103103A8EDF7F0F946 +:10AD40003807800E28188178C0780902014373788B +:10AD5000019A0398F7F79AF9B6E0284610300126D1 +:10AD60000490EDF728FA07460F20000701F060F97C +:10AD700007400720400701F05BF9874200D1002619 +:10AD80000A99049800F03EF9002802D0F8F740FE36 +:10AD90009AE0F8F73DFE00287ED0002E7CD0208976 +:10ADA000082879D3204600F0D2F8002874D1222157 +:10ADB000204601F035FB00281DD02046079901F000 +:10ADC0002FFB002868D121890022022001F0D8F948 +:10ADD000060079D0214601F082FA002874D1756806 +:10ADE0003046009901F01CFB00286DD1204601F08F +:10ADF000F5FA344606E02121C943204601F010FB54 +:10AE0000002861D128460C30666806900490EDF762 +:10AE1000D2F907460390284610300090EDF7CBF9A1 +:10AE20000499EDF7D2F938460099EDF7CEF90027ED +:10AE300037702848FFF74EFF0146F078B2780002DD +:10AE400010430122D2028142104607D8FFF742FF89 +:10AE5000F178B27809021143401C05E0FFF73AFF90 +:10AE6000F178B278090211434018B070000AF0700E +:10AE7000687A297A0002084301F0DCF80121C0B2A7 +:10AE8000C9034018FFF726FF2872000A6872380AC3 +:10AE9000AF72E872142100E016E0284600F051F885 +:10AEA000A872000AE8722046079901F0B9FA002852 +:10AEB0000AD10A9801210191029080230022009773 +:10AEC0002046069900F0A8FA204601F087FA0BB058 +:10AED000F0BD0000FFF70000F7B50E4682B000227B +:10AEE0002421012001F04CF9050028D002986C685B +:10AEF0004768267004986070002626716671A671F6 +:10AF0000E67102981C22416868680830EDF708F97C +:10AF1000A670300AE0706989204600F012F8A0702F +:10AF2000000AE07001203A46019080230C32002193 +:10AF30000096284600F056FA284601F04FFA05B070 +:10AF4000F0BD10B500F042FCC04380B210BDF8B5B2 +:10AF500000252E46044601270FE06189606800F055 +:10AF600035FC4019010C80B20D18A07AC00703D03F +:10AF7000B81BC6B268BA85B22468002CEDD1002E89 +:10AF800001D068BA85B2E84380B2F8BDFFB50025AC +:10AF900081B02E46044601270FE06189606800F009 +:10AFA00015FC4019010C80B20D18A07AC00703D01F +:10AFB000B81BC6B268BA85B22468002CEDD1002E49 +:10AFC00001D068BA85B20298EDF7F5F881B2491957 +:10AFD000000C44180398EDF7EEF881B20919000C43 +:10AFE00044180498FFF776FE04190A98FFF772FEDA +:10AFF0000019010C80B20818010C0818C04380B277 +:10B0000005B0F0BD10B50C46EDF7D5F80246411C71 +:10B0100013D0002A11D03121095D89070BD5616851 +:10B02000914208D0A0681346034001408B4202D1F0 +:10B030001043401C01D0002010BD012010BDF7B509 +:10B040008EB004460F981426008D0090606807901B +:10B05000C179827908020025104300F0EBFFC1049A +:10B06000C90C05910121490308400A902089143830 +:10B0700087B200981438C117490F08900818400388 +:10B08000000C09907FE00898874201DC012000E075 +:10B09000002005990A9AC904C90C11430B91002894 +:10B0A0001AD0384680B2069000221421022001F006 +:10B0B00067F80490002817D0406814220799EDF72C +:10B0C0002FF8049840680C9060688019606060896F +:10B0D000801B6081069E26E0084601214903084343 +:10B0E0000B900998C000DDE70020C04311B0F0BD0F +:10B0F0006589B54200D93546002D13D002220021C2 +:10B10000032001F03DF8010042D0606848600D81E5 +:10B110004D81049801F0BEF8701B0604360C04D073 +:10B120002468E5E72468002EE2D12E460B98FFF74D +:10B13000D1FD0C998871000AC8710698143080B24C +:10B14000FFF7C8FD01460C988170090AC1700C9880 +:10B1500000218172C17214210C98FFF7F2FE0C9944 +:10B160008872000AC8720F98109A43690499984728 +:10B17000049801F033F906980999381A87B20598AE +:10B18000401880B20590002F00D07CE70020ADE78A +:10B19000049801F023F9A7E7F3B585B001200390E7 +:10B1A00005980E464568687829780002084300F043 +:10B1B00041FF000B042803D0059801F00FF906E1C8 +:10B1C000687829780002084300F034FF0005000F7A +:10B1D00080000090E878A9780002084300F02AFF78 +:10B1E00004460598418900988142E5D30598008975 +:10B1F000A042E1D328460099FFF7A3FE0028DBD147 +:10B200002146059801F03FF9012002900F203446B5 +:10B21000000700F00DFF0720400700F009FF20465F +:10B2200000F07CFE002820D0201D1ED06768002F73 +:10B230001BD0284610300190ECF7BDFFB84223D058 +:10B2400021460198FFF7DEFE00281DD10198ECF79A +:10B25000B2FF07460F20000700F0EAFE0740072074 +:10B26000400700F0E5FE87420ED00298002804D087 +:10B27000002002905748046800E02468B44200D1DE +:10B280002468002CCBD101E0002C2DD1687A297ADA +:10B290000002084300F0CEFEC0B211280ED1009883 +:10B2A0002918C87889780002084300F0C3FE4428B2 +:10B2B00004D1002034460390002E15D1687A297AF3 +:10B2C0000002084300F0B6FEC0B211280CD100986D +:10B2D0002918C87889780002084300F0ABFE3E497F +:10B2E000884201D134461FE0039800281CD028462C +:10B2F0000C300746ECF75FFF002815D03146384682 +:10B30000FFF780FE002800D056E73846ECF753FFE1 +:10B3100007460F20000700F08BFE0740072040077C +:10B3200000F086FE8742EFD0002CEDD02B48FFF7CF +:10B33000D1FCE979AA79090211430842E4D1284CE9 +:10B3400031466660A560059801F064F900283BD19C +:10B35000687A297A0002084300F06CFEC0B2012826 +:10B3600015D006280ED01128314607D028461030B7 +:10B370000646FFF747FE00280ED022E0059803F0AE +:10B38000EDFC21E03146059801F0EEFD1CE0314670 +:10B390000598FFF7A7FC17E03046ECF70CFF0646D0 +:10B3A0000F20000700F044FE06400720400700F091 +:10B3B0003FFE864205D00598022145600598FFF7BB +:10B3C0008BFC059801F00AF800206060A060002066 +:10B3D00007B0F0BD900100206C070000FF3F0000A7 +:10B3E0006C020020FFB583B01F46164610460C9D28 +:10B3F0000D9C00F097F800280AD002903B46324698 +:10B40000009501940499039800F006F807B0F0BD88 +:10B410000320C043FAE70000FFB581B00646039859 +:10B420000C9D1F46002865D0142001460090304630 +:10B4300000F0F6FF002803D00120C04305B0F0BDA6 +:10B440007468607A217A0002084300F0F3FDC0B20C +:10B4500039020843FFF73EFC2072010A617200F0D6 +:10B46000E9FD000A0B9900020843FFF733FC207244 +:10B47000000A60720398ECF79EFE21461031ECF74B +:10B48000A4FE05200A99000208430121890308430C +:10B4900080B2FFF71FFC2070000A60703089FFF750 +:10B4A00019FCA070000AE0700020A0711C4FE07130 +:10B4B0003888FFF70FFC2071000A60713888401C43 +:10B4C00038800298002803D0ECF775FE002802D1DE +:10B4D000281D00D0686821460C31ECF776FE00206C +:10B4E000A072E07220460099FFF72BFDA072000ABF +:10B4F000E07202E0706810300390288D002808D0B8 +:10B500003189814205D929463046039AFFF797FDD4 +:10B5100094E76B6931462846039A98478EE7000006 +:10B520006C02002070B505461148046811E0204601 +:10B5300000F0F4FC00280BD02846ECF73CFE014656 +:10B54000A068626801400240914201D1204670BD6E +:10B550002468002CEBD1074C2068002805D000F0AF +:10B56000DDFC002801D0206870BD002070BD000007 +:10B570009001002094010020F8B5044625460620DD +:10B5800020352249A8720A6A00202618135C20364A +:10B59000401CC0B2F3720628F7D31E4F1C480F633D +:10B5A00088633846203848631B48C8631B49002617 +:10B5B0000E601B4A3046127804E083005B185E6020 +:10B5C000401CC0B29042F8D3002004E083005B1816 +:10B5D000DF60401CC0B29042F8D31048C421C43888 +:10B5E000ECF7B7FD0D480121443801640D49218570 +:10B5F00033216974806B0C49098848430449401819 +:10B600000A4988810A480660F8BD0000F001002060 +:10B61000902B0020804E0020502B002078550020D9 +:10B620006B010020DC050000F04D00200090004080 +:10B6300078010020F8B50027304880213D460160A0 +:10B640002F4C606B621A80008018C06B636B80B2F5 +:10B650009B009B189B6F636B9B00D258D2B20092E9 +:10B66000264A803A1160009A022A19D1002817D080 +:10B67000401C81B20322104600F082FD05003AD042 +:10B68000791E00F0CDFE2E467F1CFFB2052F01D99A +:10B690000020F8BD7068F4F71FFC3668002EF3D167 +:10B6A000164880210160E26B00231648002A02D070 +:10B6B000009A022A0FD00278134E521CD2B20270A6 +:10B6C0003678B2420ED30370E06B401EE063E06B4D +:10B6D000002805D006E00370E06B401EE06301E047 +:10B6E000A06B6063054880380160002D03D0012104 +:10B6F000284600F095FE2846F8BD000080E100E0F5 +:10B7000034550020F00100206A010020F3B5002527 +:10B7100081B02C46691E029800F082FE20481E4F20 +:10B72000016A1E4A1F4804E0641C944206D801299D +:10B7300004D00368002BF7D1029C0EE000210160C9 +:10B740000B20C043FEBD66896168A81985B23246E8 +:10B750003846ECF7E5FC2468BF19002CF3D1124AF7 +:10B760000D48136801219B009B1859601168491C02 +:10B77000116011680D4B1B78994201D300211160B3 +:10B780003C2D00D23C252946F4F7D6FB0121029836 +:10B7900000F046FE0020FEBD804E0020FFFF0000AE +:10B7A000AC4D002078010020785500206B0100206E +:10B7B00010B500F061FA00F057FB034880680028DC +:10B7C00000D0804710BD00009855002010B5002221 +:10B7D00007E00378891E1C02437889B22343D218FC +:10B7E000801C0129F5D8002902D000780002121827 +:10B7F000100C91B24018010C02D0010C80B2081854 +:10B8000080B2FFF767FA10BD30B40024002812D9C7 +:10B810007D25ED000023012100BF00BF0A46491E1F +:10B8200089B2002AF8D15B1C9BB2AB42F3D3641CF3 +:10B83000A4B28442EED330BC7047002300280BD959 +:10B84000012100BF00BF0A46491E89B2002AF8D173 +:10B850005B1C9BB28342F3D370470000002806D0E4 +:10B8600010B5024602A10120F4F74EF910BD704751 +:10B870006D53746F7049664572726F723A2025304D +:10B8800032580D0A0000000086B0F9F799FA10212D +:10B890000120F7F79FFD0320FFF7B6FF0220F8F71E +:10B8A000D9FE7F487D4941617E4A0723D16909025B +:10B8B000090A44042143D161002181610361F6F743 +:10B8C0007DF8F8F707F9F8F76FFCF4F765FC7D21D0 +:10B8D00009030020FBF724F873484068734DC00249 +:10B8E00010D473A10020F4F74DF9774E774C2968F6 +:10B8F0002068401AB04278D92068286074A10020DE +:10B90000F4F740F978A10020F4F73CF97DA27FA17B +:10B910007FA0FDF78DFE8148F8F712F9002818D0B6 +:10B920007E4CE37822786178A078029104930392A8 +:10B930000190207900906379A27979A10020F4F731 +:10B9400021F92078F8F7BEF87D21C90048437E49E7 +:10B9500008607E490020F8F715FE7D490020F8F7C1 +:10B9600011FE7C490020F8F70DFE7B490020F8F716 +:10B9700009FEF8F775FA7948F8F73EFD784C794AF0 +:10B98000206004217848F8F7CDFC78A100202268D7 +:10B99000F4F7F8F87448C2788178009101924378FE +:10B9A000027876A10020F4F7EDF8EFF78DFB7948E7 +:10B9B000F8F7E4FE784E794869680068421AE12198 +:10B9C00009018A4250D3686075A10020F4F7DAF8C3 +:10B9D000F8F780FC0746F4F751FE0446A74243D02F +:10B9E000306800280DD010E0FFE7F8F773F9F9F799 +:10B9F000F7FFEFF7FBFA012800D078E7206828600E +:10BA000075E7A62000F0ECF83060A621ECF7A1FB6A +:10BA10003068C022017D23461143CF2211401031EE +:10BA200001754475210A8175210CC175210E0176BD +:10BA30003A4661A10020F4F7A5F83846F8F724FD4E +:10BA400030681421401C41180A7810464A781202C6 +:10BA500010438A78C9781204104309060843F8F79E +:10BA6000EBFC5E4901200870F8F734F9F7F780F92C +:10BA7000FCF7C6FCF5F7C0FFF9F7B2FFFAF704F9D7 +:10BA8000FAF75EFAFAF7BEFBEDF7E8FDF0F79CF97E +:10BA9000EDF75CFAF3F7AEFF8DE700007F0C0000D6 +:10BAA00000E000E004ED00E0C010004000000020D5 +:10BAB000424C595F43315F544553542053544152D3 +:10BAC000542E2E2E2E0D0A0030750000100000207E +:10BAD000424C595F43315F5445535420454E4421F5 +:10BAE00021210D0A00000000424C595F43315F41A3 +:10BAF00050502056303520544553542E2E2E2E0DA6 +:10BB00000A000000312E303300000000312E3000DA +:10BB1000424C565F43315F415050000028000020E6 +:10BB2000525443CAB1BCE43A20323025582D25582E +:10BB30002D25582025583A25583A255820D0C7C6D3 +:10BB4000DA25580D0A0000001800002002E000006D +:10BB500001E0000005E0000004E0000034E8080017 +:10BB60000C0100203CE808001001002050726F6AB0 +:10BB7000656374436F64653A2564000056657273AB +:10BB8000696F6E733A25642E25642E25642E256414 +:10BB90000000000020000900040100201400002023 +:10BBA00054465450204C6F672073746172742E2E6B +:10BBB0002E2E0D0A000000006C6F675F61646472D6 +:10BBC000733A25303858206C6F675F616464727314 +:10BBD000313A25303858200D0A000000600000205E +:10BBE000F0B50B30C108C900144F0026144A0FE00D +:10BBF00003688B420BD38B4205D95C1A4318456806 +:10BC000030C3083B00E04368136002C004E0021D3B +:10BC100010680028ECD13046002803D1386800288D +:10BC200001D00020F0BD064A06481060064A121AEC +:10BC3000D208D20044C001203860D7E7800200203B +:10BC40007C02002044580020405C002010B50028F1 +:10BC50000FD008494A6890420BD38A68904208D2B4 +:10BC6000002208380271CA68904200D2C86000F011 +:10BC700047FC10BD7C01002030B51049104A08680F +:10BC8000104CC01C80088000486013890125DB1C13 +:10BC9000234003800023438003719368DB1C9B08CF +:10BCA0009B001B188B601D711589ED1C25401D80A4 +:10BCB0001289D21C22405A80C86030BD7C0100200D +:10BCC000F04D0020FCFF0000F0B500284AD02849C4 +:10BCD000C31C0B400C2B00D20C23264CA068C01CAC +:10BCE0008508AD009D4241D32348C6684268B11A19 +:10BCF00089B2EC1A38E050180579002D33D1058847 +:10BD00006D1A083D9D422ED304881F46641A1437CD +:10BD10000125083CBC4215D3CB1808339CB213193B +:10BD200000271F7107881F805980048005711988BA +:10BD3000104B9B68DB1C9B089B00994203D0931C13 +:10BD4000CC5200E005710C49B0420AD18C68CB6836 +:10BD50001D79002D05D0A34203D01B889B18CB6012 +:10BD6000F6E70830F0BD515A8C42C4D80020F0BD2F +:10BD7000FCFF0000F04D00207C010020F8B5324AA5 +:10BD8000C91C11400C2900D20C21304A9268D21CE7 +:10BD9000920892008A4210D32D4B5C68A0420DD3CA +:10BDA0009A6890420AD20246083A131B15889BB241 +:10BDB000EE1A083EB6B2B14201D90020F8BDB14238 +:10BDC000FCD02D19AC462F79214DED68AE46204DA3 +:10BDD0006D68AD1C002F1BD00F461437B742EDD84D +:10BDE000591808318EB21A4FA119714500D2F96065 +:10BDF00000240C7114880C804B801680134A09882B +:10BE00009268D21C920892009142D7D04E53F8BD4E +:10BE1000591866460831368889B20096E64502D13F +:10BE20000B4E6718F760641800262671009E268066 +:10BE30006380064B11809B682288DB1C9B089B005B +:10BE40009A42E4D05153F8BDFCFF0000F04D0020B1 +:10BE50007C010020002904D08200024883580B6036 +:10BE6000815070470C580020F0B50020401C80B273 +:10BE70000828FBD30E490F4A8868C01C8408A40018 +:10BE80000020002386009351450007E09759276062 +:10BE900094510F687F5B3C195B1C9BB24F687F5BC2 +:10BEA0009F42F3D8401C80B20828EAD3F0BD0000BE +:10BEB000440200200C580020082801D300207047BD +:10BEC0000349820088580028F9D003688B507047D6 +:10BED0000C580020F8B504460025089F06986560B8 +:10BEE000A56026462036E560757425620A4DE0613E +:10BEF00028783075401C28702046276100F013F820 +:10BF0000079920468847002801D00020F8BD6868BE +:10BF1000206020466C60F8BD8C0100202030407C01 +:10BF2000C007C00F704770B51D461646044600F0A6 +:10BF300023F83146204600F061F82946204600F0FB +:10BF40000FF870BD01498860704700008C01002027 +:10BF50002030417CCA0702D049084900417470472B +:10BF600010B50446002904D00846ECF724F9E06037 +:10BF700010BD0020FBE70000F8B505460F4600267F +:10BF80000846ECF718F96968884228D01948006813 +:10BF90000FE001686A6891420AD10121C46800F08B +:10BFA000F5FB3146761C2046F6B2642901D902E041 +:10BFB000C0680028EDD1104804680EE0002C0BD0BA +:10BFC0002068002808D06968884205D1002F0DD06C +:10BFD0003846ECF7F0F82060E468002CEED1002F32 +:10BFE00006D03846ECF7E7F86860F8BD0020F2E7C5 +:10BFF0000020F9E7AC010020A801002010B504469C +:10C00000002904D00846ECF7D6F8A06010BD002047 +:10C01000FBE710B502462032517CCB0707D1012344 +:10C0200019435174890602D5011DFEF7BBFC10BDF2 +:10C0300000BA704740BA7047F0B5FFB00E4684B002 +:10C04000174604461221ECF784F830787178000224 +:10C0500008182080B078F1780002081880B2020435 +:10C060000121002A00DAA1704204120FE270420599 +:10C0700000D52171820500D56171C20500D5A1717D +:10C08000020600D5E1710007000F20723179707946 +:10C090000902401881B26181B279F07912028018E8 +:10C0A000A081327A707A12028018E081B27AF07A36 +:10C0B00012028018208230460C30002500290ED94B +:10C0C0000146009002AA3046F7F7B6F901460098FB +:10C0D0006D1C40186189ADB2001DA942F0D8002145 +:10C0E0000091A189002932D90546014602AA3046AD +:10C0F000F7F7A2F92D18287869780002081880B29D +:10C100000A350D281BD201007944097949188F445A +:10C110001606101616101610101016161000287895 +:10C12000387068787870A878B870E878F8702D1D45 +:10C1300005E002AA29463046F7F77EF92D18009946 +:10C140002846491C89B20091A2898A42CCD8002095 +:10C15000E18901E0401C80B28142FBD80020218AA5 +:10C1600001E0401C80B28142FBD8207A002803D035 +:10C170007FB0002004B0F0BD7FB0012004B0F0BD5E +:10C18000F8B5002516460F46002806D0012805D030 +:10C19000022804D0032878D102E0142514350E3586 +:10C1A000002E49D0012E5FD0022E5DD0032E6CD11F +:10C1B0000720FFF781FE040067D02673002020606F +:10C1C00060191330B0436060314827814068ED1C2E +:10C1D0003930A908B0438900401AB84200D938461E +:10C1E00080B201216081E1813D1A00941DE00720A9 +:10C1F000FFF762FE00281BD0067300214173016027 +:10C200000099AAB208602249028149683931890837 +:10C2100089008A4200D2294689B202464181103201 +:10C2200042600122C2816D1A0090002DDFDC26E001 +:10C23000204600F0D3F828E0284613308108F81C87 +:10C24000800889008000081880B2FFF73DFD0400D7 +:10C250001BD06019133080088000606027816781DF +:10C260000020206020730AE00620FFF725FE04006E +:10C270000BD0002060602781678120602673012039 +:10C28000E081002060732046F8BD0020F8BD00006A +:10C29000F04D002010B500280FD000290DD004E08B +:10C2A00003890C891B19038110460268002AF7D103 +:10C2B00002890B89D2180281016010BD10B50C46AD +:10C2C000FFF7E8FF204600F007F910BD002102E06B +:10C2D000491C0068C9B20028FAD108467047F8B571 +:10C2E00000270C4605463E46002805D0002C03D00A +:10C2F00028892189884202D20920C043F8BD688973 +:10C30000C11B6089801B814201DB80B200E088B2E2 +:10C3100000906068009A81196868C019EBF700FF07 +:10C320000098381887B20098301886B26889B842E9 +:10C3300001D12D6800276089B04201D82468002609 +:10C34000002C06D060892189884202D1206800280B +:10C3500008D1002D09D068892989884205D128682B +:10C36000002802D00820C043F8BD002CC7D100200F +:10C37000F8BDFFB5002181B016460091002806D017 +:10C380000299002902D00027044621E0002005B0D0 +:10C39000F0BD002B05D06089984202D8181A83B2EC +:10C3A00015E06089C01A85B2B54200D9354660688B +:10C3B0002A46C1180298C019EBF7B2FE009840193E +:10C3C00080B20090781987B2701B86B2002324686F +:10C3D000002E01D0002CDCD10098D8E770B50028E1 +:10C3E00015D00024C189491E0904090CC1810DD151 +:10C3F000017B056803290BD001290CD002290AD042 +:10C40000FFF724FC641CE4B22800EBD1204670BD89 +:10C410000146072001E001460620FFF71BFDF1E77A +:10C4200010B5002909D0002807D0002907DA4A42B0 +:10C4300093B242899A4224D302E0002010BD8BB20D +:10C44000027B4468002A06D0032A04D0022A0AD0BC +:10C45000012A08D015E0621A0346103342609A425E +:10C4600008D244600DE000290BDA42899A4208D3D1 +:10C47000621A426042895218428102895118018130 +:10C48000DBE7012010BD70B502898A4223D98A1AE0 +:10C490000D46044605E0281A85B2208980182081BF +:10C4A00024686089A842F6D3207B00280AD16089DD +:10C4B000A84207D0A088001B401981B22046FFF790 +:10C4C0005DFC0446658125812068002801D0FFF7C6 +:10C4D00085FF0020206070BD002802D0C189491C62 +:10C4E000C1817047C107044803D0FF211F31416259 +:10C4F00070470249FBE70000009000401E01040065 +:10C5000030B5134902884B68D2189C1C90420ED05B +:10C510001579002D0BD18D68AA4208D0CD689542BF +:10C5200000D1C860158805801288C51A1553428845 +:10C53000D21882420BD01579002D08D1CD688542E2 +:10C5400000D1CA60018811800088D11A015330BD22 +:10C550007C010020F0B593B00446402102A8EBF71F +:10C56000F8FD2246102102A8FCF7F4FE0024154F26 +:10C57000054600280ED9A10002A84258E000201864 +:10C58000C61911A13046FCF729FA2020641C30722C +:10C59000AC42F0D30E48002D0CD0E9006B18009788 +:10C5A000006A0CA20D49FCF7EFF90D48FCF7ECF915 +:10C5B00013B0F0BD406AFCF7E7F90948FCF7E4F96D +:10C5C00013B0F0BD782A00202530386C78000000C8 +:10C5D000B0F101002E61786600000000182A0020EA +:10C5E0002C96010010B50446002905D00846EBF74B +:10C5F000E2FD2060002010BD0020FAE710B50446DF +:10C60000002905D00846EBF7D6FD6060002010BD7C +:10C610000020FAE7F3B583B0002000900398466845 +:10C62000707A317A00020843FFF704FDC0B201902E +:10C630001448002504681FE0217C0198814216D12E +:10C640006769002F13D033460C33A0692146039A43 +:10C65000B84700280BD00020039001200090002D47 +:10C6600005D0E068E86007480168E160046025469D +:10C670000098E468002801D1002CDDD1009805B0B5 +:10C68000F0BD00003002002070B505460020FFF725 +:10C6900013FC040009D01C21EBF75BFD25748020FE +:10C6A000E07203480168E1600460204670BD00004C +:10C6B00030020020826141617047000010B50B49D3 +:10C6C0000A6882420AD1D2680A6009E0D16800296A +:10C6D00003D0814201D1C168D1600A46002AF5D158 +:10C6E00001460020FFF7B6FB10BD0000300200201D +:10C6F00010B5021D00F001F810BDF7B50E46044656 +:10C7000084B014213046FFF78BFE0027FF4300283A +:10C710000AD0002211460120FFF732FD05000BD0A0 +:10C720003146FFF7CBFD0AE013213546C9433046B9 +:10C73000FFF776FE002802D0384607B0F0BD069815 +:10C74000FEF7F0FE002817D0002C1DD0216800292C +:10C750001AD02146227CA37A019202900093E37AB8 +:10C760002846069AFEF758FE0446B54202D02846EF +:10C77000FFF734FE2046E0E7B54202D02846FFF737 +:10C780002DFE0320C043D8E7011DE3E7F3B50446BF +:10C79000007C87B00A283ED0A06D0390606A0290AA +:10C7A000002C42D020680490201D00D060680590C5 +:10C7B00094200559278B268C606900902046F5F758 +:10C7C0002DFC21461A4801F02DF9A06F002801D058 +:10C7D00001F0CBFF606F002801D001F0C6FFE06FD1 +:10C7E000002801D001F0C1FF21460220FFF732FBF3 +:10C7F000002D03D00421C9430098A84708980028B9 +:10C8000007D005AB04AA009701960299039801F09E +:10C8100019FF09B0F0BD06482146001D01F002F9DC +:10C8200021460220FFF716FBF3E700200490BDE746 +:10C83000AC010020F8B507460220FFF73DFB3E4C57 +:10C840003E4D060040D1287C400701D40020F8BDB1 +:10C8500000210846A668A26906E0136BF31A8B4212 +:10C8600001D319461046D268002AF6D1002802D01A +:10C870000121FFF78BFF0220FFF71EFB060023D1EB +:10C880007F1E7F20844600206269A168FEB2864632 +:10C8900000910DE0517CB14209D8614507D8176B72 +:10C8A000009BDB1B734502D39E4610468C46D26824 +:10C8B000002AEFD1002802D00121FFF767FF0220F4 +:10C8C000FFF7FAFA060035D0AC21EBF742FC402026 +:10C8D0007074C1013018C18500230386A988318591 +:10C8E0007185B3728021F17243226968D20091424E +:10C8F00000D911463187062101818380C180C91F7B +:10C90000F1860121418200F0F7FD7066B065F064A8 +:10C91000B066A068306334208355304608498030C3 +:10C92000816008490A6882614A68C2618968016257 +:10C93000A92083553046F8BD98010020F04D002015 +:10C94000F1E40100044E002041617047F7B507464D +:10C95000007C82B01446002803D00C20C04305B0F0 +:10C96000F0BD002C02D100F099FD04463548056861 +:10C9700011E0288BA0420DD1002D4BD02E68002E47 +:10C9800048D00398002845D0EBF715FC002841D08B +:10C99000B0423FD0ED68002DEBD12A4D103D6E69BD +:10C9A00013E0308BA0420FD1002E33D030680090BE +:10C9B00000282FD0039800282CD0EBF7FCFB002890 +:10C9C00028D00099884225D0F668002EE9D1EE687B +:10C9D00013E0308BA0420FD1002E1BD030680090A6 +:10C9E000002817D00398002814D0EBF7E4FB0028A8 +:10C9F00010D0009988420DD0F668002EE9D1AE69BA +:10CA00000CE0308BA04208D10398EBF7D4FB3168DF +:10CA1000884202D10A20C043A1E7F668002EF0D177 +:10CA20000398002808D0EBF7C6FB002804D00422A6 +:10CA300038460399EBF774FB3C83E868F860002004 +:10CA4000EF608CE7A801002070B50546007C052644 +:10CA50000300FBF7FDFF08051D2B35354A4A3D4A0B +:10CA60002846F5F7DBFA24480024C168A94201D121 +:10CA7000C96807E0C161002905D0C968A942F9D198 +:10CA8000E968C069C1600020E860294602200AE028 +:10CA900000242846F5F7C2FA17482946103000F05E +:10CAA000C1FF29460320FFF7D5F923E000242846DB +:10CAB000F5F7B4FA10482946143000F0B3FFE4E764 +:10CAC0000121284601F05EFE040009D12E7407E022 +:10CAD0000121284601F056FE040001D109202874E6 +:10CAE000002D07D0002C02D004E0002402E02846EC +:10CAF00000F064FD204670BD9801002010B504468A +:10CB00000846FEF70FFD002808D0008D002805D04C +:10CB1000283880B2844200D220460446204610BD08 +:10CB2000FFB58FB0119919980143129880070143FE +:10CB3000EE4877D01199002902D11099002971D1BE +:10CB40000F98119940300690C28D0F9820300D90AB +:10CB50008A4205D28178802001430D98817050E18E +:10CB60001098029019980991C00701D0042100E0A3 +:10CB700000211998800701D50C2000E0002008183A +:10CB800007900F98876E0698008E0590D8484168E8 +:10CB90000120C003EBF79AFA01460598814202D9B9 +:10CBA000D449884201D90D98D4E7002603960F98FE +:10CBB000018F0798081A0999884200DB084680B25D +:10CBC00000900420FFF778F904006ED0002525605E +:10CBD0006560002E27D00398046018980394C0075E +:10CBE00023D0079900980022401881B21046FFF721 +:10CBF000C7FA60600028E8D0FFF768FB0146059897 +:10CC0000081880B205901098002807D06068009A34 +:10CC10004168079808180299EBF782FA6068406843 +:10CC2000A06026E0EFE00646D7E70022104607990D +:10CC3000FFF7A6FA60600028C7D0FFF747FB014660 +:10CC40000598081880B205900998002811D0012293 +:10CC500003200099FFF794FA010021D00598401CA9 +:10CC600080B20590029848600298A0606068FFF763 +:10CC700011FB9F4841680120C003EBF727FA0146EA +:10CC80000598814211D301469A4881420DD80098F7 +:10CC9000A08114216068FFF7C3FB002805D105E0DF +:10CCA0006068FFF79BFB002060609FE06068406861 +:10CCB00020610F98008BFEF70DF821690870000ABB +:10CCC00048700F98008CFEF705F821698870000AFB +:10CCD000C8703846FDF7FCFF2169091DEBF775FAAE +:10CCE0002069290A8574C17482483C38FDF7F2FF37 +:10CCF00022690546517B127B090211430D401298AF +:10CD0000FDF7E8FF05432069290A05734173199867 +:10CD1000A0732169487B097B00020843FFF78AF969 +:10CD2000079905228908800609031203800E8918D5 +:10CD30000843FDF7CFFF21690873000A4873009983 +:10CD400009987F18401A80B2099002984018029002 +:10CD50000998002800D02AE70F98456F002D72D05F +:10CD600000E0054628680028FBD1002D6BD029691A +:10CD7000487B097B00020843FFF75CF9800700D07D +:10CD80000120A989C84277D02969487B097B000224 +:10CD90000843FFF74FF980076ED11298800702D041 +:10CDA0001298012868D1A889B18941180F98008F7D +:10CDB000814261D8A87BB17B88425DD12869001D82 +:10CDC000EBF7F9F9FFF734F9A98947183069001D25 +:10CDD000EBF7F1F9FFF72CF987424DD1079970680D +:10CDE00014314942FFF71CFB00280ED00D988178C2 +:10CDF000802001430D98002E817002D0304601F052 +:10CE0000B4FC0020C04313B0F0BD70684189002914 +:10CE100009D101687160002101600599491E89B23C +:10CE20000591FFF7DBFA1298C0070DD00120FDF73E +:10CE300051FF29694A7B0B7B12021A431043087386 +:10CE4000000A48730AE014E071686868FFF722FA84 +:10CE5000A889B1894018A88130682860B44202D1FD +:10CE6000A8892C46009031460420FEF7F3FF04E029 +:10CE700002E00F98466700E02E601298800703D00A +:10CE80001198401C80B211901298C00705D00D98DF +:10CE90002021807808430D9988700F98816E119831 +:10CEA00009180F9881660698C18D1198081A06997D +:10CEB000002CC88506990598088614D0009800288B +:10CEC00011D0206900280ED0189880070BD40820B4 +:10CED000FDF700FF21694A7B0B7B12021A431043C6 +:10CEE0000873000A487300208DE70000F6FFFFFF7B +:10CEF000F04D0020FCFF00008030416170470000D1 +:10CF0000F8B518480026446928E0254680352A6887 +:10CF1000002A0FD0AF68002F04D00023214660699B +:10CF2000B84704E000232146184601F0E1FA002842 +:10CF300000D12860761CF6B2642E11D82546203523 +:10CF4000A878C10709D002210843A870204600F044 +:10CF500035FBA87880088000A870E468002CD4D144 +:10CF6000F8BD000098010020F0B50746ED4D87B0F0 +:10CF700040680C46A8604178027808021043FFF729 +:10CF800059F80005000F7968800040186860A968AA +:10CF90004878097800020843FFF74CF80005000FB5 +:10CFA000800041423846FFF73BFA00287ED138899D +:10CFB00014287BD3A86821461030FEF723F80028F8 +:10CFC000F4D1A8681030EBF7F6F804460F200007FC +:10CFD000FFF72EF8044007204007FFF729F88442A6 +:10CFE00064D038890090AA680623114638460C316F +:10CFF0001032FDF7CBFF0028D8D16868417B027B57 +:10D0000008021043FFF716F8000B80004142384633 +:10D01000FFF706FA0028C9D1696848780978000244 +:10D020000843FFF707F8014668680170090A417074 +:10D03000C178827808021043FEF7FCFF0146686859 +:10D040008170090AC170001DEBF7B5F8FEF7F0FF1B +:10D0500069680C46091DEBF7B8F8E860204608300F +:10D06000EBF7A9F8FEF7E4FF69680C460831EBF727 +:10D07000ACF82861E07BA17B00020843FEF7DAFFF1 +:10D08000014668688173090AC173417B027B08020B +:10D090001043FEF7CFFF8006800E28703989800785 +:10D0A00000D0012008186880002600E0B8E09E4803 +:10D0B00004689C480194806801460C31103004904B +:10D0C0009848069145683EE068782A78218C0002ED +:10D0D0001043814235D1E878AA78218B00021043B1 +:10D0E00081422ED10698EBF766F86168884228D114 +:10D0F0000498EBF760F82168884222D1002E05D011 +:10D10000E068F06088480199E1600460002C1CD060 +:10D110008649002008603A898A817A684F608A606F +:10D12000804A0D6150612646507080363268002A70 +:10D130007BD0B568002D7AD0002321466069A847CE +:10D140007AE02646E468002CBED1794804681EE0E7 +:10D1500068782A78218C00021043814216D1E87841 +:10D16000AA78218B0002104381420FD10698EBF779 +:10D1700022F86168884209D10498EBF71CF821680D +:10D18000884203D1204601F077FC49E0E468002C96 +:10D19000DED1684800260468009421E0002C0AD003 +:10D1A00020680690002806D00498EBF704F80146A2 +:10D1B0000698814212D1E878AA78218B00021043A8 +:10D1C00081420BD1002E05D0E068F06059480099EB +:10D1D000E1600460204600F0DDF821E02646E468C6 +:10D1E000002CDBD1687B297B00024E4C0843FEF704 +:10D1F00021FF400714D4616848780A780002104380 +:10D20000CA788B781102194300910190A368618854 +:10D21000E0681A46411810320C33206901F012FA06 +:10D220003846FFF7DBF807B0F0BD08E0FFE7002362 +:10D230002146184601F05CF90028F1D13060394DE3 +:10D240002046AC6100F01CFC401D61D068780107ED +:10D250001BD505A92046F1F7F1FB012802D1207C5E +:10D26000022855D02046F4F7D9FE7269002A03D06F +:10D270000521C9436069904721462B4800F0D2FB45 +:10D2800021460220FEF7E6FD42E0C00603D5204617 +:10D29000F4F7C4FEF0E76C20025B002A05D0736847 +:10D2A000002B02D02146606998476A69002A17D08E +:10D2B0002878000703D5507B012108435073B768D5 +:10D2C000002F04D0002321466069B84704E0002302 +:10D2D0002146184601F00CF9002801D06869306039 +:10D2E00068782F4680060ED5B668002E05D000233C +:10D2F0001A4621466069B04705E000231A462146D8 +:10D30000184601F0F5F80020B861204600F056F903 +:10D310000026064CAE616068002884D0FFF75EF8F6 +:10D32000666080E750020020AC0100202C580020ED +:10D33000B0010020A80100207CB504460022142181 +:10D340000120FEF71DFF050022D0A06D401EFDF755 +:10D35000BFFC034600222946204600F0A3FA0646F9 +:10D36000288900900623221D21462846FDF70EFE3F +:10D370003074000A70740621002001910090E37A55 +:10D38000221D21462846FEF72DF82846FFF726F8ED +:10D390007CBD0000FEB53C4D06462878C10616D57A +:10D3A000696848780A7800021043CA788B781102BD +:10D3B0001943009101906988E868AB6841182869B1 +:10D3C0001A46401C10320C3301F03CF959E080073A +:10D3D00057D5707CFFF72EFA04004BD0AF68384663 +:10D3E000103001D0EAF7E7FE2060308B208338460A +:10D3F0000C3001D0EAF7DFFE60606A68507811787F +:10D4000000020843208403202074E868411C616204 +:10D41000E162D17B937B0A0221461A4340318A8321 +:10D420008A82401E206670696061F069E06130891F +:10D43000FF219A310840208114480168E1600460AE +:10D44000204600F087FA208F211DFFF757FB208729 +:10D45000002001210191024600900146122320463E +:10D46000FFF75EFB050008D000212046FFF78EF98C +:10D470002846FEBD0020C043FEBD204600F09EF8B9 +:10D48000FEBD0020FEBD000050020020AC010020C7 +:10D4900010B54020FFF7CEF910BD000030B515489B +:10D4A000134D44694188491C89B24180A94202D97F +:10D4B0000121090341802146438803E00A8B9A42F7 +:10D4C000F0D0C9680029F9D1826903E0118B994233 +:10D4D000E8D0D268002AF9D1064910310A6803E081 +:10D4E000118B9942DED0D268002AF9D198B230BDB2 +:10D4F000FF7F00009801002002498A684868801870 +:10D500004860704798010020F8B50C46016905464F +:10D51000487B097B00020843FEF78CFD254FC007BE +:10D5200027D0204601F021F9002441E0707B317BB7 +:10D5300000020843FEF77EFDC00716D01E48FDF727 +:10D54000C9FB29690646487B097B0002084306405F +:10D55000FEF770FD8006800E01210843FDF7BAFB3F +:10D5600006432869310A067341732046246801F096 +:10D57000EBF8002C1CD020690646001DEAF71BFEC4 +:10D580000146A089FA680818A9898918081ACDD512 +:10D590002069001DEAF70FFEAA89F9685218121ACD +:10D5A000002A05DD401A81B2A9816868FEF76BFF89 +:10D5B0002C60F8BD50020020C0FF0000F0B504460A +:10D5C0007D4885B00068A04202D1002005B0F0BDC2 +:10D5D0002046403003900399808B498A884200D3CB +:10D5E0000846029020462030656F009080788007C2 +:10D5F00012D5002D0CD02869001DEAF7DCFDFEF7DE +:10D6000017FDE16C401AA98941180298814203D99B +:10D61000204601F0C2F8D9E7A66F002E01D199E0AB +:10D62000064630680028FBD194E0A06F002812D095 +:10D63000009844228078014610420CD1606F002887 +:10D6400006D00268002A06D18089228F904202D239 +:10D65000A020014276D028686067207C022812D082 +:10D660001020FDF737FB01462869427B037B12023D +:10D670001A4311430173090A4173009880788108A5 +:10D680000098890081702146284600F097F82869A3 +:10D69000001DEAF790FDFEF7CBFC29690746487BA1 +:10D6A000097B00020843FEF7C5FC800700D001207B +:10D6B000A98938184018A16D091A00D5A0652969F3 +:10D6C000487B097B00020843FEF7B4FC800701D0C9 +:10D6D000012100E00021A889C14237D00020286044 +:10D6E000A06F002811D02869001DEAF764FDFEF73D +:10D6F0009FFC07463069001DEAF75DFDFEF798FCC8 +:10D70000381A20D52046783003E0A5671CE0019840 +:10D7100000680190006800280ED00069001DEAF73B +:10D720004AFDFEF785FC07462869001DEAF743FD20 +:10D73000FEF77EFC381AEAD4019800682860019848 +:10D74000056006E017E035602E4602E0284600F04E +:10D75000FBFF656F002D28D02869001DEAF72BFD1F +:10D76000FEF766FCE16C401AA989411802988142D3 +:10D7700000D85AE701E0002D17D02646A036307AAF +:10D78000002812D12869001DEAF715FDFEF750FCAC +:10D79000E16C401AA98941180398808B814204D911 +:10D7A0000020803460620120307200988078410649 +:10D7B0000098490E817008E7680200207CB5054694 +:10D7C0000C46486AFDF784FA29690831EAF7FDFC3E +:10D7D000608DFDF77FFA29698873000AC873618D2F +:10D7E000606A4018E0622E69A87B1436C00707D033 +:10D7F0002A488121406889040843FDF769FA3060AE +:10D80000002C02D02068002808D1201DFDF78AFED8 +:10D81000002841D0011D07D0406820603620205EDE +:10D820000026401C02D002E00020F6E7E686E06B0E +:10D83000002809D11A480068E0632869001DEAF74A +:10D84000BAFCFEF7F5FB20646968288A8A880623FB +:10D85000801A4A89121A4A8169680A89101A08814D +:10D860006968286948602869310A067441746868E3 +:10D87000221D018900912146FDF788FB2969221D9F +:10D880000874000A4874A07A062101910090E37A96 +:10D8900021466868FDF7A6FD7CBD0000F04D002024 +:10D8A000A0010020F8B505461F461646008B4C68BF +:10D8B000FDF710FA2070000A6070288CFDF70AFA54 +:10D8C000A070000AE070211D3846EAF77EFC686A05 +:10D8D000FDF7FEF921460831EAF777FC1C48FDF711 +:10D8E000F9F9617B227B0902074611430F401020A2 +:10D8F000FDF7F0F907432773380A6073688DFDF769 +:10D90000E9F9A073000AE0730027A774E774607B4D +:10D91000217B00020843FEF78DFBF117890F89195F +:10D9200089100522800609031203800E8918084316 +:10D9300080B2FDF7CFF92073000A60732774380AAC +:10D940006074698D686A4018E8622046F8BD00007E +:10D95000C0FF0000F8B5204E05467468617B227B4D +:10D96000080210431434FEF765FB000B05281CD990 +:10D970007168487B097B00020843FEF75BFB000BE4 +:10D98000401F8004000C0021144B0CE0625C002A54 +:10D990000BD0012A0AD0022A0AD062185278002A33 +:10D9A00003D0511889B28142F0D3F8BD491CF9E780 +:10D9B00062185678042EF8D1091D8142F5D8D67820 +:10D9C000977832023A435E6852BA964201D3002AEF +:10D9D00000D132462A87E5E750020020F04D0020B2 +:10D9E00070B50446007C00281BD00A2819D00128F5 +:10D9F00017D02546803528680026002802D0FEF77B +:10DA0000EDFC2E600020C043E086E06F00F0ADFE2C +:10DA1000E667606F00F0A9FEA06F00F0A6FE6667E3 +:10DA2000A66770BD70B50C460168A14202D1C968F5 +:10DA300001600BE0114806E0C968A14203D1C0694A +:10DA4000E168C16002E0C1610029F5D100252046EE +:10DA5000E560FFF7C5FF207C0A280CD001280AD01A +:10DA6000204620308178CA0705D0022211438170F8 +:10DA70002046FFF7A3FD257470BD0000980100202B +:10DA8000FEB50446C84F25463878203541070029A1 +:10DA90001BDA207C022813D0606AF9680A1A13D4B2 +:10DAA000228D8018081A00280EDC78780821084397 +:10DAB0007870A87840084000A8700520C043FEBDDB +:10DAC000A06D39698842F0D06CE180070CD5207CCC +:10DAD000022809D0032807D0A87802210843A8709B +:10DAE0002046FFF76BFD5DE1B048A9210068206387 +:10DAF000002008552046FFF72DFF207C2646801E7B +:10DB000040360300FAF7A4FF080565BEC3F0BEEF78 +:10DB1000EEB23878C106D7D5800748D5A06F006926 +:10DB2000001DEAF748FBFEF783FA3969401C88427A +:10DB30003AD1F08D401CF085F8680246401C6062C6 +:10DB4000E164E0627968521EC87B897B0002084369 +:10DB5000B083042022662074208F211DFEF7CEFFA3 +:10DB60000A2120874143B182718A012900D14000F6 +:10DB70007082308E401E3086A16F0868A067002832 +:10DB80000ED00020E086B072084600F0DDFD8C204B +:10DB90000359002BA0D000222146606998479BE7DB +:10DBA0000020C043E086EFE73878C0068CD579685E +:10DBB00048780A7800021043CA788B78110219431A +:10DBC000009101907988F868BB6841181A46386955 +:10DBD00048E03878C1064AD5E16C3869411A012914 +:10DBE00030D4A16D411A00292CDC04202074E36993 +:10DBF000002B0CD00022214660699847002806D0EF +:10DC000001212046FEF7C2FD0420C043FEBD778AF5 +:10DC1000204600F0D3F8B08D002801D0401EB0851A +:10DC2000208F012F00D1400070825F48407880062D +:10DC30001CD5A87802210843A8702046FFF7BEFC37 +:10DC4000072062E07A685178137809021943D37883 +:10DC500094781A022243009201917A88F968BB688D +:10DC600089181A4610320C3300F0ECFC9AE0800759 +:10DC700007D5606AF968401E884202D1204600F04C +:10DC80007AFC8FE0204600F099F87878CFE72046BC +:10DC900000F094F87878800638782FD5C00624D51F +:10DCA000A06D3969884220D1A87802210843A87064 +:10DCB0002046FFF783FC2046FFF792FE3C480168B0 +:10DCC000A14202D1C968016057E03A4806E0C9683C +:10DCD000A14203D10068E168C1604EE00160002903 +:10DCE000F5D14AE050E02FE011E0A8780221084386 +:10DCF000A8702046FFF762FC082006E0C00651D558 +:10DD0000A06D396988424DD1062020744AE0204632 +:10DD100000F054F87878800644D5A87802210843AA +:10DD2000A8702046FFF74AFC2046FFF759FE20481E +:10DD30000168A142C6D01F4802E0C968A142C9D00B +:10DD400001600029F9D118E0204600F037F8387852 +:10DD5000C00627D5A06D3969884223D12046FFF738 +:10DD60003FFE13480168A142ACD0124802E0C968E6 +:10DD7000A142AFD001600029F9D10A2020740E48D9 +:10DD80000168E16004600DE0204600F017F8387883 +:10DD9000C00607D5A06D3969884203D17878102173 +:10DDA000084378700020FEBD50020020A001002032 +:10DDB000AC010020B4010020B0010020FEB50446F3 +:10DDC000F848264600782036C00600287EDA254628 +:10DDD0004035A88B0190636EF249C0180090206E08 +:10DDE000CA688446871A0846416800690CD494457D +:10DDF00001D11F1A08D4834215D1CB7B8F7B1B0224 +:10DE00003B43019FBB420ED9CB7B8F7B1902394329 +:10DE1000A9832266606606D02146A0310A7A002ACC +:10DE200001D000220A72E26C811A00292ADC00214A +:10DE3000DC4BA9855B88002B22D1AF8B636EDF1989 +:10DE4000009B9F421CD13623E35E002B18DB8242ED +:10DE500016D1287C0146401C884200D92874287CB1 +:10DE6000032807D9688A218F411889B2814200D9D5 +:10DE700069829CE0032802D1204600F0A4FB96E0D2 +:10DE8000297494E0012975D4A36DC21A002A71DCAB +:10DE9000B278530704D5FB231A40B270AA8A6A826B +:10DEA0000022AA720423EB5EEF88DB10DB192B81C2 +:10DEB000A985EB8D5918E9852A74E064207C042833 +:10DEC0002FD36F8AA88A8742208F00E0B2E004D265 +:10DED000381880B2B84208D823E040433946EAF700 +:10DEE0000BF9C01980B287421BD2688219E03868EA +:10DEF000A067A88D00280BD03969487B097B0002F8 +:10DF00000843FEF797F8C00702D0A88D401EA885E9 +:10DF10007868FEF7DBF9298E081A2886384600F063 +:10DF200013FCA06F002822D00069001DEAF743F916 +:10DF3000FEF77EF80746A06F0169487B097B000267 +:10DF40000843FEF777F8800700D001203818A76F44 +:10DF5000B989411893480069081A0028C7DD002FC5 +:10DF600005D00020E0860020307520E002E000208F +:10DF7000C043F7E70020A88519E038686067A88DDE +:10DF800000280BD03969487B097B00020843FEF763 +:10DF900051F8C00702D0A88D401EA8857868FEF70A +:10DFA00095F9298E081A2886384600F0CDFB606F57 +:10DFB00000281DD00069001DEAF7FDF8FEF738F8CB +:10DFC0000746606F0169487B097B00020843FEF742 +:10DFD00031F8800700D001203818676FB9894118DF +:10DFE00070480069411A03D4A16D401A0028C4DDAD +:10DFF000E06B00281ED06B49226C0969511A19D5B3 +:10E0000069490988081A0421695ECA10801A00B299 +:10E01000091809B2A980002801DA404200B206229C +:10E02000AA5EC9109310C01A1018E8800818288139 +:10E030000020E0635B4D6B88002B7DD0626AE9684D +:10E04000501A01282AD4CB18D31A5B1C002B25DCCC +:10E0500056494F68798981420BDA3989091A8AB29F +:10E06000002303E03A817B813F68401A798981422D +:10E07000F8DB404201B23846FEF7D2F94B487968E6 +:10E080008160AB89626A8189D31AC91A8181016969 +:10E090001046091DEA60EAF798F808E0881A0AD5E0 +:10E0A000B17802200143B1702046FFF787FA606A19 +:10E0B000E968081A7ED4218D606A4218E9688A1AD4 +:10E0C000521C002A76DC884275D1384F3969487B6A +:10E0D000097B00020843FDF7ADFF800701D0012155 +:10E0E00000E000213148808908182E4980B248801C +:10E0F000218D814240D22D4D2969487B097B000248 +:10E100000843FDF797FFC00714D02948FCF7E2FD4C +:10E1100007462869417B027B080210430740FDF750 +:10E1200089FF3E210840FCF7D5FD07432869390ADD +:10E1300007734173208D00E0C1E1A8812969487B04 +:10E14000097B00020843FDF775FF800702D5A88907 +:10E15000401EA881A9896868FEF795F92969487B5E +:10E16000097B00020843FDF765FF800700D001200E +:10E17000A98940180B494880E06F002811D00B484E +:10E180000169487B097B00020843FDF753FFC00784 +:10E1900004D111E00168E16700F0D6FAE06F0028D1 +:10E1A000F8D189E050020020A00100202C58002066 +:10E1B000C0FF00007FE1FBE0E76F3AE0687B297B6E +:10E1C00000020843FDF736FFC0072ED0C54800699E +:10E1D000417B027B08021043FDF72CFF800724D40B +:10E1E000C148FCF777FD0546BE480169487B097BBD +:10E1F000000208430540FDF71DFF8006800E012147 +:10E200000843FCF767FDB74928430969020A087308 +:10E210004A73FDF70FFF800701D0012100E00021C4 +:10E22000B04880890818B149488038463F6800F0F6 +:10E230008BFA002F3FD038690546001DE9F7BBFF78 +:10E240000146B8890918A948C26840881018401AC0 +:10E25000B4D53869001DE9F7AEFF0146A348C5688B +:10E2600040882818401A002825DDE06F0069001D4D +:10E27000E9F7A1FF401B9B4DA8812869427B017BE8 +:10E2800010020843FDF7D6FE800702D5A889401E7C +:10E29000A881A9896868FEF7F6F82969487B097B97 +:10E2A00000020843FDF7C6FE800700D00120A989BF +:10E2B00040188E494880E7678C4D6888E9680918DE +:10E2C0006162218D081A2085204600F01FFC8548D8 +:10E2D00041680A89002A02D0696100214160016910 +:10E2E000487B097B00020843FDF7A4FEC0074AD023 +:10E2F000687820210843687045E0E8600098417B19 +:10E30000027B08021043FDF795FE800700D0012034 +:10E31000BA89616A8918401860623969487B097B4B +:10E3200000020843FDF786FE800700D00120B9896E +:10E330004018218D081A2085204600F0E7FB7968F7 +:10E340000889002808D06869002802D0FDF7A2FFDC +:10E3500000E06961002078603969487B097B000230 +:10E360000843FDF767FEC00708D0687820210843FE +:10E370006870207C042801D1072020743868E06789 +:10E38000384600F0E1F9E76F002F07D038690090B8 +:10E39000001DE9F710FF616A8842AED0B078C1076E +:10E3A00002D04008400095E001210843B070FEBD56 +:10E3B000204600F0F2F9E66F002E18D04B480027F7 +:10E3C000C5683069001DE9F7F6FE0090A84213D138 +:10E3D0004448B18980898842E9D9424800F0A2F9CD +:10E3E0000028E4D0002F38D0386031462BE03D487B +:10E3F00000F098F9E067FEBD002F27D03869001DB6 +:10E40000E9F7D9FE281A012829D40098281A401CB7 +:10E41000002824DC334800F085F90400EBD038698B +:10E42000001DE9F7C8FEB98942183049C968521A77 +:10E43000002A05DD081A81B2B9817868FEF723F851 +:10E44000314620463C60FFF75FF8FEBD281A06D52E +:10E45000244800F067F90028F7D0E067C5E7316885 +:10E46000002924D10098281A002820DD3069417B3A +:10E47000027B08021043FDF7DDFDC007E5D1194816 +:10E4800000F050F930600028DFD03069001DE9F756 +:10E4900092FEB18942181549C968521A002AD4DD82 +:10E4A000081A81B2B1817068FDF7EDFFFEBD3746F5 +:10E4B0000E0086D1FEBD204600F06FF9FEBD606AF9 +:10E4C000E9680A1A05D4228D8018081A401C002811 +:10E4D000F4DDB07802210843B0702046FFF76EF8F3 +:10E4E000FEBD00002C580020C0FF0000500200209C +:10E4F00010B51400084606D0218900F00BF820461C +:10E50000FDF76CFF01E0002B01D0002010BDFEF7ED +:10E510009BFA10BD70B50446008D0C4D401881B2B9 +:10E5200021856868814200D92085204600F0EEFAF6 +:10E5300069688908814208D8204620308178022203 +:10E54000114381702046FFF739F870BDF04D00206F +:10E5500010B5018504464185002901D000F0D6FAA6 +:10E560002046203081780222114381702046FFF737 +:10E5700025F8012010BDF8B5866F0446002E21D085 +:10E58000306825467435A06700E02D6828680028AB +:10E590000ED00069001DE9F70EFEFDF749FD0746A4 +:10E5A0003069001DE9F707FEFDF742FD381AECD48B +:10E5B00028683060214640312E60887A401C88727D +:10E5C0000020E063F8BD70B50446806F002820D0BD +:10E5D00025462035A87840071BD42046FFF7CBFFFF +:10E5E00020464030428A818B8A4201D9490800E0A6 +:10E5F00051088182228F8BB251008B4200D28182DE +:10E60000818A5300D21889184182A87804210843CE +:10E61000A87070BD10B5816F002912D000E01146BE +:10E620000A68002AFBD1426F0A60816F002282676C +:10E630004167014640318B7A5B1C8B72C263FEF7E7 +:10E64000BDFF10BDFFB50E4683B01F46002214214A +:10E650000120FDF795FD05005ED06C680C98FCF775 +:10E6600039FB2070000A60700D98FCF733FBA07036 +:10E67000000AE0700398FCF72BFB211DE9F7A5FDCC +:10E680003046FCF725FB21460831E9F79EFD23487B +:10E69000FCF720FB617B227B0902064611430E40FA +:10E6A0001420FCF717FB06432673300A60731C48DE +:10E6B000808880B2FCF70EFBA073000AE07300268E +:10E6C000A674E674607B217B00020843FDF7B2FC70 +:10E6D00080060521800E09034018FCF7FBFA207321 +:10E6E000000A60732674300A60742889009006233B +:10E6F0003A4628460599FCF749FC2074000A6074E4 +:10E7000006200096019080233A4628460599FCF79A +:10E7100069FE2846FDF762FE07B0F0BDC0FF0000AD +:10E72000F04D002070B505460420FDF7C5FB040040 +:10E7300008D014222946E9F7F3FC6068FDF7CCFE07 +:10E74000204670BD002070BD70B50025044600282D +:10E7500009D06068002802D0FDF740FE054621463A +:10E760000420FDF777FB284670BD70B5002405E056 +:10E770000568FFF7E9FF0019C4B228460028F7D161 +:10E78000204670BD1CB500230122019300920B4668 +:10E7900000221146FEF7C4F91CBD7CB504460026D4 +:10E7A000324614210120FDF7EBFC050029D020465C +:10E7B00020308178890889008170A06DFCF788FA83 +:10E7C0000346324629462046FFF76CF8064628895C +:10E7D00000900623221D21462846FCF7D7FB307403 +:10E7E000000A7074A07A062101910090E37A221D3C +:10E7F00021462846FCF7F6FD2846FDF7EFFD0020F0 +:10E800007CBD0120C0437CBDF0B597488BB0007E35 +:10E81000964E0690B0680027401CB0600797746958 +:10E8200006E138467F1CFFB264287DD80025089594 +:10E83000227C022A06D14A20015D0698814201D13C +:10E84000012554E0214640318B7A0698834201D15C +:10E85000012543E02046A0308446007A002813D0EA +:10E8600023468033596A824A491C5962825C91422C +:10E8700034D300215962072802D26146401C087235 +:10E88000204600F079F929E03620205E002801DBDF +:10E89000401CE086A06F002820D03620205E012892 +:10E8A0001CDB022A08D00420085ECA88C010801829 +:10E8B000704AD25C904008810020E086488A8A8BAA +:10E8C000904200D3104640088882228F904201D2A5 +:10E8D000500088824A822046FFF79CFE207C062852 +:10E8E00005D1206BB168081A282800D96D1C207A40 +:10E8F000000736D5207C042801D0072831D12046D6 +:10E900008030026AC16904914A4380690990FF21FD +:10E910001018F531E9F7DAFB0146206BB268101ADE +:10E920000190814205D200E09CE001206D1C08901E +:10E9300017E02046A0300090407A04994843099996 +:10E940004018FF21F531E9F7C1FB014601988142EA +:10E9500007D22046FEF7F0FC00980099407A401C50 +:10E960004872E06F00280CD0216BB2684823521A1D +:10E97000195F062359438A4203D3FFF7F6FE0020AE +:10E98000E067207C032802D0092807D00BE0216B28 +:10E99000B068401A282806D96D1C04E0216BB068C5 +:10E9A000401AF028F8D8002D29D02046F3F736FB7E +:10E9B0002046FFF715F80798002802D0E168C160EB +:10E9C00001E0E068706194200259002A03D004211C +:10E9D000C943606990470898002809D0218C208B92 +:10E9E00001910090231D2246616AA06DFFF72AFE67 +:10E9F00021460220E568FDF72DFA2C4618E0204656 +:10EA00002030017D491CC9B20175427D91420DD370 +:10EA10000021017590200259002A04D02146606926 +:10EA20009047002802D12046FEF7C8FD0794E4680D +:10EA3000002C00D0F5E60025B46911E02046F3F77C +:10EA4000EDFA2046FEF7CCFFE068002D01D0E8602B +:10EA500000E0B06121460220E768FDF7FBF93C4683 +:10EA6000002CEBD10BB0F0BDAC4D00209801002084 +:10EA70009FF20100A7F201007CB51B4C21784A07E8 +:10EA800030D4224652888B071CD5436AE168CD1AE0 +:10EA90001DD4058D5B19CB1A002B18DC636889180F +:10EAA00058781D7800022843DD789E782B02334386 +:10EAB00000930190A36820691A4610320C33FFF7C7 +:10EAC000C1FD0FE0C90702D0084909680163002AA7 +:10EAD00008D0014620318A7802231A438A70FEF753 +:10EAE0006DFD7CBD00207CBD50020020A0010020F7 +:10EAF00010B5FEF705FA04480178491C0170C807F3 +:10EB000001D0FFF781FE10BD9801002030B50D49FE +:10EB1000058D4968446A4A08018F63198A4200D208 +:10EB20001146C26A8918591A02D44585981A30BD0F +:10EB3000A11A002901DD002100E0111B4185002000 +:10EB400030BD0000F04D00201CB5047C042C08D022 +:10EB5000072C06D0022C04D0032C02D00720C0437F +:10EB60001CBD002A06D00024009301942346FDF723 +:10EB7000D7FF1CBD00201CBDFEB5846F0546002CD0 +:10EB800002D16C6F002C53D02169487B097B0002B5 +:10EB90000843FDF74FFAC00702D0A089002827D00C +:10EBA00000201521009000220120FDF7E9FA06005F +:10EBB0003ED02069001DE9F7FEFA034600223146E7 +:10EBC0002846FEF76FFE07460098002814D0194823 +:10EBD000FCF780F8797B3A7B0902044611430C402C +:10EBE0001120FCF777F804433C73200A787307E0A0 +:10EBF000012014210090D6E7A0687168007808759C +:10EC00003089009006232A1D29463046FCF7BEF9BC +:10EC10003874000A78740621002001910090EB7A84 +:10EC20002A1D29463046FCF7DDFB3046FDF7D6FBB2 +:10EC3000FEBD0000C0FF0000F7B50546234882B0C6 +:10EC400014460026076817E0BD4201D1012612E0F4 +:10EC5000788AA0420FD1002F2BD03868009000286E +:10EC600027D00398002824D0E9F7A5FA002820D05F +:10EC7000009988421DD0FF68002FE5D10398002835 +:10EC800001D0E9F798FA2860002C16D10F4801242A +:10EC90000168240308460E4A07E04B8AA34203D1C9 +:10ECA000641CA4B2014600E0C968002905D0944262 +:10ECB000F3D10A20C04305B0F0BD6C82002E03D111 +:10ECC00002480168E96005600020F4E7E4010020E3 +:10ECD000FF7F000070B51646428A0D460446002AA2 +:10ECE00004D10146FFF7A8FF00281FD1002D0ED048 +:10ECF0002846E9F760FA6060A682217C042211436D +:10ED00002174002C07D02168002902D00FE00020D8 +:10ED1000F1E7211D0FD0002809D0201DFCF702FCCF +:10ED2000002801D0406807E00320C04370BD211DCA +:10ED300001D0002801D10020206007490868024660 +:10ED400004E0844201D1002070BDC0680028F8D1E1 +:10ED5000E2600C60F7E70000E4010020F3B54568CD +:10ED6000074668782978000289B00843FDF762F900 +:10ED70000005000F80003989083088420ED8687875 +:10ED8000297800020843FDF755F90005000F8000BF +:10ED900041423846FDF744FB002804D03846FDF7D1 +:10EDA0001DFB0BB0F0BD78680590284610300A991D +:10EDB0000290FCF727F90490059841780278080240 +:10EDC0001043FDF737F903900598C178827808025F +:10EDD0001043FDF72FF900240690442805D00020A9 +:10EDE00000900190644804686AE0039843286FD15A +:10EDF0000A98006A00286BD04668002E68D0301D43 +:10EE00000BD070680090002807D028460C30E9F736 +:10EE1000D2F90146009881425AD1344661E000207F +:10EE20000790618A0698814241D10498002804D154 +:10EE3000002C18D02068002815D00298E9F7BBF9FB +:10EE40000146206881420ED00F200E460007FDF7D4 +:10EE5000EFF8064007204007FDF7EAF8864202D0A7 +:10EE60000498002821D0012007900198002803D1A0 +:10EE7000207C400700D40194A18A0398814216D1D6 +:10EE8000201D08D06668002E05D028460C30E9F712 +:10EE900092F9B0420BD10098002814D0E168C1600B +:10EEA00035480168E16004600DE0009407E00798D0 +:10EEB0000094002803D031490698884203D0E468C2 +:10EEC000002CACD101E0002C0BD1019C002C08D10E +:10EED0000298E9F770F901460A984068814200D02B +:10EEE0005CE70598C1798279080210430AD0388915 +:10EEF0000090294611230C313846029AFCF746F857 +:10EF00000028EDD10721C9433846FDF789FA0028CA +:10EF1000E6D1002C0BD0A669002EE1D0039800901A +:10EF20002B460C333A462146E069B04739E704984E +:10EF30000028D5D10298E9F73EF904460F200007D2 +:10EF4000FDF776F8044007204007FDF771F884428A +:10EF5000C6D06878297800020843FDF76BF80005F1 +:10EF6000000F810038460831FDF75AFA0321384670 +:10EF7000FBF7B2FE12E70000E40100206C0700007E +:10EF800010B50120FCF798FF040004D02021E9F718 +:10EF9000E0F88020E072204610BDC26181617047B8 +:10EFA00010B50B490A6882420AD1D2680A6009E0AA +:10EFB000D168002903D0814201D1C168D1600A46DD +:10EFC000002AF5D101460120FCF744FF10BD0000E6 +:10EFD000E401002010B5838A021D00F001F810BD85 +:10EFE000F8B507461D460E4614461046FCF79AFA39 +:10EFF000002807D000902B4622463146384600F0C4 +:10F0000004F8F8BD0320C043F8BDFFB5428A85B0BF +:10F010000F460546002A04D10146FFF70DFE0028E1 +:10F0200012D108213846FDF7FBF900280ED0002246 +:10F0300008210120FDF7A4F8040003D03946FDF7AC +:10F040003DF904E00020C04309B0F0BD3C46688AA9 +:10F050006668FBF73FFE3070000A70700898FBF797 +:10F0600039FEB070000AF0700020B071F071002D10 +:10F070000ED0286800280BD00E99496888420BD022 +:10F08000BC4202D02046FDF7A9F90820C043DBE7C7 +:10F090000E98001D039000E003952089FBF71AFEEF +:10F0A0003071000A7071287CC00710D1208900904F +:10F0B00011232046079A0399FBF768FF010AB071F4 +:10F0C000F171002803D1401EB071000AF071A87AD6 +:10F0D00011216B460E9A07C3EB7A2046079A0399D3 +:10F0E000FCF79AF90546BC4202D02046FDF776F9B6 +:10F0F0002846A9E7FFB581B0044615460298E9F70E +:10F100005AF809266168F643884203D10120F2F7D4 +:10F11000EBFA19E00299002916D0002814D02146F4 +:10F120000298FBF76FFF00280ED10298E9F743F829 +:10F1300007460F200007FCF77BFF0740072040072A +:10F14000FCF776FF874202D1304605B0F0BD049946 +:10F150000298FBF703FD0100F7D40B0108490220D8 +:10F160004A689918887206209A18CC60401EC0B26E +:10F1700014182B5C23710028F8D1C872E5E7000051 +:10F18000E801002001060000000000005555EE07D0 +:10F1900003010000000000005555EE0603010A00BF +:10F1A000000000005555EE060700010000000000B9 +:10F1B00034F5010024F40100A8F501008CF50100EC +:10F1C00090F30100B8F3010034F9010050F9010097 +:10F1D00054F40100C0F50100F0F40100D0F4010086 +:10F1E000E0F301005CF60100A4F60100D4F5010093 +:10F1F0008CF7010054F70100B4F8010060F8010039 +:10F200000CF8010034F8010010F90100ECF80100DD +:10F2100084F80100DCF601000CF5010034F6010071 +:10F2200004F7010064F501006CF90100E8F7010042 +:10F2300080F6010010F6010030F70100C4F701006C +:10F24000B0F4010094F40100636D5F6261636B745C +:10F25000726163655F61737365727400636D5F6291 +:10F2600061636B74726163655F6661756C740000E5 +:10F2700074F3010078F301007CF3010080F30100D6 +:10F280008CF3010088F3010084F3010020F40100F5 +:10F29000001112131415161718191A1B1C1D1E1F06 +:10F2A00003060C1830607801010101010101010120 +:10F2B000010101010101010101010100000000FF44 +:10F2C000FFFFFFFFFFFFFFFFFF0000000000000047 +:10F2D000466C6173685F577269746520466C617330 +:10F2E000685F6164643A3078253038582053524161 +:10F2F0004D5F416464723A30782530385820777217 +:10F300006974655F73697A653A30782530385820BA +:10F310000D0A00004C4F472073746172745F726570 +:10F3200061645F6164643A30782530385820204643 +:10F330006C617368205265616420416464723A3084 +:10F3400078253038582073746172745F466C61732D +:10F35000685F6164643A30782530385820207265DF +:10F360007461696E5F73697A653A30782530385810 +:10F37000200D0A005230200052312000523220006D +:10F3800052332000504320004C52200052313200B2 +:10F390003D3D3D3D3D3D3D3D3D3D3D20CFDFB3CC81 +:10F3A000B6D1D5BBD0C5CFA2203D3D3D3D3D3D3D75 +:10F3B0003D3D3D3D000000003D3D3D3D3D3D3D3D71 +:10F3C0003D3D3D3D20D6F7B6D1D5BBD0C5CFA2201F +:10F3D0003D3D3D3D3D3D3D3D3D3D3D3D0000000051 +:10F3E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4D +:10F3F0003D3D3D3D3D3D3D3D3D20BCC4B4E6C6F7F1 +:10F40000D0C5CFA2203D3D3D3D3D3D3D3D3D3D3D37 +:10F410003D3D3D3D3D3D3D3D3D3D3D3D3D3D000096 +:10F4200050535200B9CCBCFEC3FBB3C6A3BA25737C +:10F43000A3ACD3B2BCFEB0E6B1BEBAC5A3BA2573C5 +:10F44000A3ACC8EDBCFEB0E6B1BEBAC5A3BA257385 +:10F4500000000000B2E9BFB4B8FCB6E0BAAFCAFD24 +:10F46000B5F7D3C3D5BBD0C5CFA2A3ACC7EBD4CB24 +:10F47000D0D0A3BA61646472326C696E65202D6568 +:10F480002025732573202D61202D6620252E2A73BB +:10F4900000000000B7A2C9FAD7DCCFDFB4EDCEF38D +:10F4A000B5C4B5D8D6B7A3BA253038780000000067 +:10F4B000B7A2C9FAB4E6B4A2C6F7B9DCC0EDB4EDA0 +:10F4C000CEF3B5C4B5D8D6B7A3BA25303878000086 +:10F4D000D4DAD6D0B6CFBBF2C2E3BBFABBB7BEB369 +:10F4E000CFC2B7A2C9FAB4EDCEF3D2ECB3A30000F9 +:10F4F000D4DACFDFB3CC28257329D6D0B7A2C9FA86 +:10F50000B4EDCEF3D2ECB3A300000000B7A2C9FA69 +:10F51000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAA3 +:10F52000CAD4CDBCC7D0BBBBB5BD2041524D20D73E +:10F53000B4CCAC00B4EDCEF3A3BACEDEB7A8BBF129 +:10F54000C8A1D6F7D5BBD0C5CFA2A3ACC7EBBCEC46 +:10F55000B2E9D6F7D5BBB5C4CFE0B9D8C5E4D6C3B8 +:10F5600000000000B7A2C9FAD3C3B7A8B4EDCEF328 +:10F57000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D02E +:10F58000B7C7B6D4C6EBB7C3CECA0000D4DAD6D05C +:10F59000B6CFBBF2C2E3BBFABBB7BEB3CFC2B7A212 +:10F5A000C9FAB6CFD1D40000D4DACFDFB3CC282546 +:10F5B0007329D6D0B7A2C9FAB6CFD1D400000000C3 +:10F5C000BBF1C8A1BAAFCAFDB5F7D3C3D5BBCAA7B3 +:10F5D000B0DC0000B7A2C9FAB4E6B4A2C6F7B9DC41 +:10F5E000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F362 +:10F5F000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4A8 +:10F60000C7F8D3F2B6C1A1A2D0B4CAFDBEDD0000D6 +:10F61000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD52 +:10F62000D2F2A3BACAFDBEDDBCE0B2E2B5E3C6A524 +:10F63000C5E40000B7A2C9FAD3C3B7A8B4EDCEF3AE +:10F64000A3ACD4ADD2F2A3BACEDED0A7B5C4D2EC6F +:10F65000B3A3B7B5BBD8C2EB00000000B7A2C9FA8C +:10F66000D3B2B4EDCEF3A3ACD4ADD2F2A3BAC8A159 +:10F67000D6D0B6CFCFF2C1BFCAB1B3F6B4ED000059 +:10F68000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4ADE2 +:10F69000D2F2A3BAD6B4D0D020424B505420D6B820 +:10F6A000C1EE0000B7A2C9FAB4E6B4A2C6F7B9DC4D +:10F6B000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC6F391 +:10F6C000CDBCB4D3B2BBD4CAD0EDB7C3CECAB5C4D7 +:10F6D000C7F8D3F2C8A1D6B8C1EE0000B7A2C9FAE4 +:10F6E000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BAD2 +:10F6F000C6F3CDBCD6B4D0D0CEB4B6A8D2E5D6B879 +:10F70000C1EE0000B7A2C9FAD3C3B7A8B4EDCEF3D7 +:10F71000A3ACD4ADD2F2A3BAC6F3CDBCD6B4D0D08C +:10F72000D0ADB4A6C0EDC6F7D6B8C1EE000000005B +:10F73000B7A2C9FAB5F7CAD4B4EDCEF3A3ACD4AD31 +:10F74000D2F2A3BAB7A2C9FACFF2C1BFB2B6BBF127 +:10F7500000000000B7A2C9FAB4E6B4A2C6F7B9DC4B +:10F76000C0EDB4EDCEF3A3ACD4ADD2F2A3BAC8EBE6 +:10F77000D5BBCAB1C6F3CDBCB7C3CECAB2BBB1BB51 +:10F78000D4CAD0EDB5C4C7F8D3F20000B7A2C9FA05 +:10F79000B4E6B4A2C6F7B9DCC0EDB4EDCEF3A3ACC9 +:10F7A000D4ADD2F2A3BAB3F6D5BBCAB1C6F3CDBCC1 +:10F7B000B7C3CECAB2BBB1BBD4CAD0EDB5C4C7F8CB +:10F7C000D3F20000B7A2C9FAB5F7CAD4B4EDCEF3AC +:10F7D000A3ACD4ADD2F2A3BACDE2B2BFB5F7CAD4CE +:10F7E000C7EBC7F300000000B7A2C9FAB5F7CAD447 +:10F7F000B4EDCEF3A3ACD4ADD2F2A3BA4E56494386 +:10F8000020CDA3BBFAC7EBC7F3000000B7A2C9FA2B +:10F81000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA34 +:10F82000BEABC8B7B5C4CAFDBEDDD7DCCFDFB4ED13 +:10F83000CEF30000B7A2C9FAD7DCCFDFB4EDCEF328 +:10F84000A3ACD4ADD2F2A3BAB2BBBEABC8B7B5C4F9 +:10F85000CAFDBEDDD7DCCFDFB4EDCEF30000000083 +:10F86000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4ADE9 +:10F87000D2F2A3BAD6B8C1EED7DCCFDFB4EDCEF367 +:10F8800000000000B7A2C9FAD7DCCFDFB4EDCEF399 +:10F89000A3ACD4ADD2F2A3BAB6E8D0D4B1A3B4E647 +:10F8A000B8A1B5E3D7B4CCACCAB1B7A2C9FAB4ED2C +:10F8B000CEF30000B7A2C9FAB4E6B4A2C6F7B9DC29 +:10F8C000C0EDB4EDCEF3A3ACD4ADD2F2A3BAB6E89A +:10F8D000D0D4B1A3B4E6B8A1B5E3D7B4CCACCAB127 +:10F8E000B7A2C9FAB4EDCEF300000000B7A2C9FA7E +:10F8F000D7DCCFDFB4EDCEF3A3ACD4ADD2F2A3BA54 +:10F90000C8EBD5BBCAB1B7A2C9FAB4EDCEF30000BB +:10F91000B7A2C9FAD7DCCFDFB4EDCEF3A3ACD4AD38 +:10F92000D2F2A3BAB3F6D5BBCAB1B7A2C9FAB4ED45 +:10F93000CEF30000B4EDCEF3A3BACFDFB3CCD5BB8A +:10F94000282530387829B7A2C9FAD2E7B3F60000E3 +:10F95000B4EDCEF3A3BAD6F7D5BB28253038782935 +:10F96000B7A2C9FAD2E7B3F600000000B7A2C9FAFD +:10F97000D3C3B7A8B4EDCEF3A3ACD4ADD2F2A3BA3F +:10F98000C6F3CDBCD6B4D0D0B3FD203020B2D9D789 +:10F99000F70000005564705F496E7465726E616CAB +:10F9A0005F53657269614E65745F55706C6F616419 +:10F9B000696E672049503A253032582E253032582A +:10F9C0002E253032582E2530325820506F72743A1E +:10F9D00025640D0A00000000C9FDBCB6CAA7B0DC52 +:10F9E000A3ACB5D8D6B7B4EDCEF320646174615F33 +:10F9F0006275666665725B305D202620307832461F +:10FA0000464530303030203D2025583B206461741D +:10FA1000615F6275666665725B315D3D25580A00FF +:10FA2000544654502041434B207061636B657420F1 +:10FA30002D2D20536F636B657449643A2564202C27 +:10FA400020706F72743A2564202C206C656E3A2504 +:10FA50006C64202C2049503A25642E25642E2564A0 +:10FA60002E25640A0000000046494E5F5741495464 +:10FA70005F31000046494E5F574149545F320000F4 +:10FA800045535441424C495348454400434C4F531D +:10FA90004544000053594E5F524356440000000055 +:10FAA000434C4F53494E47004C4153545F41434BE5 +:10FAB000000000004C495354454E000054494D4548 +:10FAC0005F57414954000000434C4F53455F574135 +:10FAD0004954000053594E5F53454E5400000000F6 +:10FAE00000FB0100000000208402000012870000DB +:10FAF000A4FB010084020020BC6900007A8A010096 +:10FB0000013002471F12011A040412013A050212C1 +:10FB100006121C12201AAC041A14041210146002EB +:10FB2000209240180B34D0B810E0F5C0A801C804EA +:10FB30007501FFFFFF100F6A4B25E1C0A8651F404C +:10FB40001F901F0B0D42800211023A90B339061B21 +:10FB5000117201011A0B10EB0342395501410314D4 +:10FB6000CDAB1BE046ED011A041A106E19148CFA85 +:10FB7000011AB4041AD4041A94041A80041A6804EA +:10FB80001A74041AC8041AA0041AA8041ABC04811E +:10FB90000B1BF44A70013922881B2078040B34E0D7 +:04FBA00035600000CC +:0400000500008091E6 +:00000001FF diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/FlexCell.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/FlexCell.dll new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/FlexCell.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.Streams.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.Streams.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Compression.LZ4.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Hash.xxHash.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/K4os.Hash.xxHash.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/MySql.Data.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/MySql.Data.dll new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/MySql.Data.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.tar.gz b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.tar.gz new file mode 100644 index 0000000..02d0884 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.tar.gz differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.txt b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.txt new file mode 100644 index 0000000..2590e30 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/Pad1809CC数据.txt @@ -0,0 +1,94 @@ +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 71 01 00 E9 03 01 19 03 03 3E FB +AA 55 13 00 54 33 53 41 70 01 00 E9 03 01 19 03 02 F2 AB + + +豸 +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 65 00 01 F2 00 04 6D +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 FE 19 C2 +AA 55 14 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 00 98 42 + +ѯ +AA 55 1A 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 47 00 00 11 09 E9 + +ѯ +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 CD 00 0A F5 50 41 44 5F 31 38 30 39 43 43 21 AE + +ѯ +AA 55 29 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D8 00 0F F6 50 61 64 43 6F 6E 66 69 67 5F 32 2E 78 6D 6C 33 81 + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 67 00 01 F0 00 7C CD + +л +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 66 00 01 F1 00 40 9D + +ѯò +AA 55 24 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 D9 00 0A F4 00 FF 00 14 09 04 0D 31 23 00 04 45 + +ò +AA 55 1B 00 54 33 53 41 71 01 00 E9 03 01 19 01 01 A7 00 00 64 00 01 F3 00 38 3D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/UpFileData.txt b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/UpFileData.txt new file mode 100644 index 0000000..44e415a --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Pad1809CC/UpFileData.txt @@ -0,0 +1,136 @@ +ļȷݣ + + +1F 8B 08 00 00 00 00 00 02 03 ED 97 49 6F E3 36 14 80 73 1E 60 FE 83 7F 80 ED 72 5F 74 4B 32 2D 7A 48 66 8C 04 1D B4 27 43 B6 69 47 A8 24 1A 5A B2 F4 D0 DF 3E 8F 12 B5 D8 31 9D 5C 5A A0 45 08 03 06 EC EF AD 7C 7C 7C DC 26 A9 49 93 B2 9A 57 CF D5 C5 3F B4 10 2C C1 58 F3 0D EB F8 5B 22 C6 2F 30 95 44 30 CA 30 85 DF 31 C1 0C 5F 4C D0 C5 BF B0 EA B2 8A 8B C9 E4 A2 B0 F6 6C 02 DE FA FF 3F BA 2E 17 8B 9F A6 53 82 08 9A 21 39 43 64 82 48 44 59 44 F4 14 7F FE B4 B8 FC B2 C4 0A E9 EB EB 29 C7 5C 08 34 80 78 82 44 44 69 C4 C8 94 7C FE F4 8B CD AB 72 A4 07 A3 09 92 11 67 11 A3 4E CF B7 C5 E2 DB 7D 9C 97 B3 DB 79 55 6D A7 18 21 85 04 51 80 63 0D EC 0C 63 67 96 A1 88 20 ED CE AE 6C 65 67 77 66 57 A7 71 D1 8A 00 2E 85 13 00 DB 74 86 B9 33 8F 45 C4 85 13 58 C7 D9 AA 48 62 20 D7 40 62 2D 19 6A 75 23 50 0F 21 E1 08 E9 88 63 87 66 E5 CB 43 CB 69 C1 A4 A4 C2 83 A0 53 4F 10 38 CC 22 DC 80 77 A6 B4 75 B1 36 7D 54 A2 51 25 9C 9B 60 15 A2 BA BA F9 3E 5F 65 FB 29 21 58 2A E2 F4 A8 46 0F 9B 60 1A 61 14 51 EE F4 DC 43 79 55 A6 98 EF 92 ED 94 50 02 BE 79 7D 6C 46 21 4B 90 41 F8 28 47 AE E2 F5 9F BB C2 D6 F9 66 BE CF 77 90 25 25 30 EB E3 20 74 82 78 44 65 C4 DA 90 53 13 E7 4B BB DD 36 2C 51 84 9F 20 D9 88 CC 1B 90 0B 4A C3 A0 5D 97 0F F6 A9 05 09 3F 65 BB 71 74 5D 17 55 9C 0C D6 B1 6E C3 87 64 E3 19 52 13 48 36 6C 27 96 07 6C 6B 1F 53 45 70 88 7D B0 99 B9 4C 8A 06 A4 08 4A B0 E5 C8 0C 0B 57 4E 14 45 08 77 DC 10 BA 24 F2 84 A3 7A 00 5B CB 8A 0B 12 E2 D2 64 F7 50 5D DB D4 16 83 5A 72 52 2D 3B C6 7D 58 98 75 E5 1C C0 6F 92 7C F0 19 0E 00 E9 8B DF D1 D8 1D 25 4E 7A 7A 1C 1D 3A EB 75 1F 1E 3D 13 5E BD 36 F9 FA C5 6F C0 90 7E AC 9C 65 C6 3D 96 C5 D5 FA 61 B0 AC F5 61 02 44 04 C5 4A 9A 88 32 BB 31 8B C2 94 E5 10 11 C5 3A 14 FF 88 6E 7D 95 BD 13 27 E0 BA 4C D6 DE 01 2E 06 57 99 73 95 43 6F D2 3D 75 59 54 A3 8C BE AA 6B 0E A7 1E F5 F0 6D 5D 8D F2 4F 25 3F 28 42 E5 1C C0 E4 88 F6 7B CB B4 78 ED 2D 1F 54 7F 35 CF A3 0D 23 38 78 6E 46 B4 3F 8D 44 AB B3 F0 22 AE CB 51 A9 2B 46 DE 83 FB 8A D0 9C 9E A7 D3 F8 65 B4 DD 18 BD 83 6E 55 6B F4 96 EA C2 3C 26 B6 2E 47 69 41 F2 9D 12 3E 35 14 F1 90 40 6E 37 30 B1 D4 C5 6A 50 2F F4 A9 F2 E3 47 B4 57 8D 19 0A C1 B6 1E D5 14 97 22 54 A6 0D D7 AA A3 22 8C ED E3 D4 54 95 69 38 86 A4 40 A1 1A F5 E0 72 55 F9 A2 D3 8C 87 7C DC DB 27 33 34 2A 2C B9 0E 35 54 4F E6 DD 1D 11 EC 68 FB C2 EE 9A 13 EA EE 20 7F A0 18 15 27 F4 F2 03 7C 5B C0 C5 DF 26 55 F5 59 3D E0 9B CB 0A 66 A7 AC 6B 2A EC E0 4C C3 25 0E 4D A5 D9 D5 12 9A 94 B9 37 C5 E3 28 38 72 BA AD F0 57 7C D7 86 95 08 6E 6D B9 49 B2 CC 14 3E 3A A2 43 DD B2 4C 93 8D B9 82 BB B0 4D 04 61 4C 87 8E 7F 83 7A 8D 12 F3 90 C6 CA 64 FB 0E C3 E2 78 13 60 9E 40 7C C0 86 12 60 24 78 55 57 8F B7 EE D0 0C 79 42 4C 85 26 85 9E ED 72 44 CF B1 DF 6D 5A 67 E6 8B 7D 1A 0D 17 98 AB 50 52 0F 05 5A 0B 4C 32 1D 76 BC E5 7F DB 8F D4 4B F9 96 7A 87 7B E5 8A 90 B0 F2 E5 A6 1B 1F 84 D4 3C AC 75 2B 7CB9 01 7F 5B 50 61 11 6C 34 00 A6 66 DB 16 38 D5 5C 9D B0 DC 4E 95 00 76 DD 40 6A CA CE 60 85 BB B4 BD 65 72 F2 1A 6C 2C 3F 26 65 52 8D C6 11 8A 99 08 95 57 CF 76 7D 5F D3 20 DA 64 B3 BB B1 55 A8 AE 9F 92 1C 12 04 A3 D8 78 93 82 F3 CD 88 EE A7 21 11 6C 89 4F 69 9F 01 A2 85 3A BE E1 BB 86 F8 FB ED CD D1 7B 42 C3 EB 00 66 C0 E6 5D 12 6F AE 6D BE 4D 76 CB EB AF CB 3F E2 5F 4D 32 7F CE 52 77 06 55 D3 0C 07 21 E5 FA 0B 6B 9A E1 20 F4 F3 81 90 10 0A 26 7E 78 34 80 10 6E 1E 36 C8 75 AE 76 1F BA E9 DD 91 54 52 AF 1B E2 92 13 98 F0 59 D7 E0 46 D8 DF AE F6 3C C7 67 04 35 23 96 F0 DC F0 A0 5A 7A 11 20 85 20 A8 7F 63 B8 37 01 DC 0B F0 C6 38 7A 81 75 02 CB AB B8 34 6F 48 B9 EA 4E 6D BC 99 83 C8 7C F7 D7 B4 19 60 7A C7 21 93 58 42 88 8E DC 8E 9E FF 53 D4 53 90 3A EC 1E 81 FE FD 76 F1 B1 3E D6 C7 FA 58 1F EB FF B6 7E 00 2A 3C 27 AF 00 16 00 00 + + + + + + + + +ԭMD5ֵ 51 E8 4D FA C4 6D E2 FE 67 02 3F 1C 64 70 E6 3C + +õMD5ֵ 6D F0 A9 E5 95 96 DC 50 4B 41 0C 1C 5B 3D 34 5A + + +ԭMD5ֵ 72 BF 0A 4F 13 6A E4 33 ED DD 46 93 C9 D3 CB 41 + +õMD5ֵ 38 96 A5 13 51 19 F9 EF B1 C9 49 62 A5 A8 18 B8 + + +ԭMD5ֵ 93 89 B3 BB 34 82 77 B5 83 07 1F 21 71 08 1F B9 + +õMD5ֵ 37 4F 56 51 82 DE F0 CE 8B 20 85 AF 42 5A 24 1D + + +ԭMD5ֵ 9D 61 FC CA D3 33 80 83 FC B3 A3 FA 94 EA A2 29 + +õMD5ֵ A2 62 7F D6 50 68 E0 10 C5 8A 3B EE BB 4F 74 81 + + +ԭMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + +õMD5ֵ 7F D4 5A 12 A4 FC C0 78 AF 6F F6 F4 8A E0 08 CD + + + +ԭMD5ֵ C2 9C 01 88 50 FD A9 E4 DD B9 AC 91 9E 26 B1 D2 + + +ԭMD5ֵ E1 66 DA 0C 64 38 51 E0 8A 85 9C D1 CD 81 A7 32 + +õMD5ֵ 66 29 7B AD 97 5A C2 9B 07 83 AE D8 54 E5 88 F7 +Md5ֵ + + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + +õMD5ֵ 4A 78 A7 57 30 EE 87 5E 79 C9 A4 77 D2 6D DC 2D +Md5ֵ + + + +MD5: 2B 61 0B 07 8D 07 81 B3 52 50 D8 84 63 E5 53 04 + + + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + +ԭMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D + +õMD5ֵ BC 42 10 22 F8 53 75 84 9B 27 94 DD 79 5A A5 4D +Md5ֵ + + + + + +------------------------------------------------------------- + + +һ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ڶ +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + + + + +ı +ԭMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 + +õMD5ֵ 16 19 BD 49 C0 6C 8A B7 9B F3 EE 82 B6 34 71 78 +Md5ֵ + + + + + + + + + + + + + + + + + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.application b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.application new file mode 100644 index 0000000..cd395d6 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + FVKYs1HIkXmZfvh2IldCpD4kpPyUhAFTD6O/uYbo+Mo= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe new file mode 100644 index 0000000..a7d1cd3 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.config b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.config new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.config @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.manifest b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.manifest new file mode 100644 index 0000000..c50d857 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + 5F+GELK8dja5YK1MIsJ59mNyJFQAi9WKTR7+MlTQUa0= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.pdb b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.pdb new file mode 100644 index 0000000..87eacdb Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.pdb differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.xml b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.xml new file mode 100644 index 0000000..798b889 --- /dev/null +++ b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/RCU.xml @@ -0,0 +1,4652 @@ + + + + +RCU + + + + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性 + 重写当前线程的 CurrentUICulture 属性。 + + + + + 查找类似 的本地化字符串。 + + + + + Contains the schema of a single DB column. + + + + + 清空数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 复制基础表数据到新表中 + + 表名 + 基础表名 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + Contains the entire database schema + + + + + 判断列名 + + + + + + 判断条件 + + + + + + 判断值 + + + + + + 当前条件与上一个条件的逻辑关系 + + + + + + 将当前条件转换为字符串,不支持将条件逻辑关系同时转换 + + + + + + 查询条件的表名 + + + + + + 当IsSearchAllCols = False时,查询返回列名集合 + + + + + + 查询的条件 + + + + + + 排序方式 + + + + + + 但需要排序时排序列名 + + + + + + 从返回结果提取指定行的内容 + + + + + + Describes a single view schema + + + + + Contains the view name + + + + + Contains the view SQL statement + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 查询指定数据表的信息 + + + + + + + 数据库语句助手 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句 + 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用 + + + + + + 查询指定数据表符合条件的所有数据 + + 指定表名 + 查询条件, + + + + + 查询表符合条件的所有指定列的数据 + + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询表符合条件的所有指定列的数据 + + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据表名 + 查询条件 + + + + + 查询指定数据表的信息 + + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量 + + 表名 + + + + + 数据表插入一行数据 + + 表名 + 列名字符串 + 列值字符串 + + + + + 数据表插入一行数据 + + 表名 + 列名与列值键值对 + + + + + 数据表插入一行,通过命令参数方式执行时使用 + + + + + + + + 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 表名 + 字段列表 + + + + + 更新指定表数据 + + 指定表名 + 更新字符串 + + + + + + 更新指定表数据 + + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 指定数据表增加一列数据 + + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 数据表删除一列数据 + + 表名 + 需要删除的列名,仅一列 + + + + + 删除指定表多行数据 + + 表名 + 条件 + + + + + 创建数据表 + + 表名 + 创建表的列信息字符串 + + + + + 创建数据表,如果存在则不创建 + + 表名 + 创建表的列信息字符串 + + + + + 清空数据表,表依旧存在 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的去重数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据库名 + 数据表名 + 查询条件 + + + + + 查询指定数据库中指定数据表符合条件的所有数据 + + + 数据库名 + 数据表名 + 查询条件(可选) + + + + + 查询指定数据库中指定数据表的信息 + + 数据库名 + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量 + + 数据库名 + 表名 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名字符串 + 列值字符串 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名与列值键值对 + + + + + 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 数据库名 + + 需要插入列名的集合 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新字符串 + + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 数据库名 + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 指定数据库中指定数据表增加一列数据 + + 数据库名 + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 指定数据库中数据表删除一列数据 + + 数据库名 + 表名 + 需要删除的列名,仅一列 + + + + + 指定数据库中指定表删除多行数据 + + 数据库名 + 表名 + 条件 + + + + + 指定数据库中创建数据表 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 指定数据库中创建数据表,如果存在则不创建 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 清空指定数据库中数据表,表依旧存在 + + 数据库名 + 数据表名 + + + + + 删除指定数据库中数据表 + + 数据库名 + 数据表名 + + + + + 数据库通用命令执行器 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + + + + 数据库类型,目前支持Mysql与Sqlite + + + + + 打开数据库连接 + + + + + + 关闭数据库连接 + + + + + 创建当前连接的命令执行句柄 + + + + + + 运行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 开启事务 + + + + + + 提交事务 + + + + + 回滚事务 + + + + + 创建数据参数 + + 参数数据类型 + 参数名称 + 参数值 + + + + + 添加数据参数 + + + + + + + + + 清空数据 + + + + + 回收资源 + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 查询指定数据表的信息 + + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 设备名称 + + + + + 设备控制计数 + + + + + 设备控制信息 + + + + + 设备测试成功率 + + + + + 初始化 + + + + + 初始化 + + 设备类型 + 设备地址 + + + + 初始化 + + 设备类型 + 设备地址 + 设备状态 + + + + 获取设备名称 + + 设备类型 + 设备地址 + + + + + 复位状态 + + + + + 窗体加载函数 + + + + + + + 显示窗体_接口 + + + + + + 发送函数 + + + + + + 枚举表格设备列信息 + + + + NULL + + + 是否选中 + + + 设备地址 + + + 设备名称 + + + 状态_区域 + + + 结果 + + + 类型表的列集合 + + + + 初始化设备表格信息 + + + + 设备项目列表 + + + 单包数据字节长度 + + + 发送数据序号 + + + + 初始化设备列表 + + + + + 设备类型转换 + + + + + + + 填充串口升级包 + + + + + + + + 填充C1发送包 + + 命令码 + Data数组 + + + + + 获取发送序号 + + + + + + 判断设备类型 + + + + + 搜索 + + + + + + + 搜索数据 + + + + + + + Boot区搜索数据 + + + + + + + 搜索范围值_委托 + + + + + + + 委托搜索范围值 + + + + + + + 选择下发文件改变 + + + + + + + 选择文件 + + + + + + + 状态栏解析文本委托 + 改变文本和颜色 + + + + + + + + 状态栏解析文本 + 改变文本和颜色 + + + + + + + + 解析Hex文件 + + + + + + 加载hex文件数据 + + + + + + + 解析Hex文件到Byte数组 + + + + + + + + + 获取和校验 + + + + + + + + 升级 + + + + + + + 获取更新设备类型委托 + + + + + + 获取更新设备类型 + + + + + 是否准备升级 + + + + 准备开始升级485 + + + + + 开始升级 + + + + + 搜索Boot分区 + + 485地址 + + + + 跳转BootLoader分区 + + 485地址 + + + + 设置参数 + + 485地址 + + + + 获取更新设备类型 + + + + + + 擦除Flash + + 485地址 + + + + 获取Flash数据 + + + + + + 写入Flash回复 + + + + + 记录重发次数 + + + + + Flash数据 + + + + + Flash新数据 + + + + + 写入Flash + + + + + + 根据设备地址类型分包 + + 设备地址类型 + 数据包 + + + + 具体分包函数 + 根据不同类型的包长度分包 + + 不同类型的包长 + + + + + Flash校验 + + + + + 填充写入Flash数据包 + + 485地址 + + + + + + + + 填充烧录单包数据 + + + + + + + + + 获取Flash单包校验数据长度 + 根据类型判断需要校验的数据长度 + + + + + + Flash校验 + + + + + + 获取Flash校验数据 + + 根据类型确认,单包参与crc16校验数据长度burnLen + + + + + 跳转App区 + + + + + + 回复超时 + + + + + 等待写入Flash数据回复 + + + + + 升级设备列表总数 + + + + + 搜索分区委托 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 添加记录 + + + + + + + 测试 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 枚举表格列名信息 + + + + + C43配置数据 + + + + + C43搜索命令—按地址搜索 + + + + + + + C43发布 + + + + + + + C43第一包数据包头 + + + + + + C43下发数据 + + + + + + + 下发C43数据到RCU + + + + + 取出C43配置数据 + + + + + + 填充C43发送数据包 + + + + + + + + + 填充C43地址数据 + + + + + + + 按块填充C43表格数据 + + + + + + + + + C43表格配置按键 + + + + + + + 增加数据行 + + + + + + + 删除数据行 + + + + + + + 保存C43数据 + + + + + + + 保存文件配置 + + + + + 读取数据 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 空调开关 + + + + + 是否空调下载 + + + + + 是否下载红外文件 + + + + + 红外文件下载线程 + + + + + 红外电视下载线程 + + + + + 控件变化 + + + + + 电视开关 + + + + + 是否电视下载 + + + + + 回复超时 + + + + + 红外下发空调初始化窗体信息 + + + + + 空调软件搜索 + + + + + + + 空调固件搜索 + + + + + + + 导出 + + + + + + + 空调导入dat配置文件信息 + + + + + + + 烧录dat配置文件信息 + + + + + + + 发送询问指令 + + + + + 等待回复可以下载 + + + + + + 空调下载数据 + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + CRC16校验 + + + + + + 红外协议组包头 + + + + + 填充红外开关包_控制按键通用 + + + + + + 填充红外搜索数据 + + + + + + 询问是否可以红外下发 + + + + + + 红外下发前询问 + + + + + + 读取选中文件_空调 + + 文件格式为(dat) + + + + 读取选中文件_电视 + + 文件格式为(dat) + + + + RCU红外下发数据 + + + + + 进度条变化 + + + + + 进度条变化 + + + + + 填充烧录包数据 + + + + + + + + + 填充烧录单包数据 + + + + + + + + + 等待红外数据回复 + + + + + 空调开关按键 + + + + + + + 空调开关控制状态 + + + + + 空调温度值增加 + + + + + + + 空调温度值减少 + + + + + + + 空调风速按键 + + + + + + + 空调模式按键 + + + + + + + 空调控制 + + + + + 填充空调控制包 + + + + + + 填充空调控制数据 + + + + + + 获取空调开关 + + + + + + 获取空调风速 + + + + + + 获取空调模式 + + + + + + 组一键读取的包 + + + + + + 组一键读取的数据包 + + + + + + + + 电视静音 + + + + + + + 电视开关 + + + + + + + 电视音量加键 + + + + + + + 电视音量减键 + + + + + + + 频道加键 + + + + + + + 频道减键 + + + + + + + 电视上键 + + + + + + + 电视下键 + + + + + + + 电视左键 + + + + + + + 电视右键 + + + + + + + 电视OK键 + + + + + + + 电视首页 + + + + + + + 电视菜单 + + + + + + + 电视信源 + + + + + + + 电视返回 + + + + + + + 电视一键读取 + + + + + + + 电视搜索 + + + + + + + 电视固件搜索 + + + + + + + 电视导入 + + + + + + + 电视烧录 + + + + + + + 填充电视通讯包 + + + + + 填充电视数据包 + + + + + + + 下载电视数据 + + + + + RCU红外下发电视数据 + + + + + 填充烧录包数据 + + + + + + + + + 密码窗体 + + + + + 下载文件路径 + + + + + 初始化数据表信息——数据库RCU表 + + + + + 选择文件 + + + + + + + 获取选择文件信息 + + + + + 选择文件处理 + + + + + + 数据录入 + + + + + + + 录入数据 + + + + + 录入保护 + + + + + + 刷新数据表 + + + + + 刷新列表 + + + + + + + 刷新列表_菜单栏 + + + + + + + 删除记录_菜单栏 + + + + + + + 删除记录 + + + + + 执行删除 + + + + + 执行删除记录 + + + + + 空调下载 + + + + + + + 下载保护 + + + + + + 开始下载空调 + + + + + 选择厂商 + + + + + + + 选择型号 + + + + + + + 选择版本 + + + + + + + 查询空调品牌 + + + + + 查询空调型号 + + + + + 查询空调版本 + + + + + 电视下载 + + + + + + + 选择电视品牌 + + + + + + + 选择电视型号 + + + + + + + 选择电视版本 + + + + + + + 查询电视厂商 + + + + + 查询电视型号 + + + + + 查询电视型号 + + + + + 下载电视保护 + + + + + + 开始下载电视文件 + + + + + 添加记录 + + + + + + + 密码 + + + + + 是否删除 + + + + + 打开窗体 + + + + + 显示窗体 + + + + + 确认 + + + + + + + 取消 + + + + + + + 是否删除 + + + + + + C43窗体 + + + + + 红外窗体 + + + + + RF无线窗体 + + + + + 485升级窗体 + + + + + 初始化各子窗体 + + + + + 枚举是否连接 + + + + + 连接状态,默认非连接 + + + + + 按键连接提示文本 + + + + + 按键连接提示颜色 + + + + + 按键连接启用 + + + + + 模式选择 + + + + + 串口波特率 + + + + + Socket网络套接字 + + + + + UDP通讯接收线程 + + + + + 本地端口号 + + + + + 总接收数据字节数 + + + + + 总发送数据字节数 + + + + + 端口1接收数据字节数 + + + + + 端口2接收数据字节数 + + + + + 端口3接收数据字节数 + + + + + 发送次数标志位 + + + + + 窗体加载事件 + + + + + + + 显示窗体名称和版本信息 + + + + + 设置窗体 + + + + + 下拉模式选择 + + + + + RF设备电动窗帘保存信息 + + + + + 点击连接按键,控件变化 + + + + + + + 更新下拉框是否可用 + + + + + + 状态栏更新显示 + + + + + 更新连接状态 + + + + + + 更新按键显示 + + + + + + 清空记录 + + + + + + + 清空端口1记录 + + + + + + + 清空端口2记录 + + + + + + + 清空端口3记录 + + + + + + + 重置计数 + + + + + + + 停止刷新布尔值 + + + + + 停止刷新端口数据 + + + + + 各端口停止刷新纪录 + + + + + + + 远程IP地址 + + + + + 远程端口号 + + + + + 远程IP地址和端口号 + + + + + 当前时间 + + + + + 最后时间 + + + + + 时间间隔 + + + + + 接收数据偏移量 + + + + + 接收数据缓存包 + + + + + Cmd为70模式注释 + + + + + Cmd为70模式 + + + + + Cmd为70设置回复 + + + + + Cmd为70的透传回复 + + + + + Cmd为71的透传回复 + + + + + 是否显示通讯记录数据 + + + + + 是否显示通讯记录提示 + + + + + 是否窗体处于关闭状态 + + + + + 选择串口通讯 + + + + + + + 选择UDP通讯 + + + + + + + 串口连接按键 + + + + + + + 关闭串口 + + + + + 打开串口 + + + + + 点击下拉获取可用串口 + + + + + + + 获取可用串口 + + + + + 配置串口 + + + + + 发送485串口数据 + + + + + + + 接收485串口数据 + + + + + + + Byte数组转字符串 + + + + + + + 显示串口回复数据 + + + + + + 解析串口数据 + + + + + + + 解析RS485数据 + + + + + + + 处理查询数据 + + + + + + + 解析红外处理数据 + + + + + + + 处理空调控制数据 + + + + + + + 处理电视控制数据 + + + + + + + 处理红外搜索数据 + + + + + + + 处理红外数据 + + + + + + + 烧录过程中,处理数据 + + + + + + + 取设备偏移值 + + + + + 监控模式布尔值 + + + + + 处理RF单包数据 + + + + + + + 处理RF数据 + + + + + + 解析RF数据 + + + + + + + 解析询问设备网络状态命令_0x13 + + + + + + 解析读取设备列表命令_0x15 + + + + + + 解析设置设备网络命令_0x017 + + + + + + 解析配对设备列表命令_0x1A + + + + + + 解析RF设备写入信息 + + + + + + 根据配对设备型号获取设备名称 + + + + + + + 解析设备类型 + + + + + + + 解析设备地址 + + + + + + + 解析设备状态 + + + + + + + 解析RF设备16命令上报数据 + + + + + + + 插卡取电上报数据16 + + + + + + 电动窗帘上报数据16 + + + + + + 解析RF设备51命令上报数据 + + + + + + + 插卡取电上报数据51 + + + + + + 开关面板上报数据51 + + + + + + 键值文本 + + + + + 按键等提示信息 + + + + + + + 无线温控上报数据51 + + + + + + 微信锁上报数据51 + + + + + + 无线语音上报数据51 + + + + + + 无线语音_场景_类型0 + + + + + 无线语音_继电器_类型1 + + + + + + 无线语音_服务客需_类型4 + + + + + + 无线语音_窗帘窗纱_类型5 + + + + + + 无线语音_空调控制_类型7 + + + + + + 无线语音_空调控制_类型7_0x00 + + + + + + 无线语音_背景音乐_类型15 + + + + + + 无线语音_调光_类型10 + + + + + + 无线语音_继电器_电视_类型F + + + + + + 无线语音_灯带_类型12 + + + + + + 刷新设备列表控制信息 + + + + + + + 是否是C1设备 + + + + + 搜索_App区 + + + + + + 搜索_Boot区 + + + + + + 跳转_App区 + + + + + + 写入Flash数据 + + + + + + 擦除Flash + + + + + + 校验Flash + + + + + + 获取Flash校验结果 + + + + + + 跳转_Boot区 + + + + + + 设置参数 + + + + + + 初始化本地IP + + + + + 获取本地可用IP + + + + + + 显示UDP接收数据 + + + + + + + 更新发送数据 + + + + + + UDP接收数据 + + + + + 发送UDP数据 + + + + + + 显示端口信息 + + + + + + SendUDPData限制 + 超过1024字节自动清空 + + + + + + + 字节数求和 + + + + + + 定时器每隔5S发送一包数据 + + + + + + + 读取操作 --- PC->RCU主机 + + + + + + + 设置操作 --- PC->RCU主机 + + + + + + + 监控模式 --- PC->RCU主机 + + + + + + + 发送操作 --- PC->RCU主机 + + + + + + + 发送数据设置 + + + + + + 接收数据处理 + + + + + + + 改变状态委托 + + 文本 + 文本颜色 + + + + 改变状态委托 + + + + + + + 检验CRC16成功 + + + + + + + + 获取CRC16校验和 + + 数据 + 数据长度 + + + + + 获取CRC16校验和 + + 数据 + + + + + 处理数据 + + + + + + + + 处理Cmd为70的命令 + + + + + + + 处理dataBuff(15)为1的状态 + + + + + + + 处理dataBuff(15)为1的文本注释信息 + + + + + + + 处理dataBuff(15)为2的状态 + + + + + + + 处理dataBuff(15)为3的状态 + + + + + + + 处理Cmd为71的数据 + + + + + + + 处理Cmd为71的端口数据_1、2、3端口 + + + + + + 网络数据还原成485串口数据 + + + + + + 解析红外透传数据 + + + + + + 处理空调控制透传数据 + + + + + + + 处理电视控制透传数据 + + + + + + + 处理红外搜索透传数据 + + + + + + + 处理下发前询问透传数据 + + + + + + + 烧录过程中,处理透传数据 + + + + + + + 添加记录文本和颜色 + + 需要添加的记录内容 + 需要设置的记录颜色 + + + + 添加记录 + + + + + + + 添加端口1记录文本和颜色 + + + + + + + 添加端口1记录 + + + + + + + 添加端口2记录文本和颜色 + + + + + + + 添加端口2记录 + + + + + + + 添加端口3记录文本和颜色 + + + + + + + 添加端口3记录 + + + + + + + 发送数据 + + 串口数据 + + + + 检查网络连接 + + + + + + 以哪种方式发送 + + + + + 关闭窗口事件 + + + + 窗体加载 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + RF网关 + + + + + 485网关地址 + + + + + 设备类型 + + + + + 设备地址 + + + + + 和校验 + + + + + 数据包长 + + + + + 命令字 + + + + + 数据内容 + + + + + RF设备类型 + + + + + 检查通信连接 + + + + + 设备名称 + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 控制计数 + + + + + 控制信息 + + + + + 设备测试 + + + + + 填充RF网关包 + + + + + 填充RF网关包 + + + + + 设备列表设备总数 + + + + + 设置RF配对 + + + + + + + 配对按键变化 + + + + + 配对数据内容 + + + + + + 定时检测,若在配对状态,则两分钟继续保持 + + + + + + + 读取RF网络地址 + + + + + + + 读取RF设备网络委托 + + + + + + 读取RF设备网络 + + + + + + 设置RF网络地址 + + + + + + + 读取设备列表在线状态 + + + + + + + 读取RF设备列表 + + + + + 全部刷新设备列表委托 + + + + + 刷新设备列表信息 + 全部刷新_委托 + + + + + 局部刷新设备列表委托 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 局部刷新设备列表控制委托 + + + + + 刷新设备列表控制信息 + 局部刷新_委托 + + + + + 清空设备列表 + + + + + + + 全局设备地址 + 点击后从列表获取 + + + + + 初始化功能Page + + + + + 点击表格刷新Page控件 + + + + + + + 回复41 00数据 + + + + + + 设置读取扇区标志位 + + + + + 初始化插卡取电信息 + + + + + 设置读取扇区 + + + + + + + 获取扇区值 + + + + + + 插卡取电回复命令 + + + + + 渐变时间 + + + + + 延时时间 + + + + + 初始化选择时间 + + + + + 控件点击变化 + + + + + + 控件状态 + + + + + + + 获取设置指示灯的值 + + + + + + 设置指示灯bit + 四个Bit的Byte + + + + + + + + + + 获取标志位 + 八个Bit的Byte + + + + + + + + + + + + + + 设置亮灭灯 + + + + + + + 获取亮度值数据 + + + + + + 选择状态 + + + + + + + 设置亮灭渐变时间 + + + + + + + 获取渐变时间数据 + + + + + + 获取渐变时间 + + + + + + 设置本地控制延时时间 + + + + + + + 获取本地控制延时时间 + + + + + + 获取延时时间 + + + + + + 本地控制开关 + + + + + 设置本地控制开关 + + + + + + + 获取本地控制开关数据 + + + + + + 获取本地控制开关 + + + + + + 读取指示灯信息 + + + + + + + 设置指示灯 + + + + + 获取指示灯数据 + + + + + + 语音模块配置下发 + + + + + + + 初始化无线温控 + + + + + 空调开关控制状态 + + + + + 无线温控风速切换 + + + + + 无线温控模式切换 + + + + + 无线温控 + + + + + 获取温控数据位 + + + + + + 温控数据高位Bit + + + + + + 获取阀门开关 + + + + + + 获取风速数据 + + + + + + 获取模式数据 + + + + + + 获取开关数据 + + + + + + 无线温控加温度 + + + + + + + 无线温控减温度 + + + + + + + 无线温控开关 + + + + + + + 无线温控风速 + + + + + + + 无线温控模式 + + + + + + + 无线温控阀门 + + + + + + + 设置温差 + + + + + + + 读取温控器设置 + + + + + + + 是否设置 + + + + + 是否设置唤醒时间 + + + + + + + 设置的唤醒时间 + + + + + 微信锁设置唤醒时间命令 + + + + + + + 获取唤醒时间 + + + + + + 微信锁开锁控制命令 + + + + + + + 微信锁状态读取命令 + + + + + + + 窗帘开启 + + + + + + + 窗帘停止 + + + + + + + 窗帘关闭 + + + + + + + 电动窗帘转发数据 + + + + + + + 窗帘发送数据 + + + + + 一键测试 + + + + + + + 获取设备类型 + + + + + + + 设备通讯测试_插卡取电 + + + + + + + 设备通讯测试_开关面板 + + + + + + + 设备通讯测试_无线语音 + + + + + + + 设备通讯测试_无线温控 + + + + + + + 设备通讯测试_微信锁 + + + + + + + 网关通讯测试_电动窗帘 + + + + + + + 设备通讯测试 + + + + + + 刷新通讯测试信息 + + + + + + + + 刷新通讯测试信息_委托 + + + + + + + + 获取通讯测试文本颜色 + + + + + + + 添加记录 + + + + + + + 显示窗体接口 + + + + + 远程数据库类型 + + + 远程数据库名 + + + + 连接数据库字符串 + + + + + + 是否处于网络接收状态 + + + + + 是否通过UDP发送数据 + + + + + 是否读取 + + + + + 是否准备完成 + + + + + 红外回复处理 + + + + + 红外烧录是否回复 + + + + + 记录重发次数 + + + + + 配对设备列表设备总数 + + + + + RF配对模式 + + + + + 设备列表键值对 + + + + + 升级设备列表_键值对 + + + + + 点击计数 + + + + + 透传数据包头 + + + + + 透传数据固定ID + + + + + 透传数据房间信息 + + + + + 包头数据长度 + + + + + 数据CRC校验长度 + + + + + 透传命令 + + + + + 透传端口 + + + + + 透传超时 + + + + + 发送次数标志位 + + + + + 填充发送数据包 + + + + + + + 填充发送包头数据 + + + + + + + 填充发送信息包头 + + + + + + + + + 填充发送校验数据 + + + + + + + + 填充发送数据包 + + 数据包头 + 数据内容 + CRC16校验 + + + + + 填充透传函数 + 填充透传函数的抽象实现 + + + + + + + 填充透传函数的具体实现 + + + + + + + 透传数据CMD + + 串口数据 + + + + + CRC16校验 + + + + + + + + MD5值校验 + + 需要校验的字符串 + 加密模式 + + + + + MD5校验 + + 需要校验的字符串 + + + + + 获取文件的MD5值 + + 文件路径 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验取余数 + 求Byte数组的和校验取余数 + + Byte数组 + + + + + 红外下载文件夹 + + + + + 检查网络连接 + + + + + 检测串口连接 + + + + + Byte数组转字符串 + + + + + + + Int转2个字节Byte + 高字节在前,低字节在后 + + + + + + + Int转2个字节Byte + 低字节在前,高字节在后 + + + + + + + 分块函数 + 计算Byte数组的块数 + + + + + + + 延时N秒 + + 时间值 + + + + 读取Hex文件到Byte数组 + + + + + + + 删除文件夹 + + + + + 字符串转换Byte数组 + 字符串为连续且不包含任意字符的字符串 + + + + + + + 发送数据处理(所发所见—16进制) + + + + + + 设备地址 + + + + + 设备分区 + + + + + 设备名称 + + + + + + 更新结果 + + + + + + 初始化 + + + + + 初始化 + + + + + + + + 升级结果 + + + + diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Buffers.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Buffers.dll new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Buffers.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Data.SQLite.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Data.SQLite.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Memory.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Memory.dll new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Memory.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Numerics.Vectors.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Numerics.Vectors.dll new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Numerics.Vectors.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Runtime.CompilerServices.Unsafe.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Runtime.CompilerServices.Unsafe.dll new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/System.Runtime.CompilerServices.Unsafe.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Ubiety.Dns.Core.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Ubiety.Dns.Core.dll new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Ubiety.Dns.Core.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Zstandard.Net.dll b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Zstandard.Net.dll new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/Zstandard.Net.dll differ diff --git a/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/app.publish/RCU.exe b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/app.publish/RCU.exe new file mode 100644 index 0000000..a7d1cd3 Binary files /dev/null and b/RCU-10/RCU/bin/RCU透传工具_V2.7.0.7/app.publish/RCU.exe differ diff --git a/RCU-10/RCU/favicon.ico b/RCU-10/RCU/favicon.ico new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/favicon.ico differ diff --git a/RCU-10/RCU/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb b/RCU-10/RCU/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb new file mode 100644 index 0000000..e7dcac5 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.vb @@ -0,0 +1,7 @@ +' + Option Strict Off + Option Explicit On + + Imports System + Imports System.Reflection + diff --git a/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..7cb1592 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..0813fb6 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput_PC-20220312WOOV_2月-18-160229-2023_Conflict.cache b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput_PC-20220312WOOV_2月-18-160229-2023_Conflict.cache new file mode 100644 index 0000000..a4b7286 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/DesignTimeResolveAssemblyReferencesInput_PC-20220312WOOV_2月-18-160229-2023_Conflict.cache differ diff --git a/RCU-10/RCU/obj/Debug/RCU.Frm485Update.resources b/RCU-10/RCU/obj/Debug/RCU.Frm485Update.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.Frm485Update.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.FrmC43Function.resources b/RCU-10/RCU/obj/Debug/RCU.FrmC43Function.resources new file mode 100644 index 0000000..75f2178 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.FrmC43Function.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.FrmInfraredFunction.resources b/RCU-10/RCU/obj/Debug/RCU.FrmInfraredFunction.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.FrmInfraredFunction.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.FrmPassword.resources b/RCU-10/RCU/obj/Debug/RCU.FrmPassword.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.FrmPassword.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.FrmRCU.resources b/RCU-10/RCU/obj/Debug/RCU.FrmRCU.resources new file mode 100644 index 0000000..670311c Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.FrmRCU.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.FrmRFFunction.resources b/RCU-10/RCU/obj/Debug/RCU.FrmRFFunction.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.FrmRFFunction.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.Resources.resources b/RCU-10/RCU/obj/Debug/RCU.Resources.resources new file mode 100644 index 0000000..dd72e04 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.Resources.resources differ diff --git a/RCU-10/RCU/obj/Debug/RCU.TrustInfo.xml b/RCU-10/RCU/obj/Debug/RCU.TrustInfo.xml new file mode 100644 index 0000000..9c2ae30 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.TrustInfo.xml @@ -0,0 +1,11 @@ + \ No newline at end of file diff --git a/RCU-10/RCU/obj/Debug/RCU.application b/RCU-10/RCU/obj/Debug/RCU.application new file mode 100644 index 0000000..6a4a32c --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + ZfXT0OrBBJCjcnXTnam2mqD8FZlosX4MHIdelY1pjTM= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/obj/Debug/RCU.exe b/RCU-10/RCU/obj/Debug/RCU.exe new file mode 100644 index 0000000..0e01278 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.exe differ diff --git a/RCU-10/RCU/obj/Debug/RCU.exe.manifest b/RCU-10/RCU/obj/Debug/RCU.exe.manifest new file mode 100644 index 0000000..45642a3 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + GWBvU81EPZVjUdWQiSXKbseGWgvdyQ6YkqlhQDoYuJM= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/obj/Debug/RCU.pdb b/RCU-10/RCU/obj/Debug/RCU.pdb new file mode 100644 index 0000000..97f4ffa Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.pdb differ diff --git a/RCU-10/RCU/obj/Debug/RCU.vbproj.AssemblyReference.cache b/RCU-10/RCU/obj/Debug/RCU.vbproj.AssemblyReference.cache new file mode 100644 index 0000000..1d81dbb Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.vbproj.AssemblyReference.cache differ diff --git a/RCU-10/RCU/obj/Debug/RCU.vbproj.CoreCompileInputs.cache b/RCU-10/RCU/obj/Debug/RCU.vbproj.CoreCompileInputs.cache new file mode 100644 index 0000000..6cdc713 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.vbproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +82e66b6a3c7253bf6075c22682ef7434b8aa0a39 diff --git a/RCU-10/RCU/obj/Debug/RCU.vbproj.FileListAbsolute.txt b/RCU-10/RCU/obj/Debug/RCU.vbproj.FileListAbsolute.txt new file mode 100644 index 0000000..2334e17 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.vbproj.FileListAbsolute.txt @@ -0,0 +1,441 @@ +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\bin\Debug\RCU.exe.config +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\bin\Debug\RCU.exe +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\bin\Debug\RCU.pdb +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\bin\Debug\RCU.xml +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.Form1.resources +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.Resources.resources +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.exe +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.xml +D:\Sync\blw-Public\RCU\SW\RCU\RCU\RCU\obj\Debug\RCU.pdb +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.Resources.resources +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.Form1.resources +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VB\RCU通讯\RCU1-3\RCU\obj\Debug\RCU.pdb +D:\Sync\I DO\RCU\RCU\bin\Debug\RCU.exe.config +D:\Sync\I DO\RCU\RCU\bin\Debug\RCU.exe +D:\Sync\I DO\RCU\RCU\bin\Debug\RCU.pdb +D:\Sync\I DO\RCU\RCU\bin\Debug\RCU.xml +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.exe +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.xml +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.pdb +D:\Sync\I DO\RCU\RCU\bin\Debug\FlexCell.dll +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.vbproj.CopyComplete +D:\Sync\I DO\RCU\RCU\obj\Debug\RCU.FrmRCU.resources +D:\Sync\blw-Public\RCU\SW\RCU\RCU\bin\Debug\RCU.exe.config +D:\Sync\blw-Public\RCU\SW\RCU\RCU\bin\Debug\RCU.exe +D:\Sync\blw-Public\RCU\SW\RCU\RCU\bin\Debug\RCU.pdb +D:\Sync\blw-Public\RCU\SW\RCU\RCU\bin\Debug\RCU.xml +D:\Sync\blw-Public\RCU\SW\RCU\RCU\bin\Debug\FlexCell.dll +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.FrmRCU.resources +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.Resources.resources +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.vbproj.CopyComplete +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.exe +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.xml +D:\Sync\blw-Public\RCU\SW\RCU\RCU\obj\Debug\RCU.pdb +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\bin\Debug\RCU.exe.config +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\bin\Debug\RCU.exe +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\bin\Debug\RCU.pdb +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\bin\Debug\RCU.xml +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\bin\Debug\FlexCell.dll +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.FrmRCU.resources +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.Resources.resources +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.exe +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.xml +E:\Sync\blw-Public\RCU\SW\RCU - V2.0\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VB\RCU网络通讯—透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-红外版\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\MySql.Data.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\System.Data.SQLite.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\UTS_Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\Google.Protobuf.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\Zstandard.Net.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\Ubiety.Dns.Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\System.Memory.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\System.Buffers.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\K4os.Compression.LZ4.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\K4os.Hash.xxHash.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\System.Numerics.Vectors.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.FrmPassword.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-6-下载版\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\MySql.Data.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\System.Data.SQLite.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\UTS_Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\Google.Protobuf.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\Zstandard.Net.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\Ubiety.Dns.Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\System.Memory.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\System.Buffers.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\K4os.Compression.LZ4.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\K4os.Hash.xxHash.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\System.Numerics.Vectors.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.FrmC43Function.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.FrmPassword.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.FrmRFFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-8-通讯整合版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\MySql.Data.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\System.Data.SQLite.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\UTS_Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\Google.Protobuf.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\Zstandard.Net.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\Ubiety.Dns.Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\System.Memory.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\System.Buffers.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\K4os.Compression.LZ4.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\K4os.Hash.xxHash.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\System.Numerics.Vectors.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.vbprojAssemblyReference.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmC43Function.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmPassword.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmRFFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.FrmRFWiFiFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-无线版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\FlexCell.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\MySql.Data.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\System.Data.SQLite.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\UTS_Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\Zstandard.Net.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\Ubiety.Dns.Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\System.Memory.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\System.Buffers.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\K4os.Compression.LZ4.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\K4os.Hash.xxHash.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\System.Numerics.Vectors.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.FrmC43Function.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.FrmPassword.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.FrmRFFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-9-RF无线版\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\RCU.exe.config +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\MySql.Data.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\System.Data.SQLite.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\bin\Debug\UTS_Core.dll +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.Frm485Update.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.FrmC43Function.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.FrmPassword.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.FrmRCU.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.FrmRFFunction.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.Resources.resources +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.exe +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.xml +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.pdb +E:\BY\工作档案\VS2019\RCU透传工具\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\RCU.exe.config +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\RCU.exe +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\RCU.pdb +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\RCU.xml +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\MySql.Data.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\System.Data.SQLite.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\Zstandard.Net.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\Ubiety.Dns.Core.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\System.Buffers.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\K4os.Compression.LZ4.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\K4os.Hash.xxHash.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\System.Memory.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\bin\Debug\System.Numerics.Vectors.dll +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.Frm485Update.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.FrmC43Function.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.FrmPassword.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.FrmRCU.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.FrmRFFunction.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.Resources.resources +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.exe +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.xml +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.pdb +F:\ML\Application\Tencent\QQ\MLCache\344912654\FileRecv\RCU-10-485升级\RCU\obj\Debug\RCU.vbproj.CopyComplete +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.exe.config +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.exe.manifest +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.application +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.exe +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.pdb +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\RCU.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\MySql.Data.dll +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.Resources.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.exe.manifest +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.application +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.exe +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\RCU\RCU-10\RCU\obj\Debug\RCU.pdb +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.exe.config +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.exe.manifest +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.application +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.exe +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.pdb +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\RCU.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\MySql.Data.dll +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.Resources.resources +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.exe.manifest +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.application +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.exe +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.xml +F:\BLV-SYNC\BLV-RD\SynologyDrive\BLV_SW\SW-BY\RCU\RCU-10\RCU\obj\Debug\RCU.pdb +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.config +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.manifest +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.application +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.pdb +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.xml +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\MySql.Data.dll +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Resources.resources +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe.manifest +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.application +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.xml +F:\BLV-SYNC\RD_PC\高腾飞\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.pdb +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.config +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.manifest +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.application +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.pdb +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.xml +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\MySql.Data.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\Zstandard.Net.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\Ubiety.Dns.Core.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Buffers.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Hash.xxHash.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Memory.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Numerics.Vectors.dll +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Resources.resources +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe.manifest +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.application +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.xml +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.pdb +I:\BLV_Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\MySql.Data.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.config +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.manifest +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.application +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Resources.resources +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe.manifest +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.application +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.xml +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.pdb +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.pdb +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.xml +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\Zstandard.Net.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\Ubiety.Dns.Core.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Buffers.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Hash.xxHash.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Memory.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\bin\Debug\System.Numerics.Vectors.dll +D:\Sync\RD_PC\Project\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.config +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe.manifest +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.application +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.exe +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\MySql.Data.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\System.Data.SQLite.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\Zstandard.Net.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.Streams.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\Ubiety.Dns.Core.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\System.Buffers.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Compression.LZ4.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\K4os.Hash.xxHash.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\System.Memory.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\System.Numerics.Vectors.dll +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.AssemblyReference.cache +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Frm485Update.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmC43Function.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmInfraredFunction.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmPassword.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRCU.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.FrmRFFunction.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.Resources.resources +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.GenerateResource.cache +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CoreCompileInputs.cache +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.TrustInfo.xml +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe.manifest +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.application +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.vbproj.CopyComplete +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.exe +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.xml +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\obj\Debug\RCU.pdb +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.pdb +E:\Sync\RCU\RCU\RCU透传工具\RCU-10\RCU\bin\Debug\RCU.xml diff --git a/RCU-10/RCU/obj/Debug/RCU.vbproj.GenerateResource.cache b/RCU-10/RCU/obj/Debug/RCU.vbproj.GenerateResource.cache new file mode 100644 index 0000000..a1e0006 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/RCU.vbproj.GenerateResource.cache differ diff --git a/RCU-10/RCU/obj/Debug/RCU.xml b/RCU-10/RCU/obj/Debug/RCU.xml new file mode 100644 index 0000000..798b889 --- /dev/null +++ b/RCU-10/RCU/obj/Debug/RCU.xml @@ -0,0 +1,4652 @@ + + + + +RCU + + + + + + 一个强类型的资源类,用于查找本地化的字符串等。 + + + + + 返回此类使用的缓存的 ResourceManager 实例。 + + + + + 重写当前线程的 CurrentUICulture 属性 + 重写当前线程的 CurrentUICulture 属性。 + + + + + 查找类似 的本地化字符串。 + + + + + Contains the schema of a single DB column. + + + + + 清空数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 不存在表时即创建表,同时复制基础表数据(不包含原表索引与主键) + 若想复制表结构加数据,则先复制表结构创建表,再拷贝数据 + + 表名 + 基础表名 + + + + + 复制基础表数据到新表中 + + 表名 + 基础表名 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + Contains the entire database schema + + + + + 判断列名 + + + + + + 判断条件 + + + + + + 判断值 + + + + + + 当前条件与上一个条件的逻辑关系 + + + + + + 将当前条件转换为字符串,不支持将条件逻辑关系同时转换 + + + + + + 查询条件的表名 + + + + + + 当IsSearchAllCols = False时,查询返回列名集合 + + + + + + 查询的条件 + + + + + + 排序方式 + + + + + + 但需要排序时排序列名 + + + + + + 从返回结果提取指定行的内容 + + + + + + Describes a single view schema + + + + + Contains the view name + + + + + Contains the view SQL statement + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 查询指定数据表的信息 + + + + + + + 数据库语句助手 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + 注意:添加一条数据库帮助语句时,需要考虑Mysql/Sqlite/Mssql等数据库是否支持命令,不支持则需要在对应帮助类中重写该帮助语句 + 注意:Sqlite数据库与大多数据库不相同,DB开头数据库语句大多不适用 + + + + + + 查询指定数据表符合条件的所有数据 + + 指定表名 + 查询条件, + + + + + 查询表符合条件的所有指定列的数据 + + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询表符合条件的所有指定列的数据 + + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据表名 + 查询条件 + + + + + 查询指定数据表的信息 + + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在数据库中存在的数量 + + 表名 + + + + + 数据表插入一行数据 + + 表名 + 列名字符串 + 列值字符串 + + + + + 数据表插入一行数据 + + 表名 + 列名与列值键值对 + + + + + 数据表插入一行,通过命令参数方式执行时使用 + + + + + + + + 数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 表名 + 字段列表 + + + + + 更新指定表数据 + + 指定表名 + 更新字符串 + + + + + + 更新指定表数据 + + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 指定数据表增加一列数据 + + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 数据表删除一列数据 + + 表名 + 需要删除的列名,仅一列 + + + + + 删除指定表多行数据 + + 表名 + 条件 + + + + + 创建数据表 + + 表名 + 创建表的列信息字符串 + + + + + 创建数据表,如果存在则不创建 + + 表名 + 创建表的列信息字符串 + + + + + 清空数据表,表依旧存在 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 删除数据表 + + 数据表名 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的去重数据 + + 数据库名 + 列名集合,需要返回多列时用','符号分隔列名 + 表名 + 条件 + + + + + 查询指定数据库中指定数据表符合条件的所有指定列的数据 + + 数据库名 + 表名 + 条件 + + + + + 查询指定表包含的内容行数 + + 数据库名 + 数据表名 + 查询条件 + + + + + 查询指定数据库中指定数据表符合条件的所有数据 + + + 数据库名 + 数据表名 + 查询条件(可选) + + + + + 查询指定数据库中指定数据表的信息 + + 数据库名 + 表名 + + + + + 查询指定数据表是否存在的信息,返回查询当前表在指定数据库中存在的数量 + + 数据库名 + 表名 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名字符串 + 列值字符串 + + + + + 指定数据库中数据表插入一行数据 + + 数据库名 + 表名 + 列名与列值键值对 + + + + + 指定数据库中数据表插入一行,通过命令参数方式执行时使用,参数名由@{ColName} + + 数据库名 + + 需要插入列名的集合 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新字符串 + + + + + + 更新指定数据库中指定表数据,参数名由@{ColName} + + 数据库名 + 指定表名 + 更新列名的集合 + 更新列索引条件 + + + + + 更新指定数据库中指定表数据 + + 数据库名 + 指定表名 + 更新列名与列值键值对 + 更新列索引条件 + + + + + 指定数据库中指定数据表增加一列数据 + + 数据库名 + 表名 + 列名 + 列类型 + 是否允许为空 + + + + + 指定数据库中数据表删除一列数据 + + 数据库名 + 表名 + 需要删除的列名,仅一列 + + + + + 指定数据库中指定表删除多行数据 + + 数据库名 + 表名 + 条件 + + + + + 指定数据库中创建数据表 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 指定数据库中创建数据表,如果存在则不创建 + + 数据库名 + 表名 + 创建表的列信息字符串 + + + + + 清空指定数据库中数据表,表依旧存在 + + 数据库名 + 数据表名 + + + + + 删除指定数据库中数据表 + + 数据库名 + 数据表名 + + + + + 数据库通用命令执行器 + 时间:2020-12-21 + 作者:ML + 版本:1.0 + + + + + 数据库类型,目前支持Mysql与Sqlite + + + + + 打开数据库连接 + + + + + + 关闭数据库连接 + + + + + 创建当前连接的命令执行句柄 + + + + + + 运行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行非查询语句,返回执行该语句受到影响的行数 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回数据库读取流的句柄 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + + + + + 使用命令参数模式执行数据库语句,返回查询结果的第一行第一列的内容 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + + + + + 执行数据库语句,返回执行结果返回的数据表,常用于查询命令 + + 执行的数据库命令文本 + 执行的数据库命令参数 + + + + + 开启事务 + + + + + + 提交事务 + + + + + 回滚事务 + + + + + 创建数据参数 + + 参数数据类型 + 参数名称 + 参数值 + + + + + 添加数据参数 + + + + + + + + + 清空数据 + + + + + 回收资源 + + + + + 1 byte,小整数值 + + + + + 2 bytes,大整数值 + + + + + 3 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 4 bytes,大整数值 + + + + + 8 bytes,极大整数值 + + + + + 4 bytes,单精度浮点数值 + + + + + 8 bytes,双精度浮点数值 + + + + + 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2.小数值 + + + + + 3 bytes,日期值,YYYY-MM-DD + + + + + 3 bytes,时间值或持续时间,HH:MM:SS + + + + + 1 bytes,年份值,YYYY + + + + + 8 bytes,混合日期和时间值,YYYY-MM-DD HH:MM:SS + + + + + 4 bytes,混合日期和时间值,时间戳,YYYYMMDD HHMMSS + + + + + 0-255 bytes,定长字符串 + + + + + 0-65535 bytes,变长字符串 + + + + + 0-255 bytes,不超过 255 个字符的二进制字符串 + + + + + 0-255 bytes,短文本字符串 + + + + + 0-65 535 bytes,二进制形式的长文本数据 + + + + + 0-65 535 bytes,长文本数据 + + + + + 0-16 777 215 bytes,二进制形式的中等长度文本数据 + + + + + 0-16 777 215 bytes,中等长度文本数据 + + + + + 0-4 294 967 295 bytes,二进制形式的极大文本数据 + + + + + 0-4 294 967 295 bytes,极大文本数据 + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 数据类型是否带符号 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 查询指定数据表的信息 + + + + + + + 列名 + + + + + + 当前值 + + + + + + 默认值 + + + + + + 数据类型 + + + + + + 数据类型长度 + + + + + + 是否允许为空 + + + + + + 是否自动增长 + + + + + + 是否为主键 + + + + + + 是否为唯一值 + + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 设备名称 + + + + + 设备控制计数 + + + + + 设备控制信息 + + + + + 设备测试成功率 + + + + + 初始化 + + + + + 初始化 + + 设备类型 + 设备地址 + + + + 初始化 + + 设备类型 + 设备地址 + 设备状态 + + + + 获取设备名称 + + 设备类型 + 设备地址 + + + + + 复位状态 + + + + + 窗体加载函数 + + + + + + + 显示窗体_接口 + + + + + + 发送函数 + + + + + + 枚举表格设备列信息 + + + + NULL + + + 是否选中 + + + 设备地址 + + + 设备名称 + + + 状态_区域 + + + 结果 + + + 类型表的列集合 + + + + 初始化设备表格信息 + + + + 设备项目列表 + + + 单包数据字节长度 + + + 发送数据序号 + + + + 初始化设备列表 + + + + + 设备类型转换 + + + + + + + 填充串口升级包 + + + + + + + + 填充C1发送包 + + 命令码 + Data数组 + + + + + 获取发送序号 + + + + + + 判断设备类型 + + + + + 搜索 + + + + + + + 搜索数据 + + + + + + + Boot区搜索数据 + + + + + + + 搜索范围值_委托 + + + + + + + 委托搜索范围值 + + + + + + + 选择下发文件改变 + + + + + + + 选择文件 + + + + + + + 状态栏解析文本委托 + 改变文本和颜色 + + + + + + + + 状态栏解析文本 + 改变文本和颜色 + + + + + + + + 解析Hex文件 + + + + + + 加载hex文件数据 + + + + + + + 解析Hex文件到Byte数组 + + + + + + + + + 获取和校验 + + + + + + + + 升级 + + + + + + + 获取更新设备类型委托 + + + + + + 获取更新设备类型 + + + + + 是否准备升级 + + + + 准备开始升级485 + + + + + 开始升级 + + + + + 搜索Boot分区 + + 485地址 + + + + 跳转BootLoader分区 + + 485地址 + + + + 设置参数 + + 485地址 + + + + 获取更新设备类型 + + + + + + 擦除Flash + + 485地址 + + + + 获取Flash数据 + + + + + + 写入Flash回复 + + + + + 记录重发次数 + + + + + Flash数据 + + + + + Flash新数据 + + + + + 写入Flash + + + + + + 根据设备地址类型分包 + + 设备地址类型 + 数据包 + + + + 具体分包函数 + 根据不同类型的包长度分包 + + 不同类型的包长 + + + + + Flash校验 + + + + + 填充写入Flash数据包 + + 485地址 + + + + + + + + 填充烧录单包数据 + + + + + + + + + 获取Flash单包校验数据长度 + 根据类型判断需要校验的数据长度 + + + + + + Flash校验 + + + + + + 获取Flash校验数据 + + 根据类型确认,单包参与crc16校验数据长度burnLen + + + + + 跳转App区 + + + + + + 回复超时 + + + + + 等待写入Flash数据回复 + + + + + 升级设备列表总数 + + + + + 搜索分区委托 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + 搜索分区委托 + 刷新设备列表 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 添加记录 + + + + + + + 测试 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 枚举表格列名信息 + + + + + C43配置数据 + + + + + C43搜索命令—按地址搜索 + + + + + + + C43发布 + + + + + + + C43第一包数据包头 + + + + + + C43下发数据 + + + + + + + 下发C43数据到RCU + + + + + 取出C43配置数据 + + + + + + 填充C43发送数据包 + + + + + + + + + 填充C43地址数据 + + + + + + + 按块填充C43表格数据 + + + + + + + + + C43表格配置按键 + + + + + + + 增加数据行 + + + + + + + 删除数据行 + + + + + + + 保存C43数据 + + + + + + + 保存文件配置 + + + + + 读取数据 + + + + + + + 窗体加载函数 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + 空调开关 + + + + + 是否空调下载 + + + + + 是否下载红外文件 + + + + + 红外文件下载线程 + + + + + 红外电视下载线程 + + + + + 控件变化 + + + + + 电视开关 + + + + + 是否电视下载 + + + + + 回复超时 + + + + + 红外下发空调初始化窗体信息 + + + + + 空调软件搜索 + + + + + + + 空调固件搜索 + + + + + + + 导出 + + + + + + + 空调导入dat配置文件信息 + + + + + + + 烧录dat配置文件信息 + + + + + + + 发送询问指令 + + + + + 等待回复可以下载 + + + + + + 空调下载数据 + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + 进度条委托 + + + + + + CRC16校验 + + + + + + 红外协议组包头 + + + + + 填充红外开关包_控制按键通用 + + + + + + 填充红外搜索数据 + + + + + + 询问是否可以红外下发 + + + + + + 红外下发前询问 + + + + + + 读取选中文件_空调 + + 文件格式为(dat) + + + + 读取选中文件_电视 + + 文件格式为(dat) + + + + RCU红外下发数据 + + + + + 进度条变化 + + + + + 进度条变化 + + + + + 填充烧录包数据 + + + + + + + + + 填充烧录单包数据 + + + + + + + + + 等待红外数据回复 + + + + + 空调开关按键 + + + + + + + 空调开关控制状态 + + + + + 空调温度值增加 + + + + + + + 空调温度值减少 + + + + + + + 空调风速按键 + + + + + + + 空调模式按键 + + + + + + + 空调控制 + + + + + 填充空调控制包 + + + + + + 填充空调控制数据 + + + + + + 获取空调开关 + + + + + + 获取空调风速 + + + + + + 获取空调模式 + + + + + + 组一键读取的包 + + + + + + 组一键读取的数据包 + + + + + + + + 电视静音 + + + + + + + 电视开关 + + + + + + + 电视音量加键 + + + + + + + 电视音量减键 + + + + + + + 频道加键 + + + + + + + 频道减键 + + + + + + + 电视上键 + + + + + + + 电视下键 + + + + + + + 电视左键 + + + + + + + 电视右键 + + + + + + + 电视OK键 + + + + + + + 电视首页 + + + + + + + 电视菜单 + + + + + + + 电视信源 + + + + + + + 电视返回 + + + + + + + 电视一键读取 + + + + + + + 电视搜索 + + + + + + + 电视固件搜索 + + + + + + + 电视导入 + + + + + + + 电视烧录 + + + + + + + 填充电视通讯包 + + + + + 填充电视数据包 + + + + + + + 下载电视数据 + + + + + RCU红外下发电视数据 + + + + + 填充烧录包数据 + + + + + + + + + 密码窗体 + + + + + 下载文件路径 + + + + + 初始化数据表信息——数据库RCU表 + + + + + 选择文件 + + + + + + + 获取选择文件信息 + + + + + 选择文件处理 + + + + + + 数据录入 + + + + + + + 录入数据 + + + + + 录入保护 + + + + + + 刷新数据表 + + + + + 刷新列表 + + + + + + + 刷新列表_菜单栏 + + + + + + + 删除记录_菜单栏 + + + + + + + 删除记录 + + + + + 执行删除 + + + + + 执行删除记录 + + + + + 空调下载 + + + + + + + 下载保护 + + + + + + 开始下载空调 + + + + + 选择厂商 + + + + + + + 选择型号 + + + + + + + 选择版本 + + + + + + + 查询空调品牌 + + + + + 查询空调型号 + + + + + 查询空调版本 + + + + + 电视下载 + + + + + + + 选择电视品牌 + + + + + + + 选择电视型号 + + + + + + + 选择电视版本 + + + + + + + 查询电视厂商 + + + + + 查询电视型号 + + + + + 查询电视型号 + + + + + 下载电视保护 + + + + + + 开始下载电视文件 + + + + + 添加记录 + + + + + + + 密码 + + + + + 是否删除 + + + + + 打开窗体 + + + + + 显示窗体 + + + + + 确认 + + + + + + + 取消 + + + + + + + 是否删除 + + + + + + C43窗体 + + + + + 红外窗体 + + + + + RF无线窗体 + + + + + 485升级窗体 + + + + + 初始化各子窗体 + + + + + 枚举是否连接 + + + + + 连接状态,默认非连接 + + + + + 按键连接提示文本 + + + + + 按键连接提示颜色 + + + + + 按键连接启用 + + + + + 模式选择 + + + + + 串口波特率 + + + + + Socket网络套接字 + + + + + UDP通讯接收线程 + + + + + 本地端口号 + + + + + 总接收数据字节数 + + + + + 总发送数据字节数 + + + + + 端口1接收数据字节数 + + + + + 端口2接收数据字节数 + + + + + 端口3接收数据字节数 + + + + + 发送次数标志位 + + + + + 窗体加载事件 + + + + + + + 显示窗体名称和版本信息 + + + + + 设置窗体 + + + + + 下拉模式选择 + + + + + RF设备电动窗帘保存信息 + + + + + 点击连接按键,控件变化 + + + + + + + 更新下拉框是否可用 + + + + + + 状态栏更新显示 + + + + + 更新连接状态 + + + + + + 更新按键显示 + + + + + + 清空记录 + + + + + + + 清空端口1记录 + + + + + + + 清空端口2记录 + + + + + + + 清空端口3记录 + + + + + + + 重置计数 + + + + + + + 停止刷新布尔值 + + + + + 停止刷新端口数据 + + + + + 各端口停止刷新纪录 + + + + + + + 远程IP地址 + + + + + 远程端口号 + + + + + 远程IP地址和端口号 + + + + + 当前时间 + + + + + 最后时间 + + + + + 时间间隔 + + + + + 接收数据偏移量 + + + + + 接收数据缓存包 + + + + + Cmd为70模式注释 + + + + + Cmd为70模式 + + + + + Cmd为70设置回复 + + + + + Cmd为70的透传回复 + + + + + Cmd为71的透传回复 + + + + + 是否显示通讯记录数据 + + + + + 是否显示通讯记录提示 + + + + + 是否窗体处于关闭状态 + + + + + 选择串口通讯 + + + + + + + 选择UDP通讯 + + + + + + + 串口连接按键 + + + + + + + 关闭串口 + + + + + 打开串口 + + + + + 点击下拉获取可用串口 + + + + + + + 获取可用串口 + + + + + 配置串口 + + + + + 发送485串口数据 + + + + + + + 接收485串口数据 + + + + + + + Byte数组转字符串 + + + + + + + 显示串口回复数据 + + + + + + 解析串口数据 + + + + + + + 解析RS485数据 + + + + + + + 处理查询数据 + + + + + + + 解析红外处理数据 + + + + + + + 处理空调控制数据 + + + + + + + 处理电视控制数据 + + + + + + + 处理红外搜索数据 + + + + + + + 处理红外数据 + + + + + + + 烧录过程中,处理数据 + + + + + + + 取设备偏移值 + + + + + 监控模式布尔值 + + + + + 处理RF单包数据 + + + + + + + 处理RF数据 + + + + + + 解析RF数据 + + + + + + + 解析询问设备网络状态命令_0x13 + + + + + + 解析读取设备列表命令_0x15 + + + + + + 解析设置设备网络命令_0x017 + + + + + + 解析配对设备列表命令_0x1A + + + + + + 解析RF设备写入信息 + + + + + + 根据配对设备型号获取设备名称 + + + + + + + 解析设备类型 + + + + + + + 解析设备地址 + + + + + + + 解析设备状态 + + + + + + + 解析RF设备16命令上报数据 + + + + + + + 插卡取电上报数据16 + + + + + + 电动窗帘上报数据16 + + + + + + 解析RF设备51命令上报数据 + + + + + + + 插卡取电上报数据51 + + + + + + 开关面板上报数据51 + + + + + + 键值文本 + + + + + 按键等提示信息 + + + + + + + 无线温控上报数据51 + + + + + + 微信锁上报数据51 + + + + + + 无线语音上报数据51 + + + + + + 无线语音_场景_类型0 + + + + + 无线语音_继电器_类型1 + + + + + + 无线语音_服务客需_类型4 + + + + + + 无线语音_窗帘窗纱_类型5 + + + + + + 无线语音_空调控制_类型7 + + + + + + 无线语音_空调控制_类型7_0x00 + + + + + + 无线语音_背景音乐_类型15 + + + + + + 无线语音_调光_类型10 + + + + + + 无线语音_继电器_电视_类型F + + + + + + 无线语音_灯带_类型12 + + + + + + 刷新设备列表控制信息 + + + + + + + 是否是C1设备 + + + + + 搜索_App区 + + + + + + 搜索_Boot区 + + + + + + 跳转_App区 + + + + + + 写入Flash数据 + + + + + + 擦除Flash + + + + + + 校验Flash + + + + + + 获取Flash校验结果 + + + + + + 跳转_Boot区 + + + + + + 设置参数 + + + + + + 初始化本地IP + + + + + 获取本地可用IP + + + + + + 显示UDP接收数据 + + + + + + + 更新发送数据 + + + + + + UDP接收数据 + + + + + 发送UDP数据 + + + + + + 显示端口信息 + + + + + + SendUDPData限制 + 超过1024字节自动清空 + + + + + + + 字节数求和 + + + + + + 定时器每隔5S发送一包数据 + + + + + + + 读取操作 --- PC->RCU主机 + + + + + + + 设置操作 --- PC->RCU主机 + + + + + + + 监控模式 --- PC->RCU主机 + + + + + + + 发送操作 --- PC->RCU主机 + + + + + + + 发送数据设置 + + + + + + 接收数据处理 + + + + + + + 改变状态委托 + + 文本 + 文本颜色 + + + + 改变状态委托 + + + + + + + 检验CRC16成功 + + + + + + + + 获取CRC16校验和 + + 数据 + 数据长度 + + + + + 获取CRC16校验和 + + 数据 + + + + + 处理数据 + + + + + + + + 处理Cmd为70的命令 + + + + + + + 处理dataBuff(15)为1的状态 + + + + + + + 处理dataBuff(15)为1的文本注释信息 + + + + + + + 处理dataBuff(15)为2的状态 + + + + + + + 处理dataBuff(15)为3的状态 + + + + + + + 处理Cmd为71的数据 + + + + + + + 处理Cmd为71的端口数据_1、2、3端口 + + + + + + 网络数据还原成485串口数据 + + + + + + 解析红外透传数据 + + + + + + 处理空调控制透传数据 + + + + + + + 处理电视控制透传数据 + + + + + + + 处理红外搜索透传数据 + + + + + + + 处理下发前询问透传数据 + + + + + + + 烧录过程中,处理透传数据 + + + + + + + 添加记录文本和颜色 + + 需要添加的记录内容 + 需要设置的记录颜色 + + + + 添加记录 + + + + + + + 添加端口1记录文本和颜色 + + + + + + + 添加端口1记录 + + + + + + + 添加端口2记录文本和颜色 + + + + + + + 添加端口2记录 + + + + + + + 添加端口3记录文本和颜色 + + + + + + + 添加端口3记录 + + + + + + + 发送数据 + + 串口数据 + + + + 检查网络连接 + + + + + + 以哪种方式发送 + + + + + 关闭窗口事件 + + + + 窗体加载 + + + + + + + 显示窗体接口 + + + + + + 发送函数 + + + + + + RF网关 + + + + + 485网关地址 + + + + + 设备类型 + + + + + 设备地址 + + + + + 和校验 + + + + + 数据包长 + + + + + 命令字 + + + + + 数据内容 + + + + + RF设备类型 + + + + + 检查通信连接 + + + + + 设备名称 + + + + + 设备类型 + + + + + 设备地址 + + + + + 设备状态 + + + + + 控制计数 + + + + + 控制信息 + + + + + 设备测试 + + + + + 填充RF网关包 + + + + + 填充RF网关包 + + + + + 设备列表设备总数 + + + + + 设置RF配对 + + + + + + + 配对按键变化 + + + + + 配对数据内容 + + + + + + 定时检测,若在配对状态,则两分钟继续保持 + + + + + + + 读取RF网络地址 + + + + + + + 读取RF设备网络委托 + + + + + + 读取RF设备网络 + + + + + + 设置RF网络地址 + + + + + + + 读取设备列表在线状态 + + + + + + + 读取RF设备列表 + + + + + 全部刷新设备列表委托 + + + + + 刷新设备列表信息 + 全部刷新_委托 + + + + + 局部刷新设备列表委托 + + + + + + + + 刷新设备列表信息 + 局部刷新_委托 + + + + + + + + 局部刷新设备列表控制委托 + + + + + 刷新设备列表控制信息 + 局部刷新_委托 + + + + + 清空设备列表 + + + + + + + 全局设备地址 + 点击后从列表获取 + + + + + 初始化功能Page + + + + + 点击表格刷新Page控件 + + + + + + + 回复41 00数据 + + + + + + 设置读取扇区标志位 + + + + + 初始化插卡取电信息 + + + + + 设置读取扇区 + + + + + + + 获取扇区值 + + + + + + 插卡取电回复命令 + + + + + 渐变时间 + + + + + 延时时间 + + + + + 初始化选择时间 + + + + + 控件点击变化 + + + + + + 控件状态 + + + + + + + 获取设置指示灯的值 + + + + + + 设置指示灯bit + 四个Bit的Byte + + + + + + + + + + 获取标志位 + 八个Bit的Byte + + + + + + + + + + + + + + 设置亮灭灯 + + + + + + + 获取亮度值数据 + + + + + + 选择状态 + + + + + + + 设置亮灭渐变时间 + + + + + + + 获取渐变时间数据 + + + + + + 获取渐变时间 + + + + + + 设置本地控制延时时间 + + + + + + + 获取本地控制延时时间 + + + + + + 获取延时时间 + + + + + + 本地控制开关 + + + + + 设置本地控制开关 + + + + + + + 获取本地控制开关数据 + + + + + + 获取本地控制开关 + + + + + + 读取指示灯信息 + + + + + + + 设置指示灯 + + + + + 获取指示灯数据 + + + + + + 语音模块配置下发 + + + + + + + 初始化无线温控 + + + + + 空调开关控制状态 + + + + + 无线温控风速切换 + + + + + 无线温控模式切换 + + + + + 无线温控 + + + + + 获取温控数据位 + + + + + + 温控数据高位Bit + + + + + + 获取阀门开关 + + + + + + 获取风速数据 + + + + + + 获取模式数据 + + + + + + 获取开关数据 + + + + + + 无线温控加温度 + + + + + + + 无线温控减温度 + + + + + + + 无线温控开关 + + + + + + + 无线温控风速 + + + + + + + 无线温控模式 + + + + + + + 无线温控阀门 + + + + + + + 设置温差 + + + + + + + 读取温控器设置 + + + + + + + 是否设置 + + + + + 是否设置唤醒时间 + + + + + + + 设置的唤醒时间 + + + + + 微信锁设置唤醒时间命令 + + + + + + + 获取唤醒时间 + + + + + + 微信锁开锁控制命令 + + + + + + + 微信锁状态读取命令 + + + + + + + 窗帘开启 + + + + + + + 窗帘停止 + + + + + + + 窗帘关闭 + + + + + + + 电动窗帘转发数据 + + + + + + + 窗帘发送数据 + + + + + 一键测试 + + + + + + + 获取设备类型 + + + + + + + 设备通讯测试_插卡取电 + + + + + + + 设备通讯测试_开关面板 + + + + + + + 设备通讯测试_无线语音 + + + + + + + 设备通讯测试_无线温控 + + + + + + + 设备通讯测试_微信锁 + + + + + + + 网关通讯测试_电动窗帘 + + + + + + + 设备通讯测试 + + + + + + 刷新通讯测试信息 + + + + + + + + 刷新通讯测试信息_委托 + + + + + + + + 获取通讯测试文本颜色 + + + + + + + 添加记录 + + + + + + + 显示窗体接口 + + + + + 远程数据库类型 + + + 远程数据库名 + + + + 连接数据库字符串 + + + + + + 是否处于网络接收状态 + + + + + 是否通过UDP发送数据 + + + + + 是否读取 + + + + + 是否准备完成 + + + + + 红外回复处理 + + + + + 红外烧录是否回复 + + + + + 记录重发次数 + + + + + 配对设备列表设备总数 + + + + + RF配对模式 + + + + + 设备列表键值对 + + + + + 升级设备列表_键值对 + + + + + 点击计数 + + + + + 透传数据包头 + + + + + 透传数据固定ID + + + + + 透传数据房间信息 + + + + + 包头数据长度 + + + + + 数据CRC校验长度 + + + + + 透传命令 + + + + + 透传端口 + + + + + 透传超时 + + + + + 发送次数标志位 + + + + + 填充发送数据包 + + + + + + + 填充发送包头数据 + + + + + + + 填充发送信息包头 + + + + + + + + + 填充发送校验数据 + + + + + + + + 填充发送数据包 + + 数据包头 + 数据内容 + CRC16校验 + + + + + 填充透传函数 + 填充透传函数的抽象实现 + + + + + + + 填充透传函数的具体实现 + + + + + + + 透传数据CMD + + 串口数据 + + + + + CRC16校验 + + + + + + + + MD5值校验 + + 需要校验的字符串 + 加密模式 + + + + + MD5校验 + + 需要校验的字符串 + + + + + 获取文件的MD5值 + + 文件路径 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验 + 求Byte数组的和校验 + + Byte数组 + + + + + 和校验取余数 + 求Byte数组的和校验取余数 + + Byte数组 + + + + + 红外下载文件夹 + + + + + 检查网络连接 + + + + + 检测串口连接 + + + + + Byte数组转字符串 + + + + + + + Int转2个字节Byte + 高字节在前,低字节在后 + + + + + + + Int转2个字节Byte + 低字节在前,高字节在后 + + + + + + + 分块函数 + 计算Byte数组的块数 + + + + + + + 延时N秒 + + 时间值 + + + + 读取Hex文件到Byte数组 + + + + + + + 删除文件夹 + + + + + 字符串转换Byte数组 + 字符串为连续且不包含任意字符的字符串 + + + + + + + 发送数据处理(所发所见—16进制) + + + + + + 设备地址 + + + + + 设备分区 + + + + + 设备名称 + + + + + + 更新结果 + + + + + + 初始化 + + + + + 初始化 + + + + + + + + 升级结果 + + + + diff --git a/RCU-10/RCU/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/RCU-10/RCU/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll new file mode 100644 index 0000000..c8685fb Binary files /dev/null and b/RCU-10/RCU/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/RCU-10/RCU/obj/Debug/TempPE/Resource1.Designer.vb.dll b/RCU-10/RCU/obj/Debug/TempPE/Resource1.Designer.vb.dll new file mode 100644 index 0000000..04471a2 Binary files /dev/null and b/RCU-10/RCU/obj/Debug/TempPE/Resource1.Designer.vb.dll differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.application new file mode 100644 index 0000000..3d2e8ec --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + N/h/G1tLVlnr+o6o0Il9A4jAGPNrP8HPt+7YJS6F8ho= + + + +rVKVZf4PNeVRsKlLMrx8/vKR5rJnug8aej8qDmXg7/Q=TjVkgtZZk/C/BcMnpnaodf/NWqLXZm00BCRRm4Opl2TJwh0ZO9EHtVJnDeBb0pofhwDVpnvERDXlbiaogMeSr2glYKwlUQWQrsIGp8DlRHHmaBe8OMWG3wXTVNGvgf+srtP3p2pJqQpQTs/StfifsB2aJ29fGsqB0yLQEoauYfo=pdmIwwR1ayDy2cnJEDlHW5UC3NVRtJEPMuDajNBkSwIQIazm20hT0FF2xhMWA1vT8uQ/lVDjZlXlfr71qfmojhZry2A4wIXkLehCt16ZmJ++D3HVb02euhrG7/Ek7CdUnq8+TaKAR7y+v/DuZ5b3dan8WVCroJNtHg7/dQr0qI0=AQABCN=DESKTOP-IBTUB6F\yanfas+KuujrwTYVM3NmHDs71egCCsVzAdZUBiJImwlDEx8E=ofBETdjvptPBb7VC/7BucBLYq2IYiba8+iKTMDPJFBcT30WAgN7KgCS+G2rpqJXo+l+RO3mRYdIcaL0G27UC56peRIPe1BhjhYZ8pWvXIHZ2YZyFRUIzwGpUZVg57jLIrFlJzQoKN4+0fcQ7CsHhdZTBHcQQBqpSWg7uIPGEMOA=pdmIwwR1ayDy2cnJEDlHW5UC3NVRtJEPMuDajNBkSwIQIazm20hT0FF2xhMWA1vT8uQ/lVDjZlXlfr71qfmojhZry2A4wIXkLehCt16ZmJ++D3HVb02euhrG7/Ek7CdUnq8+TaKAR7y+v/DuZ5b3dan8WVCroJNtHg7/dQr0qI0=AQABMIIB7TCCAVagAwIBAgIQaIJ0KqfVjqxFek3hYHVqqTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtAEkAQgBUAFUAQgA2AEYAXAB5AGEAbgBmAGEwHhcNMjExMTAyMDk1MDMzWhcNMjIxMTAyMTU1MDMzWjA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtAEkAQgBUAFUAQgA2AEYAXAB5AGEAbgBmAGEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKXZiMMEdWsg8tnJyRA5R1uVAtzVUbSRDzLg2ozQZEsCECGs5ttIU9BRdsYTFgNb0/LkP5VQ42ZV5X6+9an5qI4Wa8tgOMCF5C3oQrdemZifvg9x1W9Nnroaxu/xJOwnVJ6vPk2igEe8vr/w7meW93Wp/FlQq6CTbR4O/3UK9KiNAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAQ5rQicTDp2nkgSZXoHM05s/KMTrjofgi0ur4OwP/U5l2kKBRN74RDKswTGHMlk0q5aHx+QKTlYwy3R4W7sz3aGNdVGEFwBalwd5TD6zKrjGblZ8BrFua/OBmjnFXDXdSAfVJFhDaBcixo/f7LebJ16obW6X9fwUTCOEHsaWlwdA= \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.manifest new file mode 100644 index 0000000..d280ec9 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + vO2bhNlsSW/oAWmd74iFx7hZs5FJ4r7OovNu/IHeZE8= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + EhqincoSM9n9L/jA+haHuxX3VyOI9UmTVxyAz5bZhvo= + + + + + + + + + + + + + + + + + +ro6qoiRSzoZuGuRBXxfaTMnNhTTW7I5FnD2+YtV5fns=aZO4IZr3Gw44sQaylNC4mJp7IIN/nFncvGLz7stana0BiYpl7b31zWb3DzS4dxMGO+lxVuSFitjlffkRW6N8pHFNBbi/0z96iNcn9ble3eTs/Rp1OYXN3a5dLnNjmcJVLuf26Es8YTA+BNPgUWpedlNMeR8DkhKW2EE766NhIg0=pdmIwwR1ayDy2cnJEDlHW5UC3NVRtJEPMuDajNBkSwIQIazm20hT0FF2xhMWA1vT8uQ/lVDjZlXlfr71qfmojhZry2A4wIXkLehCt16ZmJ++D3HVb02euhrG7/Ek7CdUnq8+TaKAR7y+v/DuZ5b3dan8WVCroJNtHg7/dQr0qI0=AQABCN=DESKTOP-IBTUB6F\yanfab96i7LiK9UEtEuBai+zG4MN2ZpE+6ynJV/l/xiA3Kpo=N4MkB0Sij7C3D6eEXdlEIrABOg9fOW7hIeqdISfeo7BFEUzEhuhD85kjWnej1YJgpms/1CP5TyLz2/N5sYudDQE+JuKhwHLagPsYxseVAt/s+SM9kUqGXXpTgT5VoRvy+BMzfG8nQN0e34zWHKcKFIfJSLnohbXZDGWG/eBxItQ=pdmIwwR1ayDy2cnJEDlHW5UC3NVRtJEPMuDajNBkSwIQIazm20hT0FF2xhMWA1vT8uQ/lVDjZlXlfr71qfmojhZry2A4wIXkLehCt16ZmJ++D3HVb02euhrG7/Ek7CdUnq8+TaKAR7y+v/DuZ5b3dan8WVCroJNtHg7/dQr0qI0=AQABMIIB7TCCAVagAwIBAgIQaIJ0KqfVjqxFek3hYHVqqTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtAEkAQgBUAFUAQgA2AEYAXAB5AGEAbgBmAGEwHhcNMjExMTAyMDk1MDMzWhcNMjIxMTAyMTU1MDMzWjA1MTMwMQYDVQQDHioARABFAFMASwBUAE8AUAAtAEkAQgBUAFUAQgA2AEYAXAB5AGEAbgBmAGEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKXZiMMEdWsg8tnJyRA5R1uVAtzVUbSRDzLg2ozQZEsCECGs5ttIU9BRdsYTFgNb0/LkP5VQ42ZV5X6+9an5qI4Wa8tgOMCF5C3oQrdemZifvg9x1W9Nnroaxu/xJOwnVJ6vPk2igEe8vr/w7meW93Wp/FlQq6CTbR4O/3UK9KiNAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAQ5rQicTDp2nkgSZXoHM05s/KMTrjofgi0ur4OwP/U5l2kKBRN74RDKswTGHMlk0q5aHx+QKTlYwy3R4W7sz3aGNdVGEFwBalwd5TD6zKrjGblZ8BrFua/OBmjnFXDXdSAfVJFhDaBcixo/f7LebJ16obW6X9fwUTCOEHsaWlwdA= \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/软件进度.txt.deploy new file mode 100644 index 0000000..d44bb2b --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_3/软件进度.txt.deploy @@ -0,0 +1,3 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.application new file mode 100644 index 0000000..19acede --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + JZM8SPrhFo4FdhifGQJSY5hnAwqJZmdldLXavWQAYM4= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.manifest new file mode 100644 index 0000000..0c917db --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + 3zfqn569h8LXmJf/uziBQpQMl47gXF1Ht4LlmLI7PdI= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + EhqincoSM9n9L/jA+haHuxX3VyOI9UmTVxyAz5bZhvo= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/软件进度.txt.deploy new file mode 100644 index 0000000..d44bb2b --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_6_0_4/软件进度.txt.deploy @@ -0,0 +1,3 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.application new file mode 100644 index 0000000..4d717dd --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + wDiP47wcam9+rL2t66vFmkDdZczLwzQ0xaTCZxTx/qc= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.deploy new file mode 100644 index 0000000..622c52a Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.manifest new file mode 100644 index 0000000..6920315 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + 54BkiJ5S0bXqTqwPS1jZpSSDtYU0v30kLbQ2YPkbHeE= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/软件进度.txt.deploy new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_2/软件进度.txt.deploy @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.application new file mode 100644 index 0000000..8d28540 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + jPZJTu6NgnTmg370IF7ShZ0/w1fPaErrrmJPqHfDvj0= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.deploy new file mode 100644 index 0000000..8a9bc8c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.manifest new file mode 100644 index 0000000..694f7c6 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + NdeNZDE/rz/evTziIG5MyOU2vgBrZqQjwMQpHn31dTE= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/软件进度.txt.deploy new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_4/软件进度.txt.deploy @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.application new file mode 100644 index 0000000..93398b6 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + i3lDLkqAzNHUR497d5Q/LQ4ZkZdB099WNsbFfhXBZjU= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.deploy new file mode 100644 index 0000000..6cad050 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.manifest new file mode 100644 index 0000000..2994724 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + BBzd/6CcdktpzzpVXh7EbucT5KPnhm7KHNPdPpE6aQU= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/软件进度.txt.deploy new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_6/软件进度.txt.deploy @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.application new file mode 100644 index 0000000..4b814b9 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + Asp/fhG12kcjqXuGw5mbu/h6WnF0EP2Qi9CREvzMdkY= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.deploy new file mode 100644 index 0000000..bdd5903 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.manifest new file mode 100644 index 0000000..13fe1c7 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + 0Oh/uyCF7duxlBREAjynZUzIf5q1wBhlC+BUrJi7kPY= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/软件进度.txt.deploy new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_0_8/软件进度.txt.deploy @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/FlexCell.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/FlexCell.dll.deploy new file mode 100644 index 0000000..edebac2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/FlexCell.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.Streams.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.Streams.dll.deploy new file mode 100644 index 0000000..28695cf Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.Streams.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.dll.deploy new file mode 100644 index 0000000..aea8e94 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Compression.LZ4.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Hash.xxHash.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Hash.xxHash.dll.deploy new file mode 100644 index 0000000..ae6b96c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/K4os.Hash.xxHash.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/MySql.Data.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/MySql.Data.dll.deploy new file mode 100644 index 0000000..3a5c1b1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/MySql.Data.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.application b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.application new file mode 100644 index 0000000..9a37c3d --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + eq25YrumTlW2uv1hEKdTaJOioDsCcwtRWHiyYeyQ7Dg= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.config.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.config.deploy new file mode 100644 index 0000000..8e689ed --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.config.deploy @@ -0,0 +1,54 @@ + + + + +
+ + + + + + + + + 192.168.1.1 + + + 1024 + + + 5533 + + + 9600 + + + 正常模式 + + + RS485透传模块 + + + 9600 + + + 不控制 + + + 向上渐变调光 + + + 9600 + + + COM1 + + + 27 + + + 0 + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.deploy new file mode 100644 index 0000000..dfbde8e Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.manifest b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.manifest new file mode 100644 index 0000000..981a5a0 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCU.exe.manifest @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uySnK+Qtq8GhfD3x+OwtKqeuEjL0hPOpaUyAcasImxE= + + + + + + + + + + + + maq/9W5iHAvB1tB4HMmccQATRI7ypJR6pwLMB8BJyH8= + + + + + + + + + + + + O4CfIrEIaaP3Qe45hq32uyVqLIsf3q6VewnGQwCVMTw= + + + + + + + + + + + + 9aZLrrB07kV0FlfTs978VgzjsIDiYMg48gknnKiP+Cw= + + + + + + + + + + + + HKU+pC+wbfrI65vLoVACcjvkdiILo4JZ2on9emmAlxE= + + + + + + + + + + + + ulfPmeyA47Yh9Zf30IdhNUGmKiSORHv2fBhiygIdESo= + + + + + + + + + + + + QjIAAQp2hHY0UUc6T7IG36B0/IJJZ2Yh752aE0F9Nk0= + + + + + + + + + + + + Ga0YrQoSj2kGZ8cjnbr4limr5Dprs2W6wpW3KozCYxg= + + + + + + + + + + + + jnYxjosGaSq/fasRadJ9FVV/fwo002r2Rj7/D+ISE8c= + + + + + + + + + + + + HT74aYKB589zcdFVSv71hys5+Wwm2nciEKM9oEG6EYM= + + + + + + + + + + + + 1bW+Yuu+rrL5Lu7vL6SNh7LbM9BBxgnzUH7DQ2QwXMU= + + + + + + + + + + + + AZnuMl92VNQ74m4O+fXzc+nN9LZP1xsfoplS4lGNs4k= + + + + + + + + + + + + sA/9afOty8HFRcsW9gn/0C+2jmZyxz1PouftB0gA+nQ= + + + + + + + + + + 1A28bOlpq6MNdl+BDcknTymDozvj+G2eWpKIpTmNQ9o= + + + + + + + + + xr/YCiJG3ixGWEuv45iEFQo5G6aVUDDkboA4mjdzMss= + + + + + + + + + SYpX/IoxZAkWcSYE14rq4nS4ru5nCZ4uC8X20DeoTPU= + + + + + + + + + LLUslMLW0ihK0lAI6iEZKrKZzpmSaTQ4lyawjKm0bEw= + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCUVersion.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCUVersion.txt.deploy new file mode 100644 index 0000000..33c6df1 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/RCUVersion.txt.deploy @@ -0,0 +1,78 @@ + + 项目更新日志 + + +2021年11月2日 + 增加DbExecutor与DbCmdHelper文件,数据库由Mysql迁移至Mssql + 删除空调与电视查询语句部分Group by部分 + +2021年10月27日 + 服务器地址(Server):由 "uts-svr2.synology.me" 变更为 "uts-svr2.qicp.net" + + +2.5.6.30 + 新增设备列表通讯测试列 + 新增一键测试按键,测试成功率结果显示到设备列表中 + 新增通讯超时机制,10秒内未收到RF数据,切换设备列表下一个测试 + + +2.4.6.25 + 新增清空设备列表按键 + 新增RF设备网关通讯测试 + 新增RF设备电动窗帘命令选项 + 配对时,设备列表优化 + + +2.3.6.16 + 新增RF无线功能: + 表格控制信息增加计数功能 + + +2.2.6.10 + 剔除旧RF功能 + 新增RF无线功能 + 功能如下: + 插卡取电 + 开关面板 + 无线温控 + 无线语音 + 微信锁 + 电动窗帘 + + +2.1.6.4 + RCU结构调整: + 主窗体保留(包含通讯模块) + C43功能模块保留优化 + 红外功能保留优化 + RF功能模块待优化 + Pad1809功能模块 + A12DRV功能模块已剔除 + + 新增主窗体IP地址和端口号记录 + 改善各模块窗体独立优化 + + +1.4.2.5 + 新增红外功能模块 + 新增空调电视操作命令 + 新增数据库操作 + 新增空调下发功能 + 新增电视下发功能 + + +1.3.5.0 + 新增RF功能模块 + 新增Pad1809功能模块 + 新增A12DRV功能模块 + + +1.2.5.0 + 新增C43功能 + C43配置文件下发 + + +1.0.0.0 + 完成基本串口通讯,网络通迅—UDP + 完成透传通信,协议组包 + diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Buffers.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Buffers.dll.deploy new file mode 100644 index 0000000..14e5c53 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Buffers.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Data.SQLite.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Data.SQLite.dll.deploy new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Data.SQLite.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Memory.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Memory.dll.deploy new file mode 100644 index 0000000..5d19470 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Memory.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Numerics.Vectors.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Numerics.Vectors.dll.deploy new file mode 100644 index 0000000..0865972 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Numerics.Vectors.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Runtime.CompilerServices.Unsafe.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Runtime.CompilerServices.Unsafe.dll.deploy new file mode 100644 index 0000000..67d56ef Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/System.Runtime.CompilerServices.Unsafe.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Ubiety.Dns.Core.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Ubiety.Dns.Core.dll.deploy new file mode 100644 index 0000000..b10ecf2 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Ubiety.Dns.Core.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Zstandard.Net.dll.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Zstandard.Net.dll.deploy new file mode 100644 index 0000000..83934d1 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/Zstandard.Net.dll.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/favicon.ico.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/favicon.ico.deploy new file mode 100644 index 0000000..8ec3379 Binary files /dev/null and b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/favicon.ico.deploy differ diff --git a/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/软件进度.txt.deploy b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/软件进度.txt.deploy new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/publish/Application Files/RCU_2_7_1_0/软件进度.txt.deploy @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/RCU-10/RCU/publish/RCU.application b/RCU-10/RCU/publish/RCU.application new file mode 100644 index 0000000..9a37c3d --- /dev/null +++ b/RCU-10/RCU/publish/RCU.application @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + eq25YrumTlW2uv1hEKdTaJOioDsCcwtRWHiyYeyQ7Dg= + + + + \ No newline at end of file diff --git a/RCU-10/RCU/publish/RCU.html b/RCU-10/RCU/publish/RCU.html new file mode 100644 index 0000000..0f82561 --- /dev/null +++ b/RCU-10/RCU/publish/RCU.html @@ -0,0 +1,163 @@ + + + RCU透传工具 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
 
名称: RCU透传工具
 
版本: 2.7.1.0
 
发行者: BY
 
+ + + + +
以下系统必备组件是必需的:
 
    +
  • Microsoft .NET Framework 4.8 (x86 和 x64)
  • +
+如果已经安装了这些组件,您可以立即启动该应用程序。否则,请单击下面的按钮,安装系统必备组件并运行该应用程序。 +
 
+ + + +
+ +
安装
 
+ +
ClickOnce 和 .NET Framework 资源 +
+ +
+ + \ No newline at end of file diff --git a/RCU-10/RCU/publish/setup.exe b/RCU-10/RCU/publish/setup.exe new file mode 100644 index 0000000..c56609d Binary files /dev/null and b/RCU-10/RCU/publish/setup.exe differ diff --git a/RCU-10/RCU/软件进度.txt b/RCU-10/RCU/软件进度.txt new file mode 100644 index 0000000..4a700c2 --- /dev/null +++ b/RCU-10/RCU/软件进度.txt @@ -0,0 +1,6 @@ +2022_06_22 RCU2.6.0.1 陈志豪: + 1、切换数据库到 mysql + 2、发布到云 + +2023_08_1 RCU2.6.0.2 陈志豪: + 增加备注显示 \ No newline at end of file diff --git a/System.Data.SQLite.dll b/System.Data.SQLite.dll new file mode 100644 index 0000000..4f5314c Binary files /dev/null and b/System.Data.SQLite.dll differ