diff --git a/DDUserManager/DDUserManager/ApplicationEvents.vb b/DDUserManager/DDUserManager/ApplicationEvents.vb
new file mode 100644
index 0000000..9bbb9d1
--- /dev/null
+++ b/DDUserManager/DDUserManager/ApplicationEvents.vb
@@ -0,0 +1,22 @@
+Imports Microsoft.VisualBasic.ApplicationServices
+
+Namespace My
+ ' Für MyApplication sind folgende Ereignisse verfügbar:
+ ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.
+ ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird.
+ ' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst.
+ ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist.
+ ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
+ Partial Friend Class MyApplication
+ Protected Overrides Function OnStartup(eventArgs As StartupEventArgs) As Boolean
+ Dim requiredParam As String = "-internal"
+
+ If eventArgs.CommandLine.Count = 1 AndAlso eventArgs.CommandLine.Item(0) = requiredParam Then
+ Return MyBase.OnStartup(eventArgs)
+ Else
+ MsgBox("Diese Anwendung kann nicht manuell gestartet werden und wird nun beendet.", MsgBoxStyle.Exclamation, "User Manager")
+ Return Nothing
+ End If
+ End Function
+ End Class
+End Namespace
diff --git a/DDUserManager/DDUserManager/DDUserManager.vbproj b/DDUserManager/DDUserManager/DDUserManager.vbproj
index 41161ed..903d418 100644
--- a/DDUserManager/DDUserManager/DDUserManager.vbproj
+++ b/DDUserManager/DDUserManager/DDUserManager.vbproj
@@ -86,6 +86,7 @@
+
frmADImport.vb
@@ -170,5 +171,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/My Project/Resources.Designer.vb b/DDUserManager/DDUserManager/My Project/Resources.Designer.vb
index b841509..8c7e5c6 100644
--- a/DDUserManager/DDUserManager/My Project/Resources.Designer.vb
+++ b/DDUserManager/DDUserManager/My Project/Resources.Designer.vb
@@ -80,6 +80,16 @@ Namespace My.Resources
End Get
End Property
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property key() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("key", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
+
'''
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''
@@ -89,5 +99,15 @@ Namespace My.Resources
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
+ '''
+ Friend ReadOnly Property user_add() As System.Drawing.Bitmap
+ Get
+ Dim obj As Object = ResourceManager.GetObject("user_add", resourceCulture)
+ Return CType(obj,System.Drawing.Bitmap)
+ End Get
+ End Property
End Module
End Namespace
diff --git a/DDUserManager/DDUserManager/My Project/Resources.resx b/DDUserManager/DDUserManager/My Project/Resources.resx
index 14ca5db..af44a35 100644
--- a/DDUserManager/DDUserManager/My Project/Resources.resx
+++ b/DDUserManager/DDUserManager/My Project/Resources.resx
@@ -118,8 +118,8 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- ..\Resources\user.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\key.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\group.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -127,4 +127,10 @@
..\Resources\book.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\user.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\user_add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/Resources/key.png b/DDUserManager/DDUserManager/Resources/key.png
new file mode 100644
index 0000000..4ec1a92
Binary files /dev/null and b/DDUserManager/DDUserManager/Resources/key.png differ
diff --git a/DDUserManager/DDUserManager/Resources/user_add.png b/DDUserManager/DDUserManager/Resources/user_add.png
new file mode 100644
index 0000000..deae99b
Binary files /dev/null and b/DDUserManager/DDUserManager/Resources/user_add.png differ
diff --git a/DDUserManager/DDUserManager/UserDataSet.Designer.vb b/DDUserManager/DDUserManager/UserDataSet.Designer.vb
index f285ca5..66aa93d 100644
--- a/DDUserManager/DDUserManager/UserDataSet.Designer.vb
+++ b/DDUserManager/DDUserManager/UserDataSet.Designer.vb
@@ -6807,11 +6807,31 @@ Namespace UserDataSetTableAdapters
_
Private Sub InitCommandCollection()
- Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {}
+ Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(2) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT TBDD_MODULES.*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_MODULES"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(1) = New Global.System.Data.SqlClient.SqlCommand()
+ Me._commandCollection(1).Connection = Me.Connection
+ Me._commandCollection(1).CommandText = "SELECT T.GUID, T.NAME, T.SHORT_NAME, T.LICENSE, T.PRODUCT_VERSION, T.ACTIV"& _
+ "E, T.VERSION_DELIMITER, T.FILE_DELIMITER, T.BIT1, T.BIT2, T.STRING1, T.STRING2, "& _
+ "T.BACKGROUND_IMAGE, T.PRODUCT_NAME1, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" T.PRODUCT_NAME2,"& _
+ " T.VERSION_UPATE_PATH, T.ADDED_WHO, T.ADDED_WHEN, T.CHANGED_WHO, T.CHANGED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_MODULES AS T INNER JOIN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TBDD_USE"& _
+ "R_MODULES AS T2 ON T.GUID = T2.MODULE_ID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (T2.USER_ID = @USER_ID) A"& _
+ "ND (T2.IS_ADMIN = 1)"
+ Me._commandCollection(1).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(1).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._commandCollection(2) = New Global.System.Data.SqlClient.SqlCommand()
+ Me._commandCollection(2).Connection = Me.Connection
+ Me._commandCollection(2).CommandText = "SELECT T.GUID, T.NAME, T.SHORT_NAME, T.LICENSE, T.PRODUCT_VERSION, T.ACTIV"& _
+ "E, T.VERSION_DELIMITER, T.FILE_DELIMITER, T.BIT1, T.BIT2, T.STRING1, T.STRING2, "& _
+ "T.BACKGROUND_IMAGE, T.PRODUCT_NAME1, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" T.PRODUCT_NAME2,"& _
+ " T.VERSION_UPATE_PATH, T.ADDED_WHO, T.ADDED_WHEN, T.CHANGED_WHO, T.CHANGED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_MODULES AS T INNER JOIN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TBDD_USE"& _
+ "R_MODULES AS T2 ON T.GUID = T2.MODULE_ID INNER JOIN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TB"& _
+ "DD_USER AS T3 ON T2.USER_ID = T3.GUID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (T3.USERNAME = @USERNAME)"
+ Me._commandCollection(2).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(2).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USERNAME", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "USERNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
End Sub
_
+ Public Overloads Overridable Function FillByUserId_IsAdmin(ByVal dataTable As UserDataSet.TBDD_MODULESDataTable, ByVal USER_ID As Integer) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(1)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USER_ID,Integer)
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetDataByUserId_IsAdmin(ByVal USER_ID As Integer) As UserDataSet.TBDD_MODULESDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(1)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USER_ID,Integer)
+ Dim dataTable As UserDataSet.TBDD_MODULESDataTable = New UserDataSet.TBDD_MODULESDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
+ _
+ Public Overloads Overridable Function FillByUsername(ByVal dataTable As UserDataSet.TBDD_MODULESDataTable, ByVal USERNAME As String) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(2)
+ If (USERNAME Is Nothing) Then
+ Throw New Global.System.ArgumentNullException("USERNAME")
+ Else
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USERNAME,String)
+ End If
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetDataByUsername(ByVal USERNAME As String) As UserDataSet.TBDD_MODULESDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(2)
+ If (USERNAME Is Nothing) Then
+ Throw New Global.System.ArgumentNullException("USERNAME")
+ Else
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USERNAME,String)
+ End If
+ Dim dataTable As UserDataSet.TBDD_MODULESDataTable = New UserDataSet.TBDD_MODULESDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
_
@@ -7548,36 +7628,22 @@ Namespace UserDataSetTableAdapters
Me._adapter.TableMappings.Add(tableMapping)
Me._adapter.DeleteCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.DeleteCommand.Connection = Me.Connection
- Me._adapter.DeleteCommand.CommandText = "DELETE FROM [TBDD_USER_MODULES] WHERE (([GUID] = @Original_GUID) AND ([USER_ID] ="& _
- " @Original_USER_ID) AND ([MODULE_ID] = @Original_MODULE_ID) AND ([IS_ADMIN] = @O"& _
- "riginal_IS_ADMIN) AND ((@IsNull_COMMENT = 1 AND [COMMENT] IS NULL) OR ([COMMENT]"& _
- " = @Original_COMMENT)) AND ((@IsNull_ADDED_WHO = 1 AND [ADDED_WHO] IS NULL) OR ("& _
- "[ADDED_WHO] = @Original_ADDED_WHO)) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN"& _
- "] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)))"
+ Me._adapter.DeleteCommand.CommandText = "DELETE FROM TBDD_USER_MODULES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (USER_ID = @USER_ID) AND (MODULE_ID ="& _
+ " @MODULE_ID)"
Me._adapter.DeleteCommand.CommandType = Global.System.Data.CommandType.Text
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_GUID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "GUID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_USER_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_MODULE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "MODULE_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_IS_ADMIN", Global.System.Data.SqlDbType.Bit, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "IS_ADMIN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_COMMENT", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_COMMENT", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_ADDED_WHO", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IsNull_ADDED_WHEN", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
- Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@Original_ADDED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
+ Me._adapter.DeleteCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MODULE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "MODULE_ID", Global.System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
Me._adapter.InsertCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.InsertCommand.Connection = Me.Connection
- Me._adapter.InsertCommand.CommandText = "INSERT INTO [TBDD_USER_MODULES] ([USER_ID], [MODULE_ID], [IS_ADMIN], [COMMENT], ["& _
- "ADDED_WHO], [ADDED_WHEN]) VALUES (@USER_ID, @MODULE_ID, @IS_ADMIN, @COMMENT, @AD"& _
- "DED_WHO, @ADDED_WHEN);"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT GUID, USER_ID, MODULE_ID, IS_ADMIN, COMMENT, ADDE"& _
- "D_WHO, ADDED_WHEN FROM TBDD_USER_MODULES WHERE (GUID = SCOPE_IDENTITY())"
+ Me._adapter.InsertCommand.CommandText = "INSERT INTO TBDD_USER_MODULES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (USER_ID, MODULE_ID, COMM"& _
+ "ENT, ADDED_WHO)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"VALUES (@USER_ID,@MODULE_ID,@COMMENT,@ADDED_WHO); "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SE"& _
+ "LECT GUID, USER_ID, MODULE_ID, IS_ADMIN, COMMENT, ADDED_WHO, ADDED_WHEN FROM TBD"& _
+ "D_USER_MODULES WHERE (GUID = SCOPE_IDENTITY())"
Me._adapter.InsertCommand.CommandType = Global.System.Data.CommandType.Text
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MODULE_ID", Global.System.Data.SqlDbType.Int, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "MODULE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@IS_ADMIN", Global.System.Data.SqlDbType.Bit, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "IS_ADMIN", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
- Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHEN", Global.System.Data.SqlDbType.DateTime, 0, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHEN", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USER_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "USER_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MODULE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "MODULE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COMMENT", Global.System.Data.SqlDbType.VarChar, 200, Global.System.Data.ParameterDirection.Input, 0, 0, "COMMENT", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._adapter.InsertCommand.Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@ADDED_WHO", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "ADDED_WHO", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
Me._adapter.UpdateCommand = New Global.System.Data.SqlClient.SqlCommand()
Me._adapter.UpdateCommand.Connection = Me.Connection
Me._adapter.UpdateCommand.CommandText = "UPDATE [TBDD_USER_MODULES] SET [USER_ID] = @USER_ID, [MODULE_ID] = @MODULE_ID, [I"& _
@@ -7682,32 +7748,9 @@ Namespace UserDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Delete, true)> _
- Public Overloads Overridable Function Delete(ByVal Original_GUID As Integer, ByVal Original_USER_ID As Integer, ByVal Original_MODULE_ID As Integer, ByVal Original_IS_ADMIN As Boolean, ByVal Original_COMMENT As String, ByVal Original_ADDED_WHO As String, ByVal Original_ADDED_WHEN As Global.System.Nullable(Of Date)) As Integer
- Me.Adapter.DeleteCommand.Parameters(0).Value = CType(Original_GUID,Integer)
- Me.Adapter.DeleteCommand.Parameters(1).Value = CType(Original_USER_ID,Integer)
- Me.Adapter.DeleteCommand.Parameters(2).Value = CType(Original_MODULE_ID,Integer)
- Me.Adapter.DeleteCommand.Parameters(3).Value = CType(Original_IS_ADMIN,Boolean)
- If (Original_COMMENT Is Nothing) Then
- Me.Adapter.DeleteCommand.Parameters(4).Value = CType(1,Object)
- Me.Adapter.DeleteCommand.Parameters(5).Value = Global.System.DBNull.Value
- Else
- Me.Adapter.DeleteCommand.Parameters(4).Value = CType(0,Object)
- Me.Adapter.DeleteCommand.Parameters(5).Value = CType(Original_COMMENT,String)
- End If
- If (Original_ADDED_WHO Is Nothing) Then
- Me.Adapter.DeleteCommand.Parameters(6).Value = CType(1,Object)
- Me.Adapter.DeleteCommand.Parameters(7).Value = Global.System.DBNull.Value
- Else
- Me.Adapter.DeleteCommand.Parameters(6).Value = CType(0,Object)
- Me.Adapter.DeleteCommand.Parameters(7).Value = CType(Original_ADDED_WHO,String)
- End If
- If (Original_ADDED_WHEN.HasValue = true) Then
- Me.Adapter.DeleteCommand.Parameters(8).Value = CType(0,Object)
- Me.Adapter.DeleteCommand.Parameters(9).Value = CType(Original_ADDED_WHEN.Value,Date)
- Else
- Me.Adapter.DeleteCommand.Parameters(8).Value = CType(1,Object)
- Me.Adapter.DeleteCommand.Parameters(9).Value = Global.System.DBNull.Value
- End If
+ Public Overloads Overridable Function Delete(ByVal USER_ID As Integer, ByVal MODULE_ID As Integer) As Integer
+ Me.Adapter.DeleteCommand.Parameters(0).Value = CType(USER_ID,Integer)
+ Me.Adapter.DeleteCommand.Parameters(1).Value = CType(MODULE_ID,Integer)
Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
If ((Me.Adapter.DeleteCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
<> Global.System.Data.ConnectionState.Open) Then
@@ -7727,24 +7770,18 @@ Namespace UserDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "15.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Insert, true)> _
- Public Overloads Overridable Function Insert(ByVal USER_ID As Integer, ByVal MODULE_ID As Integer, ByVal IS_ADMIN As Boolean, ByVal COMMENT As String, ByVal ADDED_WHO As String, ByVal ADDED_WHEN As Global.System.Nullable(Of Date)) As Integer
+ Public Overloads Overridable Function Insert(ByVal USER_ID As Integer, ByVal MODULE_ID As Integer, ByVal COMMENT As String, ByVal ADDED_WHO As String) As Integer
Me.Adapter.InsertCommand.Parameters(0).Value = CType(USER_ID,Integer)
Me.Adapter.InsertCommand.Parameters(1).Value = CType(MODULE_ID,Integer)
- Me.Adapter.InsertCommand.Parameters(2).Value = CType(IS_ADMIN,Boolean)
If (COMMENT Is Nothing) Then
- Me.Adapter.InsertCommand.Parameters(3).Value = Global.System.DBNull.Value
+ Me.Adapter.InsertCommand.Parameters(2).Value = Global.System.DBNull.Value
Else
- Me.Adapter.InsertCommand.Parameters(3).Value = CType(COMMENT,String)
+ Me.Adapter.InsertCommand.Parameters(2).Value = CType(COMMENT,String)
End If
If (ADDED_WHO Is Nothing) Then
- Me.Adapter.InsertCommand.Parameters(4).Value = Global.System.DBNull.Value
+ Me.Adapter.InsertCommand.Parameters(3).Value = Global.System.DBNull.Value
Else
- Me.Adapter.InsertCommand.Parameters(4).Value = CType(ADDED_WHO,String)
- End If
- If (ADDED_WHEN.HasValue = true) Then
- Me.Adapter.InsertCommand.Parameters(5).Value = CType(ADDED_WHEN.Value,Date)
- Else
- Me.Adapter.InsertCommand.Parameters(5).Value = Global.System.DBNull.Value
+ Me.Adapter.InsertCommand.Parameters(3).Value = CType(ADDED_WHO,String)
End If
Dim previousConnectionState As Global.System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
If ((Me.Adapter.InsertCommand.Connection.State And Global.System.Data.ConnectionState.Open) _
@@ -9229,7 +9266,7 @@ Namespace UserDataSetTableAdapters
_
Private Sub InitCommandCollection()
- Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(4) {}
+ Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(7) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT TBDD_USER.*"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_USER"
@@ -9276,6 +9313,39 @@ Namespace UserDataSetTableAdapters
"P_ID = @GROUP_ID)"
Me._commandCollection(4).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(4).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@GROUP_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._commandCollection(5) = New Global.System.Data.SqlClient.SqlCommand()
+ Me._commandCollection(5).Connection = Me.Connection
+ Me._commandCollection(5).CommandText = "SELECT T1.GUID, T1.PRENAME, T1.NAME, T1.USERNAME, T1.SHORTNAME, T1.EMAIL, "& _
+ "T1.LANGUAGE, T1.GENERAL_VIEWER, T1.COMMENT, T1.WAN_ENVIRONMENT, T1.LOGGED_IN, T1"& _
+ ".LOGGED_WHERE, T1.LOG_IN_WHEN, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" T1.LOG_OUT_WHEN, T1.PM"& _
+ "_RIGHT_FILE_DELETE, T1.USERID_FK_INT_ECM, T1.DATE_FORMAT, T1.ADDED_WHO, T1.ADDED"& _
+ "_WHEN, T1.CHANGED_WHO, T1.CHANGED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_USER AS T1 INNER JO"& _
+ "IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" TBDD_USER_MODULES AS T2 ON T1.GUID = T2.USER_ID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WH"& _
+ "ERE (T2.MODULE_ID = @MODULE_ID)"
+ Me._commandCollection(5).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(5).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MODULE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "MODULE_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._commandCollection(6) = New Global.System.Data.SqlClient.SqlCommand()
+ Me._commandCollection(6).Connection = Me.Connection
+ Me._commandCollection(6).CommandText = "SELECT GUID, PRENAME, NAME, USERNAME, SHORTNAME, EMAIL, LANGUAGE, GENERAL_"& _
+ "VIEWER, COMMENT, WAN_ENVIRONMENT, LOGGED_IN, LOGGED_WHERE, LOG_IN_WHEN, LOG_OUT_"& _
+ "WHEN, PM_RIGHT_FILE_DELETE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" USERID_FK_INT_ECM, DATE_F"& _
+ "ORMAT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_US"& _
+ "ER"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (GUID NOT IN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" (SELECT DISTINCT T.G"& _
+ "UID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" FROM TBDD_USER AS T INNER JOIN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" "& _
+ " TBDD_USER_MODULES AS T1 "& _
+ "ON T.GUID = T1.USER_ID"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" WHERE (T1.MODULE_I"& _
+ "D = @MODULE_ID)))"
+ Me._commandCollection(6).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(6).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@MODULE_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
+ Me._commandCollection(7) = New Global.System.Data.SqlClient.SqlCommand()
+ Me._commandCollection(7).Connection = Me.Connection
+ Me._commandCollection(7).CommandText = "SELECT GUID, PRENAME, NAME, USERNAME, SHORTNAME, EMAIL, LANGUAGE, GENERAL_"& _
+ "VIEWER, COMMENT, WAN_ENVIRONMENT, LOGGED_IN, LOGGED_WHERE, LOG_IN_WHEN, LOG_OUT_"& _
+ "WHEN, PM_RIGHT_FILE_DELETE, "&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" USERID_FK_INT_ECM, DATE_F"& _
+ "ORMAT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM TBDD_US"& _
+ "ER"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (USERNAME = @USERNAME)"
+ Me._commandCollection(7).CommandType = Global.System.Data.CommandType.Text
+ Me._commandCollection(7).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@USERNAME", Global.System.Data.SqlDbType.VarChar, 50, Global.System.Data.ParameterDirection.Input, 0, 0, "USERNAME", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
End Sub
_
+ Public Overloads Overridable Function FillByModuleId(ByVal dataTable As UserDataSet.TBDD_USERDataTable, ByVal MODULE_ID As Integer) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(5)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(MODULE_ID,Integer)
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetDataByModuleId(ByVal MODULE_ID As Integer) As UserDataSet.TBDD_USERDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(5)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(MODULE_ID,Integer)
+ Dim dataTable As UserDataSet.TBDD_USERDataTable = New UserDataSet.TBDD_USERDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
+ _
+ Public Overloads Overridable Function FillByModuleId_NotInModule(ByVal dataTable As UserDataSet.TBDD_USERDataTable, ByVal MODULE_ID As Integer) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(6)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(MODULE_ID,Integer)
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetDataByModuleId_NotInModule(ByVal MODULE_ID As Integer) As UserDataSet.TBDD_USERDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(6)
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(MODULE_ID,Integer)
+ Dim dataTable As UserDataSet.TBDD_USERDataTable = New UserDataSet.TBDD_USERDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
+ _
+ Public Overloads Overridable Function FillByUsername(ByVal dataTable As UserDataSet.TBDD_USERDataTable, ByVal USERNAME As String) As Integer
+ Me.Adapter.SelectCommand = Me.CommandCollection(7)
+ If (USERNAME Is Nothing) Then
+ Throw New Global.System.ArgumentNullException("USERNAME")
+ Else
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USERNAME,String)
+ End If
+ If (Me.ClearBeforeFill = true) Then
+ dataTable.Clear
+ End If
+ Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
+ Return returnValue
+ End Function
+
+ _
+ Public Overloads Overridable Function GetDataByUsername(ByVal USERNAME As String) As UserDataSet.TBDD_USERDataTable
+ Me.Adapter.SelectCommand = Me.CommandCollection(7)
+ If (USERNAME Is Nothing) Then
+ Throw New Global.System.ArgumentNullException("USERNAME")
+ Else
+ Me.Adapter.SelectCommand.Parameters(0).Value = CType(USERNAME,String)
+ End If
+ Dim dataTable As UserDataSet.TBDD_USERDataTable = New UserDataSet.TBDD_USERDataTable()
+ Me.Adapter.Fill(dataTable)
+ Return dataTable
+ End Function
+
_
diff --git a/DDUserManager/DDUserManager/UserDataSet.xsd b/DDUserManager/DDUserManager/UserDataSet.xsd
index a4d45cc..07a4d89 100644
--- a/DDUserManager/DDUserManager/UserDataSet.xsd
+++ b/DDUserManager/DDUserManager/UserDataSet.xsd
@@ -349,39 +349,62 @@ SELECT GUID, NAME, SHORT_NAME, LICENSE, PRODUCT_VERSION, ACTIVE, VERSION_DELIMIT
-
+
+
+
+
+ SELECT T.GUID, T.NAME, T.SHORT_NAME, T.LICENSE, T.PRODUCT_VERSION, T.ACTIVE, T.VERSION_DELIMITER, T.FILE_DELIMITER, T.BIT1, T.BIT2, T.STRING1, T.STRING2, T.BACKGROUND_IMAGE, T.PRODUCT_NAME1,
+ T.PRODUCT_NAME2, T.VERSION_UPATE_PATH, T.ADDED_WHO, T.ADDED_WHEN, T.CHANGED_WHO, T.CHANGED_WHEN
+FROM TBDD_MODULES AS T INNER JOIN
+ TBDD_USER_MODULES AS T2 ON T.GUID = T2.MODULE_ID
+WHERE (T2.USER_ID = @USER_ID) AND (T2.IS_ADMIN = 1)
+
+
+
+
+
+
+
+
+
+ SELECT T.GUID, T.NAME, T.SHORT_NAME, T.LICENSE, T.PRODUCT_VERSION, T.ACTIVE, T.VERSION_DELIMITER, T.FILE_DELIMITER, T.BIT1, T.BIT2, T.STRING1, T.STRING2, T.BACKGROUND_IMAGE, T.PRODUCT_NAME1,
+ T.PRODUCT_NAME2, T.VERSION_UPATE_PATH, T.ADDED_WHO, T.ADDED_WHEN, T.CHANGED_WHO, T.CHANGED_WHEN
+FROM TBDD_MODULES AS T INNER JOIN
+ TBDD_USER_MODULES AS T2 ON T.GUID = T2.MODULE_ID INNER JOIN
+ TBDD_USER AS T3 ON T2.USER_ID = T3.GUID
+WHERE (T3.USERNAME = @USERNAME)
+
+
+
+
+
+
+
-
- DELETE FROM [TBDD_USER_MODULES] WHERE (([GUID] = @Original_GUID) AND ([USER_ID] = @Original_USER_ID) AND ([MODULE_ID] = @Original_MODULE_ID) AND ([IS_ADMIN] = @Original_IS_ADMIN) AND ((@IsNull_COMMENT = 1 AND [COMMENT] IS NULL) OR ([COMMENT] = @Original_COMMENT)) AND ((@IsNull_ADDED_WHO = 1 AND [ADDED_WHO] IS NULL) OR ([ADDED_WHO] = @Original_ADDED_WHO)) AND ((@IsNull_ADDED_WHEN = 1 AND [ADDED_WHEN] IS NULL) OR ([ADDED_WHEN] = @Original_ADDED_WHEN)))
+
+ DELETE FROM TBDD_USER_MODULES
+WHERE (USER_ID = @USER_ID) AND (MODULE_ID = @MODULE_ID)
-
-
-
-
-
-
-
-
-
-
+
+
-
- INSERT INTO [TBDD_USER_MODULES] ([USER_ID], [MODULE_ID], [IS_ADMIN], [COMMENT], [ADDED_WHO], [ADDED_WHEN]) VALUES (@USER_ID, @MODULE_ID, @IS_ADMIN, @COMMENT, @ADDED_WHO, @ADDED_WHEN);
+
+ INSERT INTO TBDD_USER_MODULES
+ (USER_ID, MODULE_ID, COMMENT, ADDED_WHO)
+VALUES (@USER_ID,@MODULE_ID,@COMMENT,@ADDED_WHO);
SELECT GUID, USER_ID, MODULE_ID, IS_ADMIN, COMMENT, ADDED_WHO, ADDED_WHEN FROM TBDD_USER_MODULES WHERE (GUID = SCOPE_IDENTITY())
-
-
-
-
-
-
+
+
+
+
@@ -843,6 +866,50 @@ WHERE
+
+
+
+ SELECT T1.GUID, T1.PRENAME, T1.NAME, T1.USERNAME, T1.SHORTNAME, T1.EMAIL, T1.LANGUAGE, T1.GENERAL_VIEWER, T1.COMMENT, T1.WAN_ENVIRONMENT, T1.LOGGED_IN, T1.LOGGED_WHERE, T1.LOG_IN_WHEN,
+ T1.LOG_OUT_WHEN, T1.PM_RIGHT_FILE_DELETE, T1.USERID_FK_INT_ECM, T1.DATE_FORMAT, T1.ADDED_WHO, T1.ADDED_WHEN, T1.CHANGED_WHO, T1.CHANGED_WHEN
+FROM TBDD_USER AS T1 INNER JOIN
+ TBDD_USER_MODULES AS T2 ON T1.GUID = T2.USER_ID
+WHERE (T2.MODULE_ID = @MODULE_ID)
+
+
+
+
+
+
+
+
+
+ SELECT GUID, PRENAME, NAME, USERNAME, SHORTNAME, EMAIL, LANGUAGE, GENERAL_VIEWER, COMMENT, WAN_ENVIRONMENT, LOGGED_IN, LOGGED_WHERE, LOG_IN_WHEN, LOG_OUT_WHEN, PM_RIGHT_FILE_DELETE,
+ USERID_FK_INT_ECM, DATE_FORMAT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN
+FROM TBDD_USER
+WHERE (GUID NOT IN
+ (SELECT DISTINCT T.GUID
+ FROM TBDD_USER AS T INNER JOIN
+ TBDD_USER_MODULES AS T1 ON T.GUID = T1.USER_ID
+ WHERE (T1.MODULE_ID = @MODULE_ID)))
+
+
+
+
+
+
+
+
+
+ SELECT GUID, PRENAME, NAME, USERNAME, SHORTNAME, EMAIL, LANGUAGE, GENERAL_VIEWER, COMMENT, WAN_ENVIRONMENT, LOGGED_IN, LOGGED_WHERE, LOG_IN_WHEN, LOG_OUT_WHEN, PM_RIGHT_FILE_DELETE,
+ USERID_FK_INT_ECM, DATE_FORMAT, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN
+FROM TBDD_USER
+WHERE (USERNAME = @USERNAME)
+
+
+
+
+
+
@@ -853,7 +920,7 @@ WHERE
-
+
@@ -890,7 +957,7 @@ WHERE
-
+
@@ -922,7 +989,7 @@ WHERE
-
+
@@ -1026,7 +1093,7 @@ WHERE
-
+
@@ -1051,7 +1118,7 @@ WHERE
-
+
@@ -1116,7 +1183,7 @@ WHERE
-
+
@@ -1140,7 +1207,7 @@ WHERE
-
+
@@ -1272,12 +1339,12 @@ WHERE
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/UserDataSet.xss b/DDUserManager/DDUserManager/UserDataSet.xss
index f1cd4cc..15ac0d5 100644
--- a/DDUserManager/DDUserManager/UserDataSet.xss
+++ b/DDUserManager/DDUserManager/UserDataSet.xss
@@ -6,96 +6,84 @@
-->
-
-
-
-
-
-
-
+
+
+
+
+
+
+
- 212
- 257
+ 179
+ 208
- 212
- 315
+ 179
+ 247
-
+
- 1209
- 320
+ 1159
+ 318
- 1209
- 427
+ 1159
+ 334
-
+
- 505
- 333
+ 671
+ 691
- 505
- 496
-
-
- 573
- 496
+ 730
+ 691
-
+
- 755
- 362
+ 538
+ 338
- 755
- 462
-
-
- 361
- 462
+ 356
+ 338
-
+
- 934
- 362
+ 838
+ 382
- 934
- 462
-
-
- 1001
- 462
+ 1045
+ 382
-
+
- 772
- 362
+ 784
+ 430
- 772
- 479
+ 784
+ 596
diff --git a/DDUserManager/DDUserManager/frmMain.Designer.vb b/DDUserManager/DDUserManager/frmMain.Designer.vb
index c30f555..aa45e8d 100644
--- a/DDUserManager/DDUserManager/frmMain.Designer.vb
+++ b/DDUserManager/DDUserManager/frmMain.Designer.vb
@@ -53,39 +53,61 @@ Partial Class frmMain
Dim CHANGED_WHOLabel2 As System.Windows.Forms.Label
Dim CHANGED_WHENLabel2 As System.Windows.Forms.Label
Dim ADDED_WHENLabel2 As System.Windows.Forms.Label
+ Dim GUIDLabel3 As System.Windows.Forms.Label
+ Dim NAMELabel2 As System.Windows.Forms.Label
+ Dim SHORT_NAMELabel As System.Windows.Forms.Label
+ Dim LICENSELabel As System.Windows.Forms.Label
+ Dim PRODUCT_VERSIONLabel As System.Windows.Forms.Label
+ Dim ACTIVELabel As System.Windows.Forms.Label
+ Dim VERSION_DELIMITERLabel As System.Windows.Forms.Label
+ Dim FILE_DELIMITERLabel As System.Windows.Forms.Label
+ Dim BIT1Label As System.Windows.Forms.Label
+ Dim BIT2Label As System.Windows.Forms.Label
+ Dim STRING1Label As System.Windows.Forms.Label
+ Dim STRING2Label As System.Windows.Forms.Label
+ Dim PRODUCT_NAME1Label As System.Windows.Forms.Label
+ Dim PRODUCT_NAME2Label As System.Windows.Forms.Label
+ Dim VERSION_UPATE_PATHLabel As System.Windows.Forms.Label
+ Dim ADDED_WHOLabel3 As System.Windows.Forms.Label
+ Dim ADDED_WHENLabel3 As System.Windows.Forms.Label
+ Dim CHANGED_WHOLabel3 As System.Windows.Forms.Label
+ Dim CHANGED_WHENLabel3 As System.Windows.Forms.Label
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.XtraTabControl1 = New DevExpress.XtraTab.XtraTabControl()
Me.tabPageUsers = New DevExpress.XtraTab.XtraTabPage()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
- Me.DATE_FORMATTextBox = New System.Windows.Forms.TextBox()
+ Me.SplitContainer2 = New System.Windows.Forms.SplitContainer()
+ Me.CHANGED_WHENDateTimePicker = New System.Windows.Forms.DateTimePicker()
Me.TBDD_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.UserDataSet = New DDUserManager.UserDataSet()
+ Me.DATE_FORMATTextBox = New System.Windows.Forms.TextBox()
+ Me.USERID_FK_INT_ECMTextBox = New System.Windows.Forms.TextBox()
+ Me.CHANGED_WHOTextBox = New System.Windows.Forms.TextBox()
Me.PRENAMETextBox = New System.Windows.Forms.TextBox()
+ Me.ADDED_WHENDateTimePicker = New System.Windows.Forms.DateTimePicker()
+ Me.EMAILTextBox = New System.Windows.Forms.TextBox()
+ Me.ADDED_WHOTextBox = New System.Windows.Forms.TextBox()
+ Me.LANGUAGETextBox = New System.Windows.Forms.TextBox()
+ Me.GUIDTextBox = New System.Windows.Forms.TextBox()
Me.WAN_ENVIRONMENTCheckBox = New System.Windows.Forms.CheckBox()
Me.COMMENTTextBox = New System.Windows.Forms.TextBox()
- Me.SHORTNAMETextBox = New System.Windows.Forms.TextBox()
- Me.USERNAMETextBox = New System.Windows.Forms.TextBox()
Me.NAMETextBox = New System.Windows.Forms.TextBox()
- Me.GUIDTextBox = New System.Windows.Forms.TextBox()
- Me.LANGUAGETextBox = New System.Windows.Forms.TextBox()
- Me.EMAILTextBox = New System.Windows.Forms.TextBox()
+ Me.USERNAMETextBox = New System.Windows.Forms.TextBox()
+ Me.SHORTNAMETextBox = New System.Windows.Forms.TextBox()
+ Me.Label12 = New System.Windows.Forms.Label()
+ Me.Label1 = New System.Windows.Forms.Label()
+ Me.listModules = New System.Windows.Forms.ListBox()
+ Me.listGroups = New System.Windows.Forms.ListBox()
+ Me.TBDD_USER_GROUPSBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.listClients = New System.Windows.Forms.ListBox()
+ Me.TBDD_CLIENTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.GridUsers = New DevExpress.XtraGrid.GridControl()
Me.gvUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colPRENAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colNAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colUSERNAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colEMAIL = New DevExpress.XtraGrid.Columns.GridColumn()
- Me.Label2 = New System.Windows.Forms.Label()
- Me.CHANGED_WHENDateTimePicker = New System.Windows.Forms.DateTimePicker()
- Me.USERID_FK_INT_ECMTextBox = New System.Windows.Forms.TextBox()
- Me.CHANGED_WHOTextBox = New System.Windows.Forms.TextBox()
- Me.ADDED_WHENDateTimePicker = New System.Windows.Forms.DateTimePicker()
- Me.ADDED_WHOTextBox = New System.Windows.Forms.TextBox()
- Me.Label1 = New System.Windows.Forms.Label()
- Me.listClients = New System.Windows.Forms.ListBox()
- Me.TBDD_CLIENTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
- Me.listGroups = New System.Windows.Forms.ListBox()
- Me.TBDD_USER_GROUPSBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.XtraTabControl2 = New DevExpress.XtraTab.XtraTabControl()
Me.tabGroupAssign = New DevExpress.XtraTab.XtraTabPage()
Me.SplitContainerUserGroups1 = New System.Windows.Forms.SplitContainer()
@@ -134,6 +156,31 @@ Partial Class frmMain
Me.colNAME4 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colUSERNAME3 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colEMAIL2 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.tabModuleAssign = New DevExpress.XtraTab.XtraTabPage()
+ Me.SplitContainer6 = New System.Windows.Forms.SplitContainer()
+ Me.Label9 = New System.Windows.Forms.Label()
+ Me.gridModules_AllModules = New DevExpress.XtraGrid.GridControl()
+ Me.TBDD_MODULESBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.gvModules_AllModules = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.GridColumn11 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn12 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.SplitContainer7 = New System.Windows.Forms.SplitContainer()
+ Me.Label10 = New System.Windows.Forms.Label()
+ Me.gridModules_AvailableUsers = New DevExpress.XtraGrid.GridControl()
+ Me.gvModules_AvailableUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.GridColumn13 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn14 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn15 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn16 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridView8 = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.Label11 = New System.Windows.Forms.Label()
+ Me.gridModules_AssignedUsers = New DevExpress.XtraGrid.GridControl()
+ Me.gvModules_AssignedUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.GridColumn17 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn18 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn19 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn20 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridView10 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.TBDD_USERBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
Me.BindingNavigatorAddNewItem = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel()
@@ -204,6 +251,41 @@ Partial Class frmMain
Me.SHORTNAMETextBox1 = New System.Windows.Forms.TextBox()
Me.CLIENT_NAMETextBox = New System.Windows.Forms.TextBox()
Me.GUIDTextBox2 = New System.Windows.Forms.TextBox()
+ Me.tabPageModules = New DevExpress.XtraTab.XtraTabPage()
+ Me.gridModules = New DevExpress.XtraGrid.GridControl()
+ Me.GridView5 = New DevExpress.XtraGrid.Views.Grid.GridView()
+ Me.GridColumn8 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn9 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.GridColumn10 = New DevExpress.XtraGrid.Columns.GridColumn()
+ Me.TBDD_MODULESBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
+ Me.BindingNavigatorCountItem3 = New System.Windows.Forms.ToolStripLabel()
+ Me.BindingNavigatorMoveFirstItem3 = New System.Windows.Forms.ToolStripButton()
+ Me.BindingNavigatorMovePreviousItem3 = New System.Windows.Forms.ToolStripButton()
+ Me.BindingNavigatorSeparator9 = New System.Windows.Forms.ToolStripSeparator()
+ Me.BindingNavigatorPositionItem3 = New System.Windows.Forms.ToolStripTextBox()
+ Me.BindingNavigatorSeparator10 = New System.Windows.Forms.ToolStripSeparator()
+ Me.BindingNavigatorMoveNextItem3 = New System.Windows.Forms.ToolStripButton()
+ Me.BindingNavigatorMoveLastItem3 = New System.Windows.Forms.ToolStripButton()
+ Me.BindingNavigatorSeparator11 = New System.Windows.Forms.ToolStripSeparator()
+ Me.GUIDTextBox3 = New System.Windows.Forms.TextBox()
+ Me.NAMETextBox2 = New System.Windows.Forms.TextBox()
+ Me.SHORT_NAMETextBox = New System.Windows.Forms.TextBox()
+ Me.LICENSETextBox = New System.Windows.Forms.TextBox()
+ Me.PRODUCT_VERSIONTextBox = New System.Windows.Forms.TextBox()
+ Me.ACTIVECheckBox = New System.Windows.Forms.CheckBox()
+ Me.VERSION_DELIMITERTextBox = New System.Windows.Forms.TextBox()
+ Me.FILE_DELIMITERTextBox = New System.Windows.Forms.TextBox()
+ Me.BIT1CheckBox = New System.Windows.Forms.CheckBox()
+ Me.BIT2CheckBox = New System.Windows.Forms.CheckBox()
+ Me.STRING1TextBox = New System.Windows.Forms.TextBox()
+ Me.STRING2TextBox = New System.Windows.Forms.TextBox()
+ Me.PRODUCT_NAME1TextBox = New System.Windows.Forms.TextBox()
+ Me.PRODUCT_NAME2TextBox = New System.Windows.Forms.TextBox()
+ Me.VERSION_UPATE_PATHTextBox = New System.Windows.Forms.TextBox()
+ Me.ADDED_WHOTextBox3 = New System.Windows.Forms.TextBox()
+ Me.ADDED_WHENDateTimePicker3 = New System.Windows.Forms.DateTimePicker()
+ Me.CHANGED_WHOTextBox3 = New System.Windows.Forms.TextBox()
+ Me.CHANGED_WHENDateTimePicker3 = New System.Windows.Forms.DateTimePicker()
Me.TBDD_GROUPS_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBDD_USERTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_USERTableAdapter()
Me.TableAdapterManager = New DDUserManager.UserDataSetTableAdapters.TableAdapterManager()
@@ -211,11 +293,10 @@ Partial Class frmMain
Me.TBDD_CLIENT_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBDD_CLIENT_USERTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_CLIENT_USERTableAdapter()
Me.TBDD_USER_GROUPSTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_USER_GROUPSTableAdapter()
+ Me.TBDD_CLIENTTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_CLIENTTableAdapter()
+ Me.TBDD_MODULESTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_MODULESTableAdapter()
Me.TBDD_USER_MODULESBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBDD_USER_MODULESTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_USER_MODULESTableAdapter()
- Me.TBDD_CLIENTTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_CLIENTTableAdapter()
- Me.SplitContainer2 = New System.Windows.Forms.SplitContainer()
- Me.SplitContainer3 = New System.Windows.Forms.SplitContainer()
GUIDLabel = New System.Windows.Forms.Label()
PRENAMELabel = New System.Windows.Forms.Label()
NAMELabel = New System.Windows.Forms.Label()
@@ -246,6 +327,25 @@ Partial Class frmMain
CHANGED_WHOLabel2 = New System.Windows.Forms.Label()
CHANGED_WHENLabel2 = New System.Windows.Forms.Label()
ADDED_WHENLabel2 = New System.Windows.Forms.Label()
+ GUIDLabel3 = New System.Windows.Forms.Label()
+ NAMELabel2 = New System.Windows.Forms.Label()
+ SHORT_NAMELabel = New System.Windows.Forms.Label()
+ LICENSELabel = New System.Windows.Forms.Label()
+ PRODUCT_VERSIONLabel = New System.Windows.Forms.Label()
+ ACTIVELabel = New System.Windows.Forms.Label()
+ VERSION_DELIMITERLabel = New System.Windows.Forms.Label()
+ FILE_DELIMITERLabel = New System.Windows.Forms.Label()
+ BIT1Label = New System.Windows.Forms.Label()
+ BIT2Label = New System.Windows.Forms.Label()
+ STRING1Label = New System.Windows.Forms.Label()
+ STRING2Label = New System.Windows.Forms.Label()
+ PRODUCT_NAME1Label = New System.Windows.Forms.Label()
+ PRODUCT_NAME2Label = New System.Windows.Forms.Label()
+ VERSION_UPATE_PATHLabel = New System.Windows.Forms.Label()
+ ADDED_WHOLabel3 = New System.Windows.Forms.Label()
+ ADDED_WHENLabel3 = New System.Windows.Forms.Label()
+ CHANGED_WHOLabel3 = New System.Windows.Forms.Label()
+ CHANGED_WHENLabel3 = New System.Windows.Forms.Label()
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl1.SuspendLayout()
Me.tabPageUsers.SuspendLayout()
@@ -253,12 +353,16 @@ Partial Class frmMain
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()
CType(Me.TBDD_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.UserDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TBDD_USER_GROUPSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TBDD_CLIENTBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.gvUsers, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.TBDD_CLIENTBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.TBDD_USER_GROUPSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.XtraTabControl2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.XtraTabControl2.SuspendLayout()
Me.tabGroupAssign.SuspendLayout()
@@ -293,6 +397,24 @@ Partial Class frmMain
CType(Me.gvClients_AvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.gridClients_AssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.gvClients_AssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.tabModuleAssign.SuspendLayout()
+ CType(Me.SplitContainer6, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainer6.Panel1.SuspendLayout()
+ Me.SplitContainer6.Panel2.SuspendLayout()
+ Me.SplitContainer6.SuspendLayout()
+ CType(Me.gridModules_AllModules, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TBDD_MODULESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.gvModules_AllModules, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.SplitContainer7, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SplitContainer7.Panel1.SuspendLayout()
+ Me.SplitContainer7.Panel2.SuspendLayout()
+ Me.SplitContainer7.SuspendLayout()
+ CType(Me.gridModules_AvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.gvModules_AvailableUsers, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridView8, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.gridModules_AssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.gvModules_AssignedUsers, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridView10, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_USERBindingNavigator, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TBDD_USERBindingNavigator.SuspendLayout()
Me.tabPageGroups.SuspendLayout()
@@ -309,17 +431,14 @@ Partial Class frmMain
Me.TBDD_CLIENTBindingNavigator.SuspendLayout()
Me.GroupBox6.SuspendLayout()
Me.GroupBox5.SuspendLayout()
+ Me.tabPageModules.SuspendLayout()
+ CType(Me.gridModules, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridView5, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.TBDD_MODULESBindingNavigator, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.TBDD_MODULESBindingNavigator.SuspendLayout()
CType(Me.TBDD_GROUPS_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_CLIENT_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_USER_MODULESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
- CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.SplitContainer2.Panel1.SuspendLayout()
- Me.SplitContainer2.Panel2.SuspendLayout()
- Me.SplitContainer2.SuspendLayout()
- CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.SplitContainer3.Panel1.SuspendLayout()
- Me.SplitContainer3.Panel2.SuspendLayout()
- Me.SplitContainer3.SuspendLayout()
Me.SuspendLayout()
'
'GUIDLabel
@@ -406,7 +525,7 @@ Partial Class frmMain
'USERID_FK_INT_ECMLabel
'
USERID_FK_INT_ECMLabel.AutoSize = True
- USERID_FK_INT_ECMLabel.Location = New System.Drawing.Point(21, 283)
+ USERID_FK_INT_ECMLabel.Location = New System.Drawing.Point(462, 132)
USERID_FK_INT_ECMLabel.Name = "USERID_FK_INT_ECMLabel"
USERID_FK_INT_ECMLabel.Size = New System.Drawing.Size(107, 13)
USERID_FK_INT_ECMLabel.TabIndex = 40
@@ -424,7 +543,7 @@ Partial Class frmMain
'ADDED_WHOLabel
'
ADDED_WHOLabel.AutoSize = True
- ADDED_WHOLabel.Location = New System.Drawing.Point(21, 176)
+ ADDED_WHOLabel.Location = New System.Drawing.Point(462, 25)
ADDED_WHOLabel.Name = "ADDED_WHOLabel"
ADDED_WHOLabel.Size = New System.Drawing.Size(90, 13)
ADDED_WHOLabel.TabIndex = 44
@@ -433,7 +552,7 @@ Partial Class frmMain
'ADDED_WHENLabel
'
ADDED_WHENLabel.AutoSize = True
- ADDED_WHENLabel.Location = New System.Drawing.Point(21, 204)
+ ADDED_WHENLabel.Location = New System.Drawing.Point(462, 53)
ADDED_WHENLabel.Name = "ADDED_WHENLabel"
ADDED_WHENLabel.Size = New System.Drawing.Size(98, 13)
ADDED_WHENLabel.TabIndex = 46
@@ -442,7 +561,7 @@ Partial Class frmMain
'CHANGED_WHOLabel
'
CHANGED_WHOLabel.AutoSize = True
- CHANGED_WHOLabel.Location = New System.Drawing.Point(21, 230)
+ CHANGED_WHOLabel.Location = New System.Drawing.Point(462, 79)
CHANGED_WHOLabel.Name = "CHANGED_WHOLabel"
CHANGED_WHOLabel.Size = New System.Drawing.Size(77, 13)
CHANGED_WHOLabel.TabIndex = 48
@@ -451,7 +570,7 @@ Partial Class frmMain
'CHANGED_WHENLabel
'
CHANGED_WHENLabel.AutoSize = True
- CHANGED_WHENLabel.Location = New System.Drawing.Point(21, 256)
+ CHANGED_WHENLabel.Location = New System.Drawing.Point(462, 105)
CHANGED_WHENLabel.Name = "CHANGED_WHENLabel"
CHANGED_WHENLabel.Size = New System.Drawing.Size(85, 13)
CHANGED_WHENLabel.TabIndex = 50
@@ -592,6 +711,177 @@ Partial Class frmMain
ADDED_WHENLabel2.TabIndex = 6
ADDED_WHENLabel2.Text = "ADDED WHEN:"
'
+ 'GUIDLabel3
+ '
+ GUIDLabel3.AutoSize = True
+ GUIDLabel3.Location = New System.Drawing.Point(46, 62)
+ GUIDLabel3.Name = "GUIDLabel3"
+ GUIDLabel3.Size = New System.Drawing.Size(36, 13)
+ GUIDLabel3.TabIndex = 0
+ GUIDLabel3.Text = "GUID:"
+ '
+ 'NAMELabel2
+ '
+ NAMELabel2.AutoSize = True
+ NAMELabel2.Location = New System.Drawing.Point(46, 89)
+ NAMELabel2.Name = "NAMELabel2"
+ NAMELabel2.Size = New System.Drawing.Size(39, 13)
+ NAMELabel2.TabIndex = 2
+ NAMELabel2.Text = "NAME:"
+ '
+ 'SHORT_NAMELabel
+ '
+ SHORT_NAMELabel.AutoSize = True
+ SHORT_NAMELabel.Location = New System.Drawing.Point(46, 116)
+ SHORT_NAMELabel.Name = "SHORT_NAMELabel"
+ SHORT_NAMELabel.Size = New System.Drawing.Size(76, 13)
+ SHORT_NAMELabel.TabIndex = 4
+ SHORT_NAMELabel.Text = "SHORT NAME:"
+ '
+ 'LICENSELabel
+ '
+ LICENSELabel.AutoSize = True
+ LICENSELabel.Location = New System.Drawing.Point(46, 143)
+ LICENSELabel.Name = "LICENSELabel"
+ LICENSELabel.Size = New System.Drawing.Size(52, 13)
+ LICENSELabel.TabIndex = 6
+ LICENSELabel.Text = "LICENSE:"
+ '
+ 'PRODUCT_VERSIONLabel
+ '
+ PRODUCT_VERSIONLabel.AutoSize = True
+ PRODUCT_VERSIONLabel.Location = New System.Drawing.Point(46, 170)
+ PRODUCT_VERSIONLabel.Name = "PRODUCT_VERSIONLabel"
+ PRODUCT_VERSIONLabel.Size = New System.Drawing.Size(106, 13)
+ PRODUCT_VERSIONLabel.TabIndex = 8
+ PRODUCT_VERSIONLabel.Text = "PRODUCT VERSION:"
+ '
+ 'ACTIVELabel
+ '
+ ACTIVELabel.AutoSize = True
+ ACTIVELabel.Location = New System.Drawing.Point(46, 199)
+ ACTIVELabel.Name = "ACTIVELabel"
+ ACTIVELabel.Size = New System.Drawing.Size(47, 13)
+ ACTIVELabel.TabIndex = 10
+ ACTIVELabel.Text = "ACTIVE:"
+ '
+ 'VERSION_DELIMITERLabel
+ '
+ VERSION_DELIMITERLabel.AutoSize = True
+ VERSION_DELIMITERLabel.Location = New System.Drawing.Point(46, 227)
+ VERSION_DELIMITERLabel.Name = "VERSION_DELIMITERLabel"
+ VERSION_DELIMITERLabel.Size = New System.Drawing.Size(111, 13)
+ VERSION_DELIMITERLabel.TabIndex = 12
+ VERSION_DELIMITERLabel.Text = "VERSION DELIMITER:"
+ '
+ 'FILE_DELIMITERLabel
+ '
+ FILE_DELIMITERLabel.AutoSize = True
+ FILE_DELIMITERLabel.Location = New System.Drawing.Point(46, 254)
+ FILE_DELIMITERLabel.Name = "FILE_DELIMITERLabel"
+ FILE_DELIMITERLabel.Size = New System.Drawing.Size(88, 13)
+ FILE_DELIMITERLabel.TabIndex = 14
+ FILE_DELIMITERLabel.Text = "FILE DELIMITER:"
+ '
+ 'BIT1Label
+ '
+ BIT1Label.AutoSize = True
+ BIT1Label.Location = New System.Drawing.Point(46, 283)
+ BIT1Label.Name = "BIT1Label"
+ BIT1Label.Size = New System.Drawing.Size(33, 13)
+ BIT1Label.TabIndex = 16
+ BIT1Label.Text = "BIT1:"
+ '
+ 'BIT2Label
+ '
+ BIT2Label.AutoSize = True
+ BIT2Label.Location = New System.Drawing.Point(46, 313)
+ BIT2Label.Name = "BIT2Label"
+ BIT2Label.Size = New System.Drawing.Size(33, 13)
+ BIT2Label.TabIndex = 18
+ BIT2Label.Text = "BIT2:"
+ '
+ 'STRING1Label
+ '
+ STRING1Label.AutoSize = True
+ STRING1Label.Location = New System.Drawing.Point(46, 341)
+ STRING1Label.Name = "STRING1Label"
+ STRING1Label.Size = New System.Drawing.Size(54, 13)
+ STRING1Label.TabIndex = 20
+ STRING1Label.Text = "STRING1:"
+ '
+ 'STRING2Label
+ '
+ STRING2Label.AutoSize = True
+ STRING2Label.Location = New System.Drawing.Point(46, 368)
+ STRING2Label.Name = "STRING2Label"
+ STRING2Label.Size = New System.Drawing.Size(54, 13)
+ STRING2Label.TabIndex = 22
+ STRING2Label.Text = "STRING2:"
+ '
+ 'PRODUCT_NAME1Label
+ '
+ PRODUCT_NAME1Label.AutoSize = True
+ PRODUCT_NAME1Label.Location = New System.Drawing.Point(46, 395)
+ PRODUCT_NAME1Label.Name = "PRODUCT_NAME1Label"
+ PRODUCT_NAME1Label.Size = New System.Drawing.Size(96, 13)
+ PRODUCT_NAME1Label.TabIndex = 24
+ PRODUCT_NAME1Label.Text = "PRODUCT NAME1:"
+ '
+ 'PRODUCT_NAME2Label
+ '
+ PRODUCT_NAME2Label.AutoSize = True
+ PRODUCT_NAME2Label.Location = New System.Drawing.Point(46, 422)
+ PRODUCT_NAME2Label.Name = "PRODUCT_NAME2Label"
+ PRODUCT_NAME2Label.Size = New System.Drawing.Size(96, 13)
+ PRODUCT_NAME2Label.TabIndex = 26
+ PRODUCT_NAME2Label.Text = "PRODUCT NAME2:"
+ '
+ 'VERSION_UPATE_PATHLabel
+ '
+ VERSION_UPATE_PATHLabel.AutoSize = True
+ VERSION_UPATE_PATHLabel.Location = New System.Drawing.Point(46, 449)
+ VERSION_UPATE_PATHLabel.Name = "VERSION_UPATE_PATHLabel"
+ VERSION_UPATE_PATHLabel.Size = New System.Drawing.Size(119, 13)
+ VERSION_UPATE_PATHLabel.TabIndex = 28
+ VERSION_UPATE_PATHLabel.Text = "VERSION UPATE PATH:"
+ '
+ 'ADDED_WHOLabel3
+ '
+ ADDED_WHOLabel3.AutoSize = True
+ ADDED_WHOLabel3.Location = New System.Drawing.Point(46, 476)
+ ADDED_WHOLabel3.Name = "ADDED_WHOLabel3"
+ ADDED_WHOLabel3.Size = New System.Drawing.Size(73, 13)
+ ADDED_WHOLabel3.TabIndex = 30
+ ADDED_WHOLabel3.Text = "ADDED WHO:"
+ '
+ 'ADDED_WHENLabel3
+ '
+ ADDED_WHENLabel3.AutoSize = True
+ ADDED_WHENLabel3.Location = New System.Drawing.Point(46, 504)
+ ADDED_WHENLabel3.Name = "ADDED_WHENLabel3"
+ ADDED_WHENLabel3.Size = New System.Drawing.Size(78, 13)
+ ADDED_WHENLabel3.TabIndex = 32
+ ADDED_WHENLabel3.Text = "ADDED WHEN:"
+ '
+ 'CHANGED_WHOLabel3
+ '
+ CHANGED_WHOLabel3.AutoSize = True
+ CHANGED_WHOLabel3.Location = New System.Drawing.Point(46, 530)
+ CHANGED_WHOLabel3.Name = "CHANGED_WHOLabel3"
+ CHANGED_WHOLabel3.Size = New System.Drawing.Size(87, 13)
+ CHANGED_WHOLabel3.TabIndex = 34
+ CHANGED_WHOLabel3.Text = "CHANGED WHO:"
+ '
+ 'CHANGED_WHENLabel3
+ '
+ CHANGED_WHENLabel3.AutoSize = True
+ CHANGED_WHENLabel3.Location = New System.Drawing.Point(46, 558)
+ CHANGED_WHENLabel3.Name = "CHANGED_WHENLabel3"
+ CHANGED_WHENLabel3.Size = New System.Drawing.Size(92, 13)
+ CHANGED_WHENLabel3.TabIndex = 36
+ CHANGED_WHENLabel3.Text = "CHANGED WHEN:"
+ '
'XtraTabControl1
'
Me.XtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill
@@ -600,7 +890,7 @@ Partial Class frmMain
Me.XtraTabControl1.SelectedTabPage = Me.tabPageUsers
Me.XtraTabControl1.Size = New System.Drawing.Size(1199, 815)
Me.XtraTabControl1.TabIndex = 0
- Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tabPageUsers, Me.tabPageGroups, Me.tabPageClients})
+ Me.XtraTabControl1.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tabPageUsers, Me.tabPageGroups, Me.tabPageClients, Me.tabPageModules})
'
'tabPageUsers
'
@@ -631,13 +921,66 @@ Partial Class frmMain
Me.SplitContainer1.SplitterDistance = 379
Me.SplitContainer1.TabIndex = 63
'
- 'DATE_FORMATTextBox
+ 'SplitContainer2
'
- Me.DATE_FORMATTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "DATE_FORMAT", True))
- Me.DATE_FORMATTextBox.Location = New System.Drawing.Point(106, 129)
- Me.DATE_FORMATTextBox.Name = "DATE_FORMATTextBox"
- Me.DATE_FORMATTextBox.Size = New System.Drawing.Size(109, 21)
- Me.DATE_FORMATTextBox.TabIndex = 43
+ 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(ADDED_WHOLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.CHANGED_WHENDateTimePicker)
+ Me.SplitContainer2.Panel1.Controls.Add(GUIDLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(CHANGED_WHENLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.DATE_FORMATTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(USERID_FK_INT_ECMLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.USERID_FK_INT_ECMTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(DATE_FORMATLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.CHANGED_WHOTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.PRENAMETextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(CHANGED_WHOLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(LANGUAGELabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.ADDED_WHENDateTimePicker)
+ Me.SplitContainer2.Panel1.Controls.Add(NAMELabel)
+ Me.SplitContainer2.Panel1.Controls.Add(ADDED_WHENLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.EMAILTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.ADDED_WHOTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(WAN_ENVIRONMENTLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.LANGUAGETextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(COMMENTLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.GUIDTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.WAN_ENVIRONMENTCheckBox)
+ Me.SplitContainer2.Panel1.Controls.Add(EMAILLabel)
+ Me.SplitContainer2.Panel1.Controls.Add(USERNAMELabel)
+ Me.SplitContainer2.Panel1.Controls.Add(SHORTNAMELabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.COMMENTTextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.NAMETextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(PRENAMELabel)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.USERNAMETextBox)
+ Me.SplitContainer2.Panel1.Controls.Add(Me.SHORTNAMETextBox)
+ '
+ 'SplitContainer2.Panel2
+ '
+ Me.SplitContainer2.Panel2.Controls.Add(Me.Label12)
+ Me.SplitContainer2.Panel2.Controls.Add(Me.Label1)
+ Me.SplitContainer2.Panel2.Controls.Add(Me.listModules)
+ Me.SplitContainer2.Panel2.Controls.Add(Me.listGroups)
+ Me.SplitContainer2.Panel2.Controls.Add(Me.Label2)
+ Me.SplitContainer2.Panel2.Controls.Add(Me.listClients)
+ Me.SplitContainer2.Size = New System.Drawing.Size(765, 379)
+ Me.SplitContainer2.SplitterDistance = 200
+ Me.SplitContainer2.TabIndex = 63
+ '
+ 'CHANGED_WHENDateTimePicker
+ '
+ Me.CHANGED_WHENDateTimePicker.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "CHANGED_WHEN", True))
+ Me.CHANGED_WHENDateTimePicker.Enabled = False
+ Me.CHANGED_WHENDateTimePicker.Location = New System.Drawing.Point(576, 102)
+ Me.CHANGED_WHENDateTimePicker.Name = "CHANGED_WHENDateTimePicker"
+ Me.CHANGED_WHENDateTimePicker.Size = New System.Drawing.Size(163, 21)
+ Me.CHANGED_WHENDateTimePicker.TabIndex = 51
'
'TBDD_USERBindingSource
'
@@ -649,6 +992,31 @@ Partial Class frmMain
Me.UserDataSet.DataSetName = "UserDataSet"
Me.UserDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
+ 'DATE_FORMATTextBox
+ '
+ Me.DATE_FORMATTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "DATE_FORMAT", True))
+ Me.DATE_FORMATTextBox.Location = New System.Drawing.Point(106, 129)
+ Me.DATE_FORMATTextBox.Name = "DATE_FORMATTextBox"
+ Me.DATE_FORMATTextBox.Size = New System.Drawing.Size(109, 21)
+ Me.DATE_FORMATTextBox.TabIndex = 43
+ '
+ 'USERID_FK_INT_ECMTextBox
+ '
+ Me.USERID_FK_INT_ECMTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "USERID_FK_INT_ECM", True))
+ Me.USERID_FK_INT_ECMTextBox.Location = New System.Drawing.Point(576, 129)
+ Me.USERID_FK_INT_ECMTextBox.Name = "USERID_FK_INT_ECMTextBox"
+ Me.USERID_FK_INT_ECMTextBox.Size = New System.Drawing.Size(165, 21)
+ Me.USERID_FK_INT_ECMTextBox.TabIndex = 41
+ '
+ 'CHANGED_WHOTextBox
+ '
+ Me.CHANGED_WHOTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "CHANGED_WHO", True))
+ Me.CHANGED_WHOTextBox.Enabled = False
+ Me.CHANGED_WHOTextBox.Location = New System.Drawing.Point(576, 75)
+ Me.CHANGED_WHOTextBox.Name = "CHANGED_WHOTextBox"
+ Me.CHANGED_WHOTextBox.Size = New System.Drawing.Size(163, 21)
+ Me.CHANGED_WHOTextBox.TabIndex = 49
+ '
'PRENAMETextBox
'
Me.PRENAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "PRENAME", True))
@@ -657,6 +1025,49 @@ Partial Class frmMain
Me.PRENAMETextBox.Size = New System.Drawing.Size(109, 21)
Me.PRENAMETextBox.TabIndex = 3
'
+ 'ADDED_WHENDateTimePicker
+ '
+ Me.ADDED_WHENDateTimePicker.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "ADDED_WHEN", True))
+ Me.ADDED_WHENDateTimePicker.Enabled = False
+ Me.ADDED_WHENDateTimePicker.Location = New System.Drawing.Point(576, 50)
+ Me.ADDED_WHENDateTimePicker.Name = "ADDED_WHENDateTimePicker"
+ Me.ADDED_WHENDateTimePicker.Size = New System.Drawing.Size(163, 21)
+ Me.ADDED_WHENDateTimePicker.TabIndex = 47
+ '
+ 'EMAILTextBox
+ '
+ Me.EMAILTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "EMAIL", True))
+ Me.EMAILTextBox.Location = New System.Drawing.Point(106, 102)
+ Me.EMAILTextBox.Name = "EMAILTextBox"
+ Me.EMAILTextBox.Size = New System.Drawing.Size(109, 21)
+ Me.EMAILTextBox.TabIndex = 11
+ '
+ 'ADDED_WHOTextBox
+ '
+ Me.ADDED_WHOTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "ADDED_WHO", True))
+ Me.ADDED_WHOTextBox.Enabled = False
+ Me.ADDED_WHOTextBox.Location = New System.Drawing.Point(576, 23)
+ Me.ADDED_WHOTextBox.Name = "ADDED_WHOTextBox"
+ Me.ADDED_WHOTextBox.Size = New System.Drawing.Size(163, 21)
+ Me.ADDED_WHOTextBox.TabIndex = 45
+ '
+ 'LANGUAGETextBox
+ '
+ Me.LANGUAGETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "LANGUAGE", True))
+ Me.LANGUAGETextBox.Location = New System.Drawing.Point(347, 102)
+ Me.LANGUAGETextBox.Name = "LANGUAGETextBox"
+ Me.LANGUAGETextBox.Size = New System.Drawing.Size(109, 21)
+ Me.LANGUAGETextBox.TabIndex = 13
+ '
+ 'GUIDTextBox
+ '
+ Me.GUIDTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "GUID", True))
+ Me.GUIDTextBox.Location = New System.Drawing.Point(106, 22)
+ Me.GUIDTextBox.Name = "GUIDTextBox"
+ Me.GUIDTextBox.ReadOnly = True
+ Me.GUIDTextBox.Size = New System.Drawing.Size(109, 21)
+ Me.GUIDTextBox.TabIndex = 1
+ '
'WAN_ENVIRONMENTCheckBox
'
Me.WAN_ENVIRONMENTCheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_USERBindingSource, "WAN_ENVIRONMENT", True))
@@ -675,13 +1086,13 @@ Partial Class frmMain
Me.COMMENTTextBox.Size = New System.Drawing.Size(109, 21)
Me.COMMENTTextBox.TabIndex = 17
'
- 'SHORTNAMETextBox
+ 'NAMETextBox
'
- Me.SHORTNAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "SHORTNAME", True))
- Me.SHORTNAMETextBox.Location = New System.Drawing.Point(347, 76)
- Me.SHORTNAMETextBox.Name = "SHORTNAMETextBox"
- Me.SHORTNAMETextBox.Size = New System.Drawing.Size(109, 21)
- Me.SHORTNAMETextBox.TabIndex = 9
+ Me.NAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "NAME", True))
+ Me.NAMETextBox.Location = New System.Drawing.Point(106, 76)
+ Me.NAMETextBox.Name = "NAMETextBox"
+ Me.NAMETextBox.Size = New System.Drawing.Size(109, 21)
+ Me.NAMETextBox.TabIndex = 5
'
'USERNAMETextBox
'
@@ -691,38 +1102,86 @@ Partial Class frmMain
Me.USERNAMETextBox.Size = New System.Drawing.Size(109, 21)
Me.USERNAMETextBox.TabIndex = 7
'
- 'NAMETextBox
+ 'SHORTNAMETextBox
'
- Me.NAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "NAME", True))
- Me.NAMETextBox.Location = New System.Drawing.Point(106, 76)
- Me.NAMETextBox.Name = "NAMETextBox"
- Me.NAMETextBox.Size = New System.Drawing.Size(109, 21)
- Me.NAMETextBox.TabIndex = 5
+ Me.SHORTNAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "SHORTNAME", True))
+ Me.SHORTNAMETextBox.Location = New System.Drawing.Point(347, 76)
+ Me.SHORTNAMETextBox.Name = "SHORTNAMETextBox"
+ Me.SHORTNAMETextBox.Size = New System.Drawing.Size(109, 21)
+ Me.SHORTNAMETextBox.TabIndex = 9
'
- 'GUIDTextBox
+ 'Label12
'
- Me.GUIDTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "GUID", True))
- Me.GUIDTextBox.Location = New System.Drawing.Point(106, 22)
- Me.GUIDTextBox.Name = "GUIDTextBox"
- Me.GUIDTextBox.ReadOnly = True
- Me.GUIDTextBox.Size = New System.Drawing.Size(109, 21)
- Me.GUIDTextBox.TabIndex = 1
+ Me.Label12.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label12.Location = New System.Drawing.Point(462, 0)
+ Me.Label12.Name = "Label12"
+ Me.Label12.Size = New System.Drawing.Size(145, 35)
+ Me.Label12.TabIndex = 61
+ Me.Label12.Text = "Zugewiesene Module:"
+ Me.Label12.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
- 'LANGUAGETextBox
+ 'Label1
'
- Me.LANGUAGETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "LANGUAGE", True))
- Me.LANGUAGETextBox.Location = New System.Drawing.Point(347, 102)
- Me.LANGUAGETextBox.Name = "LANGUAGETextBox"
- Me.LANGUAGETextBox.Size = New System.Drawing.Size(109, 21)
- Me.LANGUAGETextBox.TabIndex = 13
+ Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label1.Location = New System.Drawing.Point(238, 0)
+ Me.Label1.Name = "Label1"
+ Me.Label1.Size = New System.Drawing.Size(145, 35)
+ Me.Label1.TabIndex = 61
+ Me.Label1.Text = "Zugewiesene Gruppen:"
+ Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
'
- 'EMAILTextBox
+ 'listModules
'
- Me.EMAILTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "EMAIL", True))
- Me.EMAILTextBox.Location = New System.Drawing.Point(106, 102)
- Me.EMAILTextBox.Name = "EMAILTextBox"
- Me.EMAILTextBox.Size = New System.Drawing.Size(109, 21)
- Me.EMAILTextBox.TabIndex = 11
+ Me.listModules.DataSource = Me.TBDD_MODULESBindingSource
+ Me.listModules.DisplayMember = "NAME"
+ Me.listModules.FormattingEnabled = True
+ Me.listModules.Location = New System.Drawing.Point(465, 39)
+ Me.listModules.Name = "listModules"
+ Me.listModules.SelectionMode = System.Windows.Forms.SelectionMode.None
+ Me.listModules.Size = New System.Drawing.Size(294, 134)
+ Me.listModules.TabIndex = 59
+ '
+ 'listGroups
+ '
+ Me.listGroups.DataSource = Me.TBDD_USER_GROUPSBindingSource
+ Me.listGroups.DisplayMember = "NAME"
+ Me.listGroups.FormattingEnabled = True
+ Me.listGroups.Location = New System.Drawing.Point(241, 39)
+ Me.listGroups.Name = "listGroups"
+ Me.listGroups.SelectionMode = System.Windows.Forms.SelectionMode.None
+ Me.listGroups.Size = New System.Drawing.Size(218, 134)
+ Me.listGroups.TabIndex = 59
+ '
+ 'TBDD_USER_GROUPSBindingSource
+ '
+ Me.TBDD_USER_GROUPSBindingSource.DataMember = "TBDD_USER_GROUPS"
+ Me.TBDD_USER_GROUPSBindingSource.DataSource = Me.UserDataSet
+ '
+ 'Label2
+ '
+ Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label2.Location = New System.Drawing.Point(21, 0)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(161, 35)
+ Me.Label2.TabIndex = 62
+ Me.Label2.Text = "Zugewiesene Mandanten:"
+ Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'listClients
+ '
+ Me.listClients.DataSource = Me.TBDD_CLIENTBindingSource
+ Me.listClients.DisplayMember = "CLIENT_NAME"
+ Me.listClients.FormattingEnabled = True
+ Me.listClients.Location = New System.Drawing.Point(24, 39)
+ Me.listClients.Name = "listClients"
+ Me.listClients.SelectionMode = System.Windows.Forms.SelectionMode.None
+ Me.listClients.Size = New System.Drawing.Size(211, 134)
+ Me.listClients.TabIndex = 60
+ '
+ 'TBDD_CLIENTBindingSource
+ '
+ Me.TBDD_CLIENTBindingSource.DataMember = "TBDD_CLIENT"
+ Me.TBDD_CLIENTBindingSource.DataSource = Me.UserDataSet
'
'GridUsers
'
@@ -778,106 +1237,6 @@ Partial Class frmMain
Me.colEMAIL.Visible = True
Me.colEMAIL.VisibleIndex = 3
'
- 'Label2
- '
- Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
- Me.Label2.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label2.Location = New System.Drawing.Point(0, 0)
- Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(269, 30)
- Me.Label2.TabIndex = 62
- Me.Label2.Text = "Zugewiesene Mandanten:"
- Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'CHANGED_WHENDateTimePicker
- '
- Me.CHANGED_WHENDateTimePicker.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "CHANGED_WHEN", True))
- Me.CHANGED_WHENDateTimePicker.Enabled = False
- Me.CHANGED_WHENDateTimePicker.Location = New System.Drawing.Point(162, 252)
- Me.CHANGED_WHENDateTimePicker.Name = "CHANGED_WHENDateTimePicker"
- Me.CHANGED_WHENDateTimePicker.Size = New System.Drawing.Size(163, 21)
- Me.CHANGED_WHENDateTimePicker.TabIndex = 51
- '
- 'USERID_FK_INT_ECMTextBox
- '
- Me.USERID_FK_INT_ECMTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "USERID_FK_INT_ECM", True))
- Me.USERID_FK_INT_ECMTextBox.Location = New System.Drawing.Point(162, 279)
- Me.USERID_FK_INT_ECMTextBox.Name = "USERID_FK_INT_ECMTextBox"
- Me.USERID_FK_INT_ECMTextBox.Size = New System.Drawing.Size(165, 21)
- Me.USERID_FK_INT_ECMTextBox.TabIndex = 41
- '
- 'CHANGED_WHOTextBox
- '
- Me.CHANGED_WHOTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "CHANGED_WHO", True))
- Me.CHANGED_WHOTextBox.Enabled = False
- Me.CHANGED_WHOTextBox.Location = New System.Drawing.Point(162, 225)
- Me.CHANGED_WHOTextBox.Name = "CHANGED_WHOTextBox"
- Me.CHANGED_WHOTextBox.Size = New System.Drawing.Size(163, 21)
- Me.CHANGED_WHOTextBox.TabIndex = 49
- '
- 'ADDED_WHENDateTimePicker
- '
- Me.ADDED_WHENDateTimePicker.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "ADDED_WHEN", True))
- Me.ADDED_WHENDateTimePicker.Enabled = False
- Me.ADDED_WHENDateTimePicker.Location = New System.Drawing.Point(162, 200)
- Me.ADDED_WHENDateTimePicker.Name = "ADDED_WHENDateTimePicker"
- Me.ADDED_WHENDateTimePicker.Size = New System.Drawing.Size(163, 21)
- Me.ADDED_WHENDateTimePicker.TabIndex = 47
- '
- 'ADDED_WHOTextBox
- '
- Me.ADDED_WHOTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_USERBindingSource, "ADDED_WHO", True))
- Me.ADDED_WHOTextBox.Enabled = False
- Me.ADDED_WHOTextBox.Location = New System.Drawing.Point(162, 173)
- Me.ADDED_WHOTextBox.Name = "ADDED_WHOTextBox"
- Me.ADDED_WHOTextBox.Size = New System.Drawing.Size(163, 21)
- Me.ADDED_WHOTextBox.TabIndex = 45
- '
- 'Label1
- '
- Me.Label1.Dock = System.Windows.Forms.DockStyle.Fill
- Me.Label1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label1.Location = New System.Drawing.Point(0, 0)
- Me.Label1.Name = "Label1"
- Me.Label1.Size = New System.Drawing.Size(269, 38)
- Me.Label1.TabIndex = 61
- Me.Label1.Text = "Zugewiesene Gruppen:"
- Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- '
- 'listClients
- '
- Me.listClients.DataSource = Me.TBDD_CLIENTBindingSource
- Me.listClients.DisplayMember = "CLIENT_NAME"
- Me.listClients.Dock = System.Windows.Forms.DockStyle.Bottom
- Me.listClients.FormattingEnabled = True
- Me.listClients.Location = New System.Drawing.Point(0, 30)
- Me.listClients.Name = "listClients"
- Me.listClients.SelectionMode = System.Windows.Forms.SelectionMode.None
- Me.listClients.Size = New System.Drawing.Size(269, 173)
- Me.listClients.TabIndex = 60
- '
- 'TBDD_CLIENTBindingSource
- '
- Me.TBDD_CLIENTBindingSource.DataMember = "TBDD_CLIENT"
- Me.TBDD_CLIENTBindingSource.DataSource = Me.UserDataSet
- '
- 'listGroups
- '
- Me.listGroups.DataSource = Me.TBDD_USER_GROUPSBindingSource
- Me.listGroups.DisplayMember = "NAME"
- Me.listGroups.Dock = System.Windows.Forms.DockStyle.Bottom
- Me.listGroups.FormattingEnabled = True
- Me.listGroups.Location = New System.Drawing.Point(0, 38)
- Me.listGroups.Name = "listGroups"
- Me.listGroups.SelectionMode = System.Windows.Forms.SelectionMode.None
- Me.listGroups.Size = New System.Drawing.Size(269, 134)
- Me.listGroups.TabIndex = 59
- '
- 'TBDD_USER_GROUPSBindingSource
- '
- Me.TBDD_USER_GROUPSBindingSource.DataMember = "TBDD_USER_GROUPS"
- Me.TBDD_USER_GROUPSBindingSource.DataSource = Me.UserDataSet
- '
'XtraTabControl2
'
Me.XtraTabControl2.Dock = System.Windows.Forms.DockStyle.Fill
@@ -886,7 +1245,7 @@ Partial Class frmMain
Me.XtraTabControl2.SelectedTabPage = Me.tabGroupAssign
Me.XtraTabControl2.Size = New System.Drawing.Size(1193, 376)
Me.XtraTabControl2.TabIndex = 0
- Me.XtraTabControl2.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tabGroupAssign, Me.tabClientAssign})
+ Me.XtraTabControl2.TabPages.AddRange(New DevExpress.XtraTab.XtraTabPage() {Me.tabGroupAssign, Me.tabClientAssign, Me.tabModuleAssign})
'
'tabGroupAssign
'
@@ -931,7 +1290,7 @@ Partial Class frmMain
Me.SplitContainerUserGroups2.Panel2.Controls.Add(Me.gridGroups_AvailableUsers)
Me.SplitContainerUserGroups2.Panel2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!)
Me.SplitContainerUserGroups2.Size = New System.Drawing.Size(740, 345)
- Me.SplitContainerUserGroups2.SplitterDistance = 372
+ Me.SplitContainerUserGroups2.SplitterDistance = 370
Me.SplitContainerUserGroups2.TabIndex = 0
'
'Label3
@@ -940,7 +1299,7 @@ Partial Class frmMain
Me.Label3.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label3.Location = New System.Drawing.Point(0, 0)
Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(372, 29)
+ Me.Label3.Size = New System.Drawing.Size(370, 29)
Me.Label3.TabIndex = 7
Me.Label3.Text = "Verfügbare Gruppen:"
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -952,7 +1311,7 @@ Partial Class frmMain
Me.gridGroups_AllGroups.Location = New System.Drawing.Point(0, 29)
Me.gridGroups_AllGroups.MainView = Me.gvGroups_AllGroups
Me.gridGroups_AllGroups.Name = "gridGroups_AllGroups"
- Me.gridGroups_AllGroups.Size = New System.Drawing.Size(372, 316)
+ Me.gridGroups_AllGroups.Size = New System.Drawing.Size(370, 316)
Me.gridGroups_AllGroups.TabIndex = 6
Me.gridGroups_AllGroups.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvGroups_AllGroups})
'
@@ -989,7 +1348,7 @@ Partial Class frmMain
Me.Label4.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label4.Location = New System.Drawing.Point(0, 0)
Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(364, 29)
+ Me.Label4.Size = New System.Drawing.Size(366, 29)
Me.Label4.TabIndex = 7
Me.Label4.Text = "Verfügbare Benutzer (nach Rechts ziehen, um zuzuordnen):"
Me.Label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -1001,7 +1360,7 @@ Partial Class frmMain
Me.gridGroups_AvailableUsers.Location = New System.Drawing.Point(0, 29)
Me.gridGroups_AvailableUsers.MainView = Me.gvGroups_AvailableUsers
Me.gridGroups_AvailableUsers.Name = "gridGroups_AvailableUsers"
- Me.gridGroups_AvailableUsers.Size = New System.Drawing.Size(364, 316)
+ Me.gridGroups_AvailableUsers.Size = New System.Drawing.Size(366, 316)
Me.gridGroups_AvailableUsers.TabIndex = 5
Me.gridGroups_AvailableUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvGroups_AvailableUsers, Me.GridView1})
'
@@ -1143,7 +1502,7 @@ Partial Class frmMain
'
Me.SplitContainer4.Panel2.Controls.Add(Me.SplitContainer5)
Me.SplitContainer4.Size = New System.Drawing.Size(1187, 345)
- Me.SplitContainer4.SplitterDistance = 395
+ Me.SplitContainer4.SplitterDistance = 370
Me.SplitContainer4.TabIndex = 0
'
'Label6
@@ -1152,7 +1511,7 @@ Partial Class frmMain
Me.Label6.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label6.Location = New System.Drawing.Point(0, 0)
Me.Label6.Name = "Label6"
- Me.Label6.Size = New System.Drawing.Size(395, 31)
+ Me.Label6.Size = New System.Drawing.Size(370, 31)
Me.Label6.TabIndex = 1
Me.Label6.Text = "Verfügbare Mandanten:"
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -1164,7 +1523,7 @@ Partial Class frmMain
Me.gridClients_AllClients.Location = New System.Drawing.Point(0, 31)
Me.gridClients_AllClients.MainView = Me.gvClients_AllClients
Me.gridClients_AllClients.Name = "gridClients_AllClients"
- Me.gridClients_AllClients.Size = New System.Drawing.Size(395, 314)
+ Me.gridClients_AllClients.Size = New System.Drawing.Size(370, 314)
Me.gridClients_AllClients.TabIndex = 0
Me.gridClients_AllClients.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvClients_AllClients})
'
@@ -1215,8 +1574,8 @@ Partial Class frmMain
'
Me.SplitContainer5.Panel2.Controls.Add(Me.Label8)
Me.SplitContainer5.Panel2.Controls.Add(Me.gridClients_AssignedUsers)
- Me.SplitContainer5.Size = New System.Drawing.Size(788, 345)
- Me.SplitContainer5.SplitterDistance = 372
+ Me.SplitContainer5.Size = New System.Drawing.Size(813, 345)
+ Me.SplitContainer5.SplitterDistance = 383
Me.SplitContainer5.TabIndex = 0
'
'Label7
@@ -1225,7 +1584,7 @@ Partial Class frmMain
Me.Label7.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label7.Location = New System.Drawing.Point(0, 0)
Me.Label7.Name = "Label7"
- Me.Label7.Size = New System.Drawing.Size(372, 31)
+ Me.Label7.Size = New System.Drawing.Size(383, 31)
Me.Label7.TabIndex = 2
Me.Label7.Text = "Verfügbare Benutzer (nach Rechts ziehen, um zuzuordnen):"
Me.Label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -1237,7 +1596,7 @@ Partial Class frmMain
Me.gridClients_AvailableUsers.Location = New System.Drawing.Point(0, 31)
Me.gridClients_AvailableUsers.MainView = Me.gvClients_AvailableUsers
Me.gridClients_AvailableUsers.Name = "gridClients_AvailableUsers"
- Me.gridClients_AvailableUsers.Size = New System.Drawing.Size(372, 314)
+ Me.gridClients_AvailableUsers.Size = New System.Drawing.Size(383, 314)
Me.gridClients_AvailableUsers.TabIndex = 0
Me.gridClients_AvailableUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvClients_AvailableUsers})
'
@@ -1288,7 +1647,7 @@ Partial Class frmMain
Me.Label8.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label8.Location = New System.Drawing.Point(0, 0)
Me.Label8.Name = "Label8"
- Me.Label8.Size = New System.Drawing.Size(412, 31)
+ Me.Label8.Size = New System.Drawing.Size(426, 31)
Me.Label8.TabIndex = 2
Me.Label8.Text = "Zugeordnete Benutzer (nach Links ziehen, um Zuordnung zu entfernen):"
Me.Label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
@@ -1300,7 +1659,7 @@ Partial Class frmMain
Me.gridClients_AssignedUsers.Location = New System.Drawing.Point(0, 31)
Me.gridClients_AssignedUsers.MainView = Me.gvClients_AssignedUsers
Me.gridClients_AssignedUsers.Name = "gridClients_AssignedUsers"
- Me.gridClients_AssignedUsers.Size = New System.Drawing.Size(412, 314)
+ Me.gridClients_AssignedUsers.Size = New System.Drawing.Size(426, 314)
Me.gridClients_AssignedUsers.TabIndex = 0
Me.gridClients_AssignedUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvClients_AssignedUsers})
'
@@ -1345,6 +1704,243 @@ Partial Class frmMain
Me.colEMAIL2.Visible = True
Me.colEMAIL2.VisibleIndex = 4
'
+ 'tabModuleAssign
+ '
+ Me.tabModuleAssign.Controls.Add(Me.SplitContainer6)
+ Me.tabModuleAssign.Image = Global.DDUserManager.My.Resources.Resources.key
+ Me.tabModuleAssign.Name = "tabModuleAssign"
+ Me.tabModuleAssign.Size = New System.Drawing.Size(1187, 345)
+ Me.tabModuleAssign.Text = "Modul Zuordnung"
+ '
+ 'SplitContainer6
+ '
+ Me.SplitContainer6.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainer6.Location = New System.Drawing.Point(0, 0)
+ Me.SplitContainer6.Name = "SplitContainer6"
+ '
+ 'SplitContainer6.Panel1
+ '
+ Me.SplitContainer6.Panel1.Controls.Add(Me.Label9)
+ Me.SplitContainer6.Panel1.Controls.Add(Me.gridModules_AllModules)
+ '
+ 'SplitContainer6.Panel2
+ '
+ Me.SplitContainer6.Panel2.Controls.Add(Me.SplitContainer7)
+ Me.SplitContainer6.Size = New System.Drawing.Size(1187, 345)
+ Me.SplitContainer6.SplitterDistance = 395
+ Me.SplitContainer6.TabIndex = 0
+ '
+ 'Label9
+ '
+ Me.Label9.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.Label9.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label9.Location = New System.Drawing.Point(0, 0)
+ Me.Label9.Name = "Label9"
+ Me.Label9.Size = New System.Drawing.Size(395, 29)
+ Me.Label9.TabIndex = 8
+ Me.Label9.Text = "Verfügbare Module:"
+ Me.Label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'gridModules_AllModules
+ '
+ Me.gridModules_AllModules.DataSource = Me.TBDD_MODULESBindingSource
+ Me.gridModules_AllModules.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.gridModules_AllModules.Location = New System.Drawing.Point(0, 29)
+ Me.gridModules_AllModules.MainView = Me.gvModules_AllModules
+ Me.gridModules_AllModules.Name = "gridModules_AllModules"
+ Me.gridModules_AllModules.Size = New System.Drawing.Size(395, 316)
+ Me.gridModules_AllModules.TabIndex = 7
+ Me.gridModules_AllModules.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvModules_AllModules})
+ '
+ 'TBDD_MODULESBindingSource
+ '
+ Me.TBDD_MODULESBindingSource.DataMember = "TBDD_MODULES"
+ Me.TBDD_MODULESBindingSource.DataSource = Me.UserDataSet
+ '
+ 'gvModules_AllModules
+ '
+ Me.gvModules_AllModules.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn11, Me.GridColumn12})
+ Me.gvModules_AllModules.GridControl = Me.gridModules_AllModules
+ Me.gvModules_AllModules.Name = "gvModules_AllModules"
+ Me.gvModules_AllModules.OptionsBehavior.Editable = False
+ Me.gvModules_AllModules.OptionsBehavior.ReadOnly = True
+ Me.gvModules_AllModules.OptionsDetail.EnableMasterViewMode = False
+ Me.gvModules_AllModules.OptionsView.ShowAutoFilterRow = True
+ Me.gvModules_AllModules.OptionsView.ShowGroupPanel = False
+ '
+ 'GridColumn11
+ '
+ Me.GridColumn11.Caption = "Produkt"
+ Me.GridColumn11.FieldName = "NAME"
+ Me.GridColumn11.Name = "GridColumn11"
+ Me.GridColumn11.Visible = True
+ Me.GridColumn11.VisibleIndex = 0
+ '
+ 'GridColumn12
+ '
+ Me.GridColumn12.Caption = "Kurzname"
+ Me.GridColumn12.FieldName = "SHORT_NAME"
+ Me.GridColumn12.Name = "GridColumn12"
+ Me.GridColumn12.Visible = True
+ Me.GridColumn12.VisibleIndex = 1
+ '
+ 'SplitContainer7
+ '
+ Me.SplitContainer7.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.SplitContainer7.Location = New System.Drawing.Point(0, 0)
+ Me.SplitContainer7.Name = "SplitContainer7"
+ '
+ 'SplitContainer7.Panel1
+ '
+ Me.SplitContainer7.Panel1.Controls.Add(Me.Label10)
+ Me.SplitContainer7.Panel1.Controls.Add(Me.gridModules_AvailableUsers)
+ '
+ 'SplitContainer7.Panel2
+ '
+ Me.SplitContainer7.Panel2.Controls.Add(Me.Label11)
+ Me.SplitContainer7.Panel2.Controls.Add(Me.gridModules_AssignedUsers)
+ Me.SplitContainer7.Size = New System.Drawing.Size(788, 345)
+ Me.SplitContainer7.SplitterDistance = 365
+ Me.SplitContainer7.TabIndex = 0
+ '
+ 'Label10
+ '
+ Me.Label10.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.Label10.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label10.Location = New System.Drawing.Point(0, 0)
+ Me.Label10.Name = "Label10"
+ Me.Label10.Size = New System.Drawing.Size(365, 29)
+ Me.Label10.TabIndex = 8
+ Me.Label10.Text = "Verfügbare Benutzer (nach Rechts ziehen, um zuzuordnen):"
+ Me.Label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'gridModules_AvailableUsers
+ '
+ Me.gridModules_AvailableUsers.AllowDrop = True
+ Me.gridModules_AvailableUsers.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.gridModules_AvailableUsers.Location = New System.Drawing.Point(0, 29)
+ Me.gridModules_AvailableUsers.MainView = Me.gvModules_AvailableUsers
+ Me.gridModules_AvailableUsers.Name = "gridModules_AvailableUsers"
+ Me.gridModules_AvailableUsers.Size = New System.Drawing.Size(365, 316)
+ Me.gridModules_AvailableUsers.TabIndex = 6
+ Me.gridModules_AvailableUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvModules_AvailableUsers, Me.GridView8})
+ '
+ 'gvModules_AvailableUsers
+ '
+ Me.gvModules_AvailableUsers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn13, Me.GridColumn14, Me.GridColumn15, Me.GridColumn16})
+ Me.gvModules_AvailableUsers.GridControl = Me.gridModules_AvailableUsers
+ Me.gvModules_AvailableUsers.Name = "gvModules_AvailableUsers"
+ Me.gvModules_AvailableUsers.OptionsBehavior.Editable = False
+ Me.gvModules_AvailableUsers.OptionsBehavior.ReadOnly = True
+ Me.gvModules_AvailableUsers.OptionsDetail.EnableMasterViewMode = False
+ Me.gvModules_AvailableUsers.OptionsSelection.MultiSelect = True
+ Me.gvModules_AvailableUsers.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
+ Me.gvModules_AvailableUsers.OptionsView.ShowAutoFilterRow = True
+ Me.gvModules_AvailableUsers.OptionsView.ShowGroupPanel = False
+ '
+ 'GridColumn13
+ '
+ Me.GridColumn13.FieldName = "USERNAME"
+ Me.GridColumn13.Name = "GridColumn13"
+ Me.GridColumn13.Visible = True
+ Me.GridColumn13.VisibleIndex = 4
+ '
+ 'GridColumn14
+ '
+ Me.GridColumn14.FieldName = "PRENAME"
+ Me.GridColumn14.Name = "GridColumn14"
+ Me.GridColumn14.Visible = True
+ Me.GridColumn14.VisibleIndex = 1
+ '
+ 'GridColumn15
+ '
+ Me.GridColumn15.FieldName = "NAME"
+ Me.GridColumn15.Name = "GridColumn15"
+ Me.GridColumn15.Visible = True
+ Me.GridColumn15.VisibleIndex = 2
+ '
+ 'GridColumn16
+ '
+ Me.GridColumn16.Caption = "colEmail3"
+ Me.GridColumn16.FieldName = "EMAIL"
+ Me.GridColumn16.Name = "GridColumn16"
+ Me.GridColumn16.Visible = True
+ Me.GridColumn16.VisibleIndex = 3
+ '
+ 'GridView8
+ '
+ Me.GridView8.GridControl = Me.gridModules_AvailableUsers
+ Me.GridView8.Name = "GridView8"
+ '
+ 'Label11
+ '
+ Me.Label11.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.Label11.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Label11.Location = New System.Drawing.Point(0, 0)
+ Me.Label11.Name = "Label11"
+ Me.Label11.Size = New System.Drawing.Size(419, 29)
+ Me.Label11.TabIndex = 8
+ Me.Label11.Text = "Zugeordnete Benutzer (nach Links ziehen, um Zuordnung zu entfernen):"
+ Me.Label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
+ '
+ 'gridModules_AssignedUsers
+ '
+ Me.gridModules_AssignedUsers.AllowDrop = True
+ Me.gridModules_AssignedUsers.Dock = System.Windows.Forms.DockStyle.Bottom
+ Me.gridModules_AssignedUsers.Location = New System.Drawing.Point(0, 29)
+ Me.gridModules_AssignedUsers.MainView = Me.gvModules_AssignedUsers
+ Me.gridModules_AssignedUsers.Name = "gridModules_AssignedUsers"
+ Me.gridModules_AssignedUsers.Size = New System.Drawing.Size(419, 316)
+ Me.gridModules_AssignedUsers.TabIndex = 6
+ Me.gridModules_AssignedUsers.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.gvModules_AssignedUsers, Me.GridView10})
+ '
+ 'gvModules_AssignedUsers
+ '
+ Me.gvModules_AssignedUsers.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn17, Me.GridColumn18, Me.GridColumn19, Me.GridColumn20})
+ Me.gvModules_AssignedUsers.GridControl = Me.gridModules_AssignedUsers
+ Me.gvModules_AssignedUsers.Name = "gvModules_AssignedUsers"
+ Me.gvModules_AssignedUsers.OptionsBehavior.Editable = False
+ Me.gvModules_AssignedUsers.OptionsBehavior.ReadOnly = True
+ Me.gvModules_AssignedUsers.OptionsDetail.EnableMasterViewMode = False
+ Me.gvModules_AssignedUsers.OptionsSelection.MultiSelect = True
+ Me.gvModules_AssignedUsers.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect
+ Me.gvModules_AssignedUsers.OptionsView.ShowAutoFilterRow = True
+ Me.gvModules_AssignedUsers.OptionsView.ShowGroupPanel = False
+ '
+ 'GridColumn17
+ '
+ Me.GridColumn17.FieldName = "USERNAME"
+ Me.GridColumn17.Name = "GridColumn17"
+ Me.GridColumn17.Visible = True
+ Me.GridColumn17.VisibleIndex = 4
+ '
+ 'GridColumn18
+ '
+ Me.GridColumn18.FieldName = "PRENAME"
+ Me.GridColumn18.Name = "GridColumn18"
+ Me.GridColumn18.Visible = True
+ Me.GridColumn18.VisibleIndex = 1
+ '
+ 'GridColumn19
+ '
+ Me.GridColumn19.FieldName = "NAME"
+ Me.GridColumn19.Name = "GridColumn19"
+ Me.GridColumn19.Visible = True
+ Me.GridColumn19.VisibleIndex = 2
+ '
+ 'GridColumn20
+ '
+ Me.GridColumn20.Caption = "colEmail3"
+ Me.GridColumn20.FieldName = "EMAIL"
+ Me.GridColumn20.Name = "GridColumn20"
+ Me.GridColumn20.Visible = True
+ Me.GridColumn20.VisibleIndex = 3
+ '
+ 'GridView10
+ '
+ Me.GridView10.GridControl = Me.gridModules_AssignedUsers
+ Me.GridView10.Name = "GridView10"
+ '
'TBDD_USERBindingNavigator
'
Me.TBDD_USERBindingNavigator.AddNewItem = Me.BindingNavigatorAddNewItem
@@ -1460,7 +2056,7 @@ Partial Class frmMain
'ToolStripButton1
'
Me.ToolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
- Me.ToolStripButton1.Image = CType(resources.GetObject("ToolStripButton1.Image"), System.Drawing.Image)
+ Me.ToolStripButton1.Image = Global.DDUserManager.My.Resources.Resources.user_add
Me.ToolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta
Me.ToolStripButton1.Name = "ToolStripButton1"
Me.ToolStripButton1.Size = New System.Drawing.Size(150, 22)
@@ -1982,6 +2578,343 @@ Partial Class frmMain
Me.GUIDTextBox2.Size = New System.Drawing.Size(100, 21)
Me.GUIDTextBox2.TabIndex = 1
'
+ 'tabPageModules
+ '
+ Me.tabPageModules.Controls.Add(Me.gridModules)
+ Me.tabPageModules.Controls.Add(Me.TBDD_MODULESBindingNavigator)
+ Me.tabPageModules.Controls.Add(GUIDLabel3)
+ Me.tabPageModules.Controls.Add(Me.GUIDTextBox3)
+ Me.tabPageModules.Controls.Add(NAMELabel2)
+ Me.tabPageModules.Controls.Add(Me.NAMETextBox2)
+ Me.tabPageModules.Controls.Add(SHORT_NAMELabel)
+ Me.tabPageModules.Controls.Add(Me.SHORT_NAMETextBox)
+ Me.tabPageModules.Controls.Add(LICENSELabel)
+ Me.tabPageModules.Controls.Add(Me.LICENSETextBox)
+ Me.tabPageModules.Controls.Add(PRODUCT_VERSIONLabel)
+ Me.tabPageModules.Controls.Add(Me.PRODUCT_VERSIONTextBox)
+ Me.tabPageModules.Controls.Add(ACTIVELabel)
+ Me.tabPageModules.Controls.Add(Me.ACTIVECheckBox)
+ Me.tabPageModules.Controls.Add(VERSION_DELIMITERLabel)
+ Me.tabPageModules.Controls.Add(Me.VERSION_DELIMITERTextBox)
+ Me.tabPageModules.Controls.Add(FILE_DELIMITERLabel)
+ Me.tabPageModules.Controls.Add(Me.FILE_DELIMITERTextBox)
+ Me.tabPageModules.Controls.Add(BIT1Label)
+ Me.tabPageModules.Controls.Add(Me.BIT1CheckBox)
+ Me.tabPageModules.Controls.Add(BIT2Label)
+ Me.tabPageModules.Controls.Add(Me.BIT2CheckBox)
+ Me.tabPageModules.Controls.Add(STRING1Label)
+ Me.tabPageModules.Controls.Add(Me.STRING1TextBox)
+ Me.tabPageModules.Controls.Add(STRING2Label)
+ Me.tabPageModules.Controls.Add(Me.STRING2TextBox)
+ Me.tabPageModules.Controls.Add(PRODUCT_NAME1Label)
+ Me.tabPageModules.Controls.Add(Me.PRODUCT_NAME1TextBox)
+ Me.tabPageModules.Controls.Add(PRODUCT_NAME2Label)
+ Me.tabPageModules.Controls.Add(Me.PRODUCT_NAME2TextBox)
+ Me.tabPageModules.Controls.Add(VERSION_UPATE_PATHLabel)
+ Me.tabPageModules.Controls.Add(Me.VERSION_UPATE_PATHTextBox)
+ Me.tabPageModules.Controls.Add(ADDED_WHOLabel3)
+ Me.tabPageModules.Controls.Add(Me.ADDED_WHOTextBox3)
+ Me.tabPageModules.Controls.Add(ADDED_WHENLabel3)
+ Me.tabPageModules.Controls.Add(Me.ADDED_WHENDateTimePicker3)
+ Me.tabPageModules.Controls.Add(CHANGED_WHOLabel3)
+ Me.tabPageModules.Controls.Add(Me.CHANGED_WHOTextBox3)
+ Me.tabPageModules.Controls.Add(CHANGED_WHENLabel3)
+ Me.tabPageModules.Controls.Add(Me.CHANGED_WHENDateTimePicker3)
+ Me.tabPageModules.Image = Global.DDUserManager.My.Resources.Resources.key
+ Me.tabPageModules.Name = "tabPageModules"
+ Me.tabPageModules.Size = New System.Drawing.Size(1193, 784)
+ Me.tabPageModules.Text = "Module"
+ '
+ 'gridModules
+ '
+ Me.gridModules.DataSource = Me.TBDD_MODULESBindingSource
+ Me.gridModules.Dock = System.Windows.Forms.DockStyle.Right
+ Me.gridModules.Location = New System.Drawing.Point(793, 25)
+ Me.gridModules.MainView = Me.GridView5
+ Me.gridModules.Name = "gridModules"
+ Me.gridModules.Size = New System.Drawing.Size(400, 759)
+ Me.gridModules.TabIndex = 39
+ Me.gridModules.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView5})
+ '
+ 'GridView5
+ '
+ Me.GridView5.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn8, Me.GridColumn9, Me.GridColumn10})
+ Me.GridView5.GridControl = Me.gridModules
+ Me.GridView5.Name = "GridView5"
+ Me.GridView5.OptionsBehavior.Editable = False
+ Me.GridView5.OptionsBehavior.ReadOnly = True
+ Me.GridView5.OptionsDetail.EnableMasterViewMode = False
+ Me.GridView5.OptionsView.ShowAutoFilterRow = True
+ Me.GridView5.OptionsView.ShowGroupPanel = False
+ '
+ 'GridColumn8
+ '
+ Me.GridColumn8.Caption = "Produkt"
+ Me.GridColumn8.FieldName = "NAME"
+ Me.GridColumn8.Name = "GridColumn8"
+ Me.GridColumn8.Visible = True
+ Me.GridColumn8.VisibleIndex = 0
+ '
+ 'GridColumn9
+ '
+ Me.GridColumn9.Caption = "Kurzname"
+ Me.GridColumn9.FieldName = "SHORT_NAME"
+ Me.GridColumn9.Name = "GridColumn9"
+ Me.GridColumn9.Visible = True
+ Me.GridColumn9.VisibleIndex = 2
+ '
+ 'GridColumn10
+ '
+ Me.GridColumn10.Caption = "Version"
+ Me.GridColumn10.FieldName = "PRODUCT_VERSION"
+ Me.GridColumn10.Name = "GridColumn10"
+ Me.GridColumn10.Visible = True
+ Me.GridColumn10.VisibleIndex = 1
+ '
+ 'TBDD_MODULESBindingNavigator
+ '
+ Me.TBDD_MODULESBindingNavigator.AddNewItem = Nothing
+ Me.TBDD_MODULESBindingNavigator.BindingSource = Me.TBDD_MODULESBindingSource
+ Me.TBDD_MODULESBindingNavigator.CountItem = Me.BindingNavigatorCountItem3
+ Me.TBDD_MODULESBindingNavigator.CountItemFormat = "von {0} Modulen"
+ Me.TBDD_MODULESBindingNavigator.DeleteItem = Nothing
+ Me.TBDD_MODULESBindingNavigator.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BindingNavigatorMoveFirstItem3, Me.BindingNavigatorMovePreviousItem3, Me.BindingNavigatorSeparator9, Me.BindingNavigatorPositionItem3, Me.BindingNavigatorCountItem3, Me.BindingNavigatorSeparator10, Me.BindingNavigatorMoveNextItem3, Me.BindingNavigatorMoveLastItem3, Me.BindingNavigatorSeparator11})
+ Me.TBDD_MODULESBindingNavigator.Location = New System.Drawing.Point(0, 0)
+ Me.TBDD_MODULESBindingNavigator.MoveFirstItem = Me.BindingNavigatorMoveFirstItem3
+ Me.TBDD_MODULESBindingNavigator.MoveLastItem = Me.BindingNavigatorMoveLastItem3
+ Me.TBDD_MODULESBindingNavigator.MoveNextItem = Me.BindingNavigatorMoveNextItem3
+ Me.TBDD_MODULESBindingNavigator.MovePreviousItem = Me.BindingNavigatorMovePreviousItem3
+ Me.TBDD_MODULESBindingNavigator.Name = "TBDD_MODULESBindingNavigator"
+ Me.TBDD_MODULESBindingNavigator.PositionItem = Me.BindingNavigatorPositionItem3
+ Me.TBDD_MODULESBindingNavigator.Size = New System.Drawing.Size(1193, 25)
+ Me.TBDD_MODULESBindingNavigator.TabIndex = 38
+ Me.TBDD_MODULESBindingNavigator.Text = "BindingNavigator1"
+ '
+ 'BindingNavigatorCountItem3
+ '
+ Me.BindingNavigatorCountItem3.Name = "BindingNavigatorCountItem3"
+ Me.BindingNavigatorCountItem3.Size = New System.Drawing.Size(95, 22)
+ Me.BindingNavigatorCountItem3.Text = "von {0} Modulen"
+ Me.BindingNavigatorCountItem3.ToolTipText = "Die Gesamtanzahl der Elemente."
+ '
+ 'BindingNavigatorMoveFirstItem3
+ '
+ Me.BindingNavigatorMoveFirstItem3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BindingNavigatorMoveFirstItem3.Image = CType(resources.GetObject("BindingNavigatorMoveFirstItem3.Image"), System.Drawing.Image)
+ Me.BindingNavigatorMoveFirstItem3.Name = "BindingNavigatorMoveFirstItem3"
+ Me.BindingNavigatorMoveFirstItem3.RightToLeftAutoMirrorImage = True
+ Me.BindingNavigatorMoveFirstItem3.Size = New System.Drawing.Size(23, 22)
+ Me.BindingNavigatorMoveFirstItem3.Text = "Erste verschieben"
+ '
+ 'BindingNavigatorMovePreviousItem3
+ '
+ Me.BindingNavigatorMovePreviousItem3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BindingNavigatorMovePreviousItem3.Image = CType(resources.GetObject("BindingNavigatorMovePreviousItem3.Image"), System.Drawing.Image)
+ Me.BindingNavigatorMovePreviousItem3.Name = "BindingNavigatorMovePreviousItem3"
+ Me.BindingNavigatorMovePreviousItem3.RightToLeftAutoMirrorImage = True
+ Me.BindingNavigatorMovePreviousItem3.Size = New System.Drawing.Size(23, 22)
+ Me.BindingNavigatorMovePreviousItem3.Text = "Vorherige verschieben"
+ '
+ 'BindingNavigatorSeparator9
+ '
+ Me.BindingNavigatorSeparator9.Name = "BindingNavigatorSeparator9"
+ Me.BindingNavigatorSeparator9.Size = New System.Drawing.Size(6, 25)
+ '
+ 'BindingNavigatorPositionItem3
+ '
+ Me.BindingNavigatorPositionItem3.AccessibleName = "Position"
+ Me.BindingNavigatorPositionItem3.AutoSize = False
+ Me.BindingNavigatorPositionItem3.Name = "BindingNavigatorPositionItem3"
+ Me.BindingNavigatorPositionItem3.Size = New System.Drawing.Size(50, 23)
+ Me.BindingNavigatorPositionItem3.Text = "0"
+ Me.BindingNavigatorPositionItem3.ToolTipText = "Aktuelle Position"
+ '
+ 'BindingNavigatorSeparator10
+ '
+ Me.BindingNavigatorSeparator10.Name = "BindingNavigatorSeparator10"
+ Me.BindingNavigatorSeparator10.Size = New System.Drawing.Size(6, 25)
+ '
+ 'BindingNavigatorMoveNextItem3
+ '
+ Me.BindingNavigatorMoveNextItem3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BindingNavigatorMoveNextItem3.Image = CType(resources.GetObject("BindingNavigatorMoveNextItem3.Image"), System.Drawing.Image)
+ Me.BindingNavigatorMoveNextItem3.Name = "BindingNavigatorMoveNextItem3"
+ Me.BindingNavigatorMoveNextItem3.RightToLeftAutoMirrorImage = True
+ Me.BindingNavigatorMoveNextItem3.Size = New System.Drawing.Size(23, 22)
+ Me.BindingNavigatorMoveNextItem3.Text = "Nächste verschieben"
+ '
+ 'BindingNavigatorMoveLastItem3
+ '
+ Me.BindingNavigatorMoveLastItem3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
+ Me.BindingNavigatorMoveLastItem3.Image = CType(resources.GetObject("BindingNavigatorMoveLastItem3.Image"), System.Drawing.Image)
+ Me.BindingNavigatorMoveLastItem3.Name = "BindingNavigatorMoveLastItem3"
+ Me.BindingNavigatorMoveLastItem3.RightToLeftAutoMirrorImage = True
+ Me.BindingNavigatorMoveLastItem3.Size = New System.Drawing.Size(23, 22)
+ Me.BindingNavigatorMoveLastItem3.Text = "Letzte verschieben"
+ '
+ 'BindingNavigatorSeparator11
+ '
+ Me.BindingNavigatorSeparator11.Name = "BindingNavigatorSeparator11"
+ Me.BindingNavigatorSeparator11.Size = New System.Drawing.Size(6, 25)
+ '
+ 'GUIDTextBox3
+ '
+ Me.GUIDTextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "GUID", True))
+ Me.GUIDTextBox3.Location = New System.Drawing.Point(171, 59)
+ Me.GUIDTextBox3.Name = "GUIDTextBox3"
+ Me.GUIDTextBox3.Size = New System.Drawing.Size(200, 21)
+ Me.GUIDTextBox3.TabIndex = 1
+ '
+ 'NAMETextBox2
+ '
+ Me.NAMETextBox2.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "NAME", True))
+ Me.NAMETextBox2.Location = New System.Drawing.Point(171, 86)
+ Me.NAMETextBox2.Name = "NAMETextBox2"
+ Me.NAMETextBox2.Size = New System.Drawing.Size(200, 21)
+ Me.NAMETextBox2.TabIndex = 3
+ '
+ 'SHORT_NAMETextBox
+ '
+ Me.SHORT_NAMETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "SHORT_NAME", True))
+ Me.SHORT_NAMETextBox.Location = New System.Drawing.Point(171, 113)
+ Me.SHORT_NAMETextBox.Name = "SHORT_NAMETextBox"
+ Me.SHORT_NAMETextBox.Size = New System.Drawing.Size(200, 21)
+ Me.SHORT_NAMETextBox.TabIndex = 5
+ '
+ 'LICENSETextBox
+ '
+ Me.LICENSETextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "LICENSE", True))
+ Me.LICENSETextBox.Location = New System.Drawing.Point(171, 140)
+ Me.LICENSETextBox.Name = "LICENSETextBox"
+ Me.LICENSETextBox.Size = New System.Drawing.Size(200, 21)
+ Me.LICENSETextBox.TabIndex = 7
+ '
+ 'PRODUCT_VERSIONTextBox
+ '
+ Me.PRODUCT_VERSIONTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "PRODUCT_VERSION", True))
+ Me.PRODUCT_VERSIONTextBox.Location = New System.Drawing.Point(171, 167)
+ Me.PRODUCT_VERSIONTextBox.Name = "PRODUCT_VERSIONTextBox"
+ Me.PRODUCT_VERSIONTextBox.Size = New System.Drawing.Size(200, 21)
+ Me.PRODUCT_VERSIONTextBox.TabIndex = 9
+ '
+ 'ACTIVECheckBox
+ '
+ Me.ACTIVECheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_MODULESBindingSource, "ACTIVE", True))
+ Me.ACTIVECheckBox.Location = New System.Drawing.Point(171, 194)
+ Me.ACTIVECheckBox.Name = "ACTIVECheckBox"
+ Me.ACTIVECheckBox.Size = New System.Drawing.Size(200, 24)
+ Me.ACTIVECheckBox.TabIndex = 11
+ Me.ACTIVECheckBox.Text = "CheckBox1"
+ Me.ACTIVECheckBox.UseVisualStyleBackColor = True
+ '
+ 'VERSION_DELIMITERTextBox
+ '
+ Me.VERSION_DELIMITERTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "VERSION_DELIMITER", True))
+ Me.VERSION_DELIMITERTextBox.Location = New System.Drawing.Point(171, 224)
+ Me.VERSION_DELIMITERTextBox.Name = "VERSION_DELIMITERTextBox"
+ Me.VERSION_DELIMITERTextBox.Size = New System.Drawing.Size(200, 21)
+ Me.VERSION_DELIMITERTextBox.TabIndex = 13
+ '
+ 'FILE_DELIMITERTextBox
+ '
+ Me.FILE_DELIMITERTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "FILE_DELIMITER", True))
+ Me.FILE_DELIMITERTextBox.Location = New System.Drawing.Point(171, 251)
+ Me.FILE_DELIMITERTextBox.Name = "FILE_DELIMITERTextBox"
+ Me.FILE_DELIMITERTextBox.Size = New System.Drawing.Size(200, 21)
+ Me.FILE_DELIMITERTextBox.TabIndex = 15
+ '
+ 'BIT1CheckBox
+ '
+ Me.BIT1CheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_MODULESBindingSource, "BIT1", True))
+ Me.BIT1CheckBox.Location = New System.Drawing.Point(171, 278)
+ Me.BIT1CheckBox.Name = "BIT1CheckBox"
+ Me.BIT1CheckBox.Size = New System.Drawing.Size(200, 24)
+ Me.BIT1CheckBox.TabIndex = 17
+ Me.BIT1CheckBox.Text = "CheckBox1"
+ Me.BIT1CheckBox.UseVisualStyleBackColor = True
+ '
+ 'BIT2CheckBox
+ '
+ Me.BIT2CheckBox.DataBindings.Add(New System.Windows.Forms.Binding("CheckState", Me.TBDD_MODULESBindingSource, "BIT2", True))
+ Me.BIT2CheckBox.Location = New System.Drawing.Point(171, 308)
+ Me.BIT2CheckBox.Name = "BIT2CheckBox"
+ Me.BIT2CheckBox.Size = New System.Drawing.Size(200, 24)
+ Me.BIT2CheckBox.TabIndex = 19
+ Me.BIT2CheckBox.Text = "CheckBox1"
+ Me.BIT2CheckBox.UseVisualStyleBackColor = True
+ '
+ 'STRING1TextBox
+ '
+ Me.STRING1TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "STRING1", True))
+ Me.STRING1TextBox.Location = New System.Drawing.Point(171, 338)
+ Me.STRING1TextBox.Name = "STRING1TextBox"
+ Me.STRING1TextBox.Size = New System.Drawing.Size(200, 21)
+ Me.STRING1TextBox.TabIndex = 21
+ '
+ 'STRING2TextBox
+ '
+ Me.STRING2TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "STRING2", True))
+ Me.STRING2TextBox.Location = New System.Drawing.Point(171, 365)
+ Me.STRING2TextBox.Name = "STRING2TextBox"
+ Me.STRING2TextBox.Size = New System.Drawing.Size(200, 21)
+ Me.STRING2TextBox.TabIndex = 23
+ '
+ 'PRODUCT_NAME1TextBox
+ '
+ Me.PRODUCT_NAME1TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "PRODUCT_NAME1", True))
+ Me.PRODUCT_NAME1TextBox.Location = New System.Drawing.Point(171, 392)
+ Me.PRODUCT_NAME1TextBox.Name = "PRODUCT_NAME1TextBox"
+ Me.PRODUCT_NAME1TextBox.Size = New System.Drawing.Size(200, 21)
+ Me.PRODUCT_NAME1TextBox.TabIndex = 25
+ '
+ 'PRODUCT_NAME2TextBox
+ '
+ Me.PRODUCT_NAME2TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "PRODUCT_NAME2", True))
+ Me.PRODUCT_NAME2TextBox.Location = New System.Drawing.Point(171, 419)
+ Me.PRODUCT_NAME2TextBox.Name = "PRODUCT_NAME2TextBox"
+ Me.PRODUCT_NAME2TextBox.Size = New System.Drawing.Size(200, 21)
+ Me.PRODUCT_NAME2TextBox.TabIndex = 27
+ '
+ 'VERSION_UPATE_PATHTextBox
+ '
+ Me.VERSION_UPATE_PATHTextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "VERSION_UPATE_PATH", True))
+ Me.VERSION_UPATE_PATHTextBox.Location = New System.Drawing.Point(171, 446)
+ Me.VERSION_UPATE_PATHTextBox.Name = "VERSION_UPATE_PATHTextBox"
+ Me.VERSION_UPATE_PATHTextBox.Size = New System.Drawing.Size(200, 21)
+ Me.VERSION_UPATE_PATHTextBox.TabIndex = 29
+ '
+ 'ADDED_WHOTextBox3
+ '
+ Me.ADDED_WHOTextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "ADDED_WHO", True))
+ Me.ADDED_WHOTextBox3.Location = New System.Drawing.Point(171, 473)
+ Me.ADDED_WHOTextBox3.Name = "ADDED_WHOTextBox3"
+ Me.ADDED_WHOTextBox3.Size = New System.Drawing.Size(200, 21)
+ Me.ADDED_WHOTextBox3.TabIndex = 31
+ '
+ 'ADDED_WHENDateTimePicker3
+ '
+ Me.ADDED_WHENDateTimePicker3.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "ADDED_WHEN", True))
+ Me.ADDED_WHENDateTimePicker3.Location = New System.Drawing.Point(171, 500)
+ Me.ADDED_WHENDateTimePicker3.Name = "ADDED_WHENDateTimePicker3"
+ Me.ADDED_WHENDateTimePicker3.Size = New System.Drawing.Size(200, 21)
+ Me.ADDED_WHENDateTimePicker3.TabIndex = 33
+ '
+ 'CHANGED_WHOTextBox3
+ '
+ Me.CHANGED_WHOTextBox3.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "CHANGED_WHO", True))
+ Me.CHANGED_WHOTextBox3.Location = New System.Drawing.Point(171, 527)
+ Me.CHANGED_WHOTextBox3.Name = "CHANGED_WHOTextBox3"
+ Me.CHANGED_WHOTextBox3.Size = New System.Drawing.Size(200, 21)
+ Me.CHANGED_WHOTextBox3.TabIndex = 35
+ '
+ 'CHANGED_WHENDateTimePicker3
+ '
+ Me.CHANGED_WHENDateTimePicker3.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.TBDD_MODULESBindingSource, "CHANGED_WHEN", True))
+ Me.CHANGED_WHENDateTimePicker3.Location = New System.Drawing.Point(171, 554)
+ Me.CHANGED_WHENDateTimePicker3.Name = "CHANGED_WHENDateTimePicker3"
+ Me.CHANGED_WHENDateTimePicker3.Size = New System.Drawing.Size(200, 21)
+ Me.CHANGED_WHENDateTimePicker3.TabIndex = 37
+ '
'TBDD_GROUPS_USERBindingSource
'
Me.TBDD_GROUPS_USERBindingSource.DataMember = "FK_TBDD_GROUPS_USER_USER_ID"
@@ -2020,6 +2953,14 @@ Partial Class frmMain
'
Me.TBDD_USER_GROUPSTableAdapter.ClearBeforeFill = True
'
+ 'TBDD_CLIENTTableAdapter
+ '
+ Me.TBDD_CLIENTTableAdapter.ClearBeforeFill = True
+ '
+ 'TBDD_MODULESTableAdapter
+ '
+ Me.TBDD_MODULESTableAdapter.ClearBeforeFill = True
+ '
'TBDD_USER_MODULESBindingSource
'
Me.TBDD_USER_MODULESBindingSource.DataMember = "TBDD_USER_MODULES"
@@ -2029,84 +2970,15 @@ Partial Class frmMain
'
Me.TBDD_USER_MODULESTableAdapter.ClearBeforeFill = True
'
- 'TBDD_CLIENTTableAdapter
- '
- Me.TBDD_CLIENTTableAdapter.ClearBeforeFill = True
- '
- 'SplitContainer2
- '
- Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill
- Me.SplitContainer2.Location = New System.Drawing.Point(0, 0)
- Me.SplitContainer2.Name = "SplitContainer2"
- '
- 'SplitContainer2.Panel1
- '
- Me.SplitContainer2.Panel1.Controls.Add(ADDED_WHOLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.CHANGED_WHENDateTimePicker)
- Me.SplitContainer2.Panel1.Controls.Add(GUIDLabel)
- Me.SplitContainer2.Panel1.Controls.Add(CHANGED_WHENLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.DATE_FORMATTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(USERID_FK_INT_ECMLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.USERID_FK_INT_ECMTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(DATE_FORMATLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.CHANGED_WHOTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(Me.PRENAMETextBox)
- Me.SplitContainer2.Panel1.Controls.Add(CHANGED_WHOLabel)
- Me.SplitContainer2.Panel1.Controls.Add(LANGUAGELabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.ADDED_WHENDateTimePicker)
- Me.SplitContainer2.Panel1.Controls.Add(NAMELabel)
- Me.SplitContainer2.Panel1.Controls.Add(ADDED_WHENLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.EMAILTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(Me.ADDED_WHOTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(WAN_ENVIRONMENTLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.LANGUAGETextBox)
- Me.SplitContainer2.Panel1.Controls.Add(COMMENTLabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.GUIDTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(Me.WAN_ENVIRONMENTCheckBox)
- Me.SplitContainer2.Panel1.Controls.Add(EMAILLabel)
- Me.SplitContainer2.Panel1.Controls.Add(USERNAMELabel)
- Me.SplitContainer2.Panel1.Controls.Add(SHORTNAMELabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.COMMENTTextBox)
- Me.SplitContainer2.Panel1.Controls.Add(Me.NAMETextBox)
- Me.SplitContainer2.Panel1.Controls.Add(PRENAMELabel)
- Me.SplitContainer2.Panel1.Controls.Add(Me.USERNAMETextBox)
- Me.SplitContainer2.Panel1.Controls.Add(Me.SHORTNAMETextBox)
- '
- 'SplitContainer2.Panel2
- '
- Me.SplitContainer2.Panel2.Controls.Add(Me.SplitContainer3)
- Me.SplitContainer2.Size = New System.Drawing.Size(765, 379)
- Me.SplitContainer2.SplitterDistance = 492
- Me.SplitContainer2.TabIndex = 63
- '
- 'SplitContainer3
- '
- Me.SplitContainer3.Dock = System.Windows.Forms.DockStyle.Fill
- Me.SplitContainer3.Location = New System.Drawing.Point(0, 0)
- Me.SplitContainer3.Name = "SplitContainer3"
- Me.SplitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal
- '
- 'SplitContainer3.Panel1
- '
- Me.SplitContainer3.Panel1.Controls.Add(Me.Label1)
- Me.SplitContainer3.Panel1.Controls.Add(Me.listGroups)
- '
- 'SplitContainer3.Panel2
- '
- Me.SplitContainer3.Panel2.Controls.Add(Me.Label2)
- Me.SplitContainer3.Panel2.Controls.Add(Me.listClients)
- Me.SplitContainer3.Size = New System.Drawing.Size(269, 379)
- Me.SplitContainer3.SplitterDistance = 172
- Me.SplitContainer3.TabIndex = 0
- '
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(1199, 815)
Me.Controls.Add(Me.XtraTabControl1)
+ Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmMain"
- Me.Text = "Form1"
+ Me.Text = "User Manager"
CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl1.ResumeLayout(False)
Me.tabPageUsers.ResumeLayout(False)
@@ -2115,12 +2987,17 @@ Partial Class frmMain
Me.SplitContainer1.Panel2.ResumeLayout(False)
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainer1.ResumeLayout(False)
+ Me.SplitContainer2.Panel1.ResumeLayout(False)
+ Me.SplitContainer2.Panel1.PerformLayout()
+ Me.SplitContainer2.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer2.ResumeLayout(False)
CType(Me.TBDD_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.UserDataSet, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TBDD_USER_GROUPSBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TBDD_CLIENTBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.gvUsers, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.TBDD_CLIENTBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
- CType(Me.TBDD_USER_GROUPSBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.XtraTabControl2, System.ComponentModel.ISupportInitialize).EndInit()
Me.XtraTabControl2.ResumeLayout(False)
Me.tabGroupAssign.ResumeLayout(False)
@@ -2155,6 +3032,24 @@ Partial Class frmMain
CType(Me.gvClients_AvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.gridClients_AssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.gvClients_AssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.tabModuleAssign.ResumeLayout(False)
+ Me.SplitContainer6.Panel1.ResumeLayout(False)
+ Me.SplitContainer6.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer6, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer6.ResumeLayout(False)
+ CType(Me.gridModules_AllModules, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TBDD_MODULESBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.gvModules_AllModules, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer7.Panel1.ResumeLayout(False)
+ Me.SplitContainer7.Panel2.ResumeLayout(False)
+ CType(Me.SplitContainer7, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.SplitContainer7.ResumeLayout(False)
+ CType(Me.gridModules_AvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.gvModules_AvailableUsers, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridView8, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.gridModules_AssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.gvModules_AssignedUsers, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridView10, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBDD_USERBindingNavigator, System.ComponentModel.ISupportInitialize).EndInit()
Me.TBDD_USERBindingNavigator.ResumeLayout(False)
Me.TBDD_USERBindingNavigator.PerformLayout()
@@ -2180,18 +3075,16 @@ Partial Class frmMain
Me.GroupBox6.PerformLayout()
Me.GroupBox5.ResumeLayout(False)
Me.GroupBox5.PerformLayout()
+ Me.tabPageModules.ResumeLayout(False)
+ Me.tabPageModules.PerformLayout()
+ CType(Me.gridModules, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridView5, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.TBDD_MODULESBindingNavigator, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.TBDD_MODULESBindingNavigator.ResumeLayout(False)
+ Me.TBDD_MODULESBindingNavigator.PerformLayout()
CType(Me.TBDD_GROUPS_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBDD_CLIENT_USERBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBDD_USER_MODULESBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
- Me.SplitContainer2.Panel1.ResumeLayout(False)
- Me.SplitContainer2.Panel1.PerformLayout()
- Me.SplitContainer2.Panel2.ResumeLayout(False)
- CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit()
- Me.SplitContainer2.ResumeLayout(False)
- Me.SplitContainer3.Panel1.ResumeLayout(False)
- Me.SplitContainer3.Panel2.ResumeLayout(False)
- CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).EndInit()
- Me.SplitContainer3.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
@@ -2248,8 +3141,6 @@ Partial Class frmMain
Friend WithEvents TBDD_CLIENT_USERTableAdapter As UserDataSetTableAdapters.TBDD_CLIENT_USERTableAdapter
Friend WithEvents TBDD_USER_GROUPSBindingSource As BindingSource
Friend WithEvents TBDD_USER_GROUPSTableAdapter As UserDataSetTableAdapters.TBDD_USER_GROUPSTableAdapter
- Friend WithEvents TBDD_USER_MODULESBindingSource As BindingSource
- Friend WithEvents TBDD_USER_MODULESTableAdapter As UserDataSetTableAdapters.TBDD_USER_MODULESTableAdapter
Friend WithEvents TBDD_CLIENTBindingSource As BindingSource
Friend WithEvents TBDD_CLIENTTableAdapter As UserDataSetTableAdapters.TBDD_CLIENTTableAdapter
Friend WithEvents TBDD_USER_GROUPSBindingNavigator As BindingNavigator
@@ -2357,5 +3248,69 @@ Partial Class frmMain
Friend WithEvents TBDD_USER_GROUPSBindingNavigatorSaveItem As ToolStripButton
Friend WithEvents TBDD_CLIENTBindingNavigatorSaveItem As ToolStripButton
Friend WithEvents SplitContainer2 As SplitContainer
- Friend WithEvents SplitContainer3 As SplitContainer
+ Friend WithEvents tabPageModules As DevExpress.XtraTab.XtraTabPage
+ Friend WithEvents TBDD_MODULESBindingSource As BindingSource
+ Friend WithEvents TBDD_MODULESTableAdapter As UserDataSetTableAdapters.TBDD_MODULESTableAdapter
+ Friend WithEvents TBDD_MODULESBindingNavigator As BindingNavigator
+ Friend WithEvents BindingNavigatorCountItem3 As ToolStripLabel
+ Friend WithEvents BindingNavigatorMoveFirstItem3 As ToolStripButton
+ Friend WithEvents BindingNavigatorMovePreviousItem3 As ToolStripButton
+ Friend WithEvents BindingNavigatorSeparator9 As ToolStripSeparator
+ Friend WithEvents BindingNavigatorPositionItem3 As ToolStripTextBox
+ Friend WithEvents BindingNavigatorSeparator10 As ToolStripSeparator
+ Friend WithEvents BindingNavigatorMoveNextItem3 As ToolStripButton
+ Friend WithEvents BindingNavigatorMoveLastItem3 As ToolStripButton
+ Friend WithEvents BindingNavigatorSeparator11 As ToolStripSeparator
+ Friend WithEvents GUIDTextBox3 As TextBox
+ Friend WithEvents NAMETextBox2 As TextBox
+ Friend WithEvents SHORT_NAMETextBox As TextBox
+ Friend WithEvents LICENSETextBox As TextBox
+ Friend WithEvents PRODUCT_VERSIONTextBox As TextBox
+ Friend WithEvents ACTIVECheckBox As CheckBox
+ Friend WithEvents VERSION_DELIMITERTextBox As TextBox
+ Friend WithEvents FILE_DELIMITERTextBox As TextBox
+ Friend WithEvents BIT1CheckBox As CheckBox
+ Friend WithEvents BIT2CheckBox As CheckBox
+ Friend WithEvents STRING1TextBox As TextBox
+ Friend WithEvents STRING2TextBox As TextBox
+ Friend WithEvents PRODUCT_NAME1TextBox As TextBox
+ Friend WithEvents PRODUCT_NAME2TextBox As TextBox
+ Friend WithEvents VERSION_UPATE_PATHTextBox As TextBox
+ Friend WithEvents ADDED_WHOTextBox3 As TextBox
+ Friend WithEvents ADDED_WHENDateTimePicker3 As DateTimePicker
+ Friend WithEvents CHANGED_WHOTextBox3 As TextBox
+ Friend WithEvents CHANGED_WHENDateTimePicker3 As DateTimePicker
+ Friend WithEvents gridModules As DevExpress.XtraGrid.GridControl
+ Friend WithEvents GridView5 As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents GridColumn8 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn9 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn10 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents tabModuleAssign As DevExpress.XtraTab.XtraTabPage
+ Friend WithEvents SplitContainer6 As SplitContainer
+ Friend WithEvents Label9 As Label
+ Friend WithEvents gridModules_AllModules As DevExpress.XtraGrid.GridControl
+ Friend WithEvents gvModules_AllModules As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents GridColumn11 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn12 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents SplitContainer7 As SplitContainer
+ Friend WithEvents Label10 As Label
+ Friend WithEvents gridModules_AvailableUsers As DevExpress.XtraGrid.GridControl
+ Friend WithEvents gvModules_AvailableUsers As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents GridColumn13 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn14 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn15 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn16 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridView8 As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents Label11 As Label
+ Friend WithEvents gridModules_AssignedUsers As DevExpress.XtraGrid.GridControl
+ Friend WithEvents gvModules_AssignedUsers As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents GridColumn17 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn18 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn19 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridColumn20 As DevExpress.XtraGrid.Columns.GridColumn
+ Friend WithEvents GridView10 As DevExpress.XtraGrid.Views.Grid.GridView
+ Friend WithEvents TBDD_USER_MODULESBindingSource As BindingSource
+ Friend WithEvents TBDD_USER_MODULESTableAdapter As UserDataSetTableAdapters.TBDD_USER_MODULESTableAdapter
+ Friend WithEvents Label12 As Label
+ Friend WithEvents listModules As ListBox
End Class
diff --git a/DDUserManager/DDUserManager/frmMain.resx b/DDUserManager/DDUserManager/frmMain.resx
index fe0ccec..d89f5bf 100644
--- a/DDUserManager/DDUserManager/frmMain.resx
+++ b/DDUserManager/DDUserManager/frmMain.resx
@@ -207,12 +207,69 @@
False
-
- 136, 17
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
+
+
+ False
136, 17
+
+ 1158, 95
+
489, 56
@@ -298,21 +355,6 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
-
-
-
-
- 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==
@@ -321,15 +363,12 @@
936, 95
+
+ 234, 134
+
17, 17
-
- 268, 95
-
-
- 489, 56
-
672, 95
@@ -476,6 +515,49 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
+
+
+
+ 234, 134
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
+ wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
+ v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
+ UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
+ Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
+ lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
+ 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
+ Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
+ 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
+ n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
+ N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
+ oAc0QjgAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
+ h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
+ twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
+ kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
+ WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
+ 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
@@ -499,16 +581,1716 @@
736, 56
-
- 978, 56
-
-
- 17, 95
-
473, 95
+
+ 17, 134
+
+
+ 473, 134
+
+
+ 729, 134
+
201
+
+
+ AAABAAYAAAAAAAEAIAAoBwAAZgAAAICAAAABACAAKAgBAI4HAABAQAAAAQAgAChCAAC2DwEAMDAAAAEA
+ IACoJQAA3lEBACAgAAABACAAqBAAAIZ3AQAQEAAAAQAgAGgEAAAuiAEAiVBORw0KGgoAAAANSUhEUgAA
+ AQAAAAEACAYAAABccqhmAAAABGdBTUEAAK/INwWK6QAABt9JREFUeNrt3d+r33UBx/HvOd9znDtzjvYj
+ fyzRiMDSkgop2cUu0sC2KImK9UstQrcwLIKCjKCIiiIDYfbjwtAt+3VhVKRUCqtAqq2Q3GiVwyhMt9l+
+ nuM5+57z7Y94XRxPr8fj/nW+n885Z899bj7vMxgAAAAAAAAAAAAAAAAAAAAALzYTy30BK92uazd+Ntm/
+ YsPSp5L9cLi0JtkvLI6j+z+9MDmb7J86OXV3st+7/+hd0Q2Um1zuCwCWjwBAMQGAYgIAxQQAigkAFBMA
+ KCYAUEwAoJgAQDEBgGICAMUEAIoJABQTAChWfx7AbW9YH72Pf83m8ZeS/fTMRPQzWArvf+Fcdh7Ambns
+ Cp47M44u4PCJ6S8k+58/cfxz0Q2scJ4AoJgAQDEBgGICAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDF
+ BACKCQAUEwAoVn8ewL3b1kXvo5+/dhh9/tFTi9F+Mf4JZv8HLE1MRfsTZ7P7f+bU4qlkv2f/yXXRBaxw
+ ngCgmABAMQGAYgIAxQQAigkAFBMAKCYAUEwAoJgAQDEBgGICAMUEAIoJABQTACiWvcz9f+DE6ex99Ndt
+ vyPa33DFhdH+X/9+Jtp/b8+eaD81lf0KzU+tjfYz5/93dbK//9NvW5XsP/jln85HN7DMPAFAMQGAYgIA
+ xQQAigkAFBMAKCYAUEwAoJgAQDEBgGICAMUEAIoJABQTACgmAFCs/jyAjVdseD7Zb73pA+uT/cI/Ho2u
+ /7LwffwP79wV7S+8YCbar3v19dH+ka+8ey7ZX3XlZePoAlY4TwBQTACgmABAMQGAYgIAxQQAigkAFBMA
+ KCYAUEwAoJgAQDEBgGICAMUEAIoJABSrPw9gbnHNoWj/z/1bkv1o1cbo+l+yZpTtN10a7c+MhtF+8Pzh
+ aH56YeZvyf61t+xeyG5gZfMEAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQTACg
+ mABAsRV/HsBF2/ZOJ/t7nv7dU8l+0wNfj84DuOnm26P7H09tiPapC8az0f7hvXdH+3v+vuXpZL/pho+t
+ TvZHf/mRuegGlpknACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAMQGAYgIAxQQAik0s
+ 9wVseuuDq5L90tLih5L96sHFu5P9w99+U3T/T37rvdF+PBhH+9RE+Ct06fv2Rvsdd/4h2s+OjtyZ3f+5
+ 7yT744/enh2oEPIEAMUEAIoJABQTACgmAFBMAKCYAEAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAsfg8
+ gA03/iD6GguLg5uT/frzNt+X7H/xzddH939gEP15+cGBE9F8MHc22y+Ef91+FL7N/vI12f4tL81uYMcn
+ /hTtj539665kPzWcj84TOPnYzlGy9wQAxQQAigkAFBMAKCYAUEwAoJgAQDEBgGICAMUEAIoJABQTACgm
+ AFBMAKCYAECxqfQLXDxz9u3J/pKJY9H7/Ld98p3R9e87Poz2T86Oo/25F6L5YLSQ7dPPPxeeJ/CX57Lv
+ 38Jsdh7DrbdcF+33Pfib3cn+2dEw+g6eHAy+m+w9AUAxAYBiAgDFBACKCQAUEwAoJgBQTACgmABAMQGA
+ YgIAxQQAigkAFBMAKCYAUGwi/QIH7roy+vvkL3vjO6IX8n94dEt0/X+8ZHu0H2avsw+WRtkXSM8DGM1n
+ +4X58DyE+exX8Oxstt86+eto/9FX7Yv2h3/1o3PJ/rqvHTov2XsCgGICAMUEAIoJABQTACgmAFBMAKCY
+ AEAxAYBiAgDFBACKCQAUEwAoJgBQTACg2FT6BYYTE1FEplbNRJ//28ePRfur3zUb7Q+dzK5/HJ2mMBgs
+ pucBhPvJVdn/IZPhiRTXXpQdaPD4Q/+J9ne8ZjraD4cT8b/BhCcAKCYAUEwAoJgAQDEBgGICAMUEAIoJ
+ ABQTACgmAFBMAKCYAEAxAYBiAgDFBACKxe8iT77y+s8k+yOPPfD5ZL/63K3R9f9k7++j78HVO7ZGnx++
+ Dr/sxoPxsn7+j7/xSLS/cfPB6ECII/t+Nkz2q69681ez78DBaO0JAIoJABQTACgmAFBMAKCYAEAxAYBi
+ AgDFBACKCQAUEwAoJgBQTACgmABAMQGAYsv+OvqR7+9cm+zve2Lzecn+/oPXfDHZj08c35bsh9Mz65P9
+ YGIy+wP1S9n7/OPF0Sj6+NELZ5L99PoNf0722y8/8P5k//Etz84l+8vfc+/pZJ/yBADFBACKCQAUEwAo
+ JgBQTACgmABAMQGAYgIAxQQAigkAFBMAKCYAUEwAoJgAAAAAAAAAAAAAAAAAAAAAAMCLyP8A0dAUVA1N
+ inQAAAAASUVORK5CYIIoAAAAgAAAAAABAAABACAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABpqN8NaajfDWmo3w1pqN8NaajfDWmo3w1pqN8NaajfDYR6fhOEen4ThHp+E4R6
+ fhOEen4ThHp+E4R6fhOEen4Ts1AgmLNQIJizUCCYs1AgmLNQIJizUCCYs1AgmLNQIJigQB/joEAf46BA
+ H+OgQB/joEAf46BAH+OgQB/joEAf46pFIvWqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWqRSL1rEYi+qxG
+ IvqsRiL6rEYi+qxGIvqsRiL6rEYi+qxGIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qdB
+ IfanQSH2p0Eh9qdBIfanQSH2p0Eh9qdBIfanQSH2nz0f6p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6p89
+ H+qyTyS6sk8kurJPJLqyTyS6sk8kurJPJLqyTyS6sk8kuoBucBaAbnAWgG5wFoBucBaAbnAWgG5wFoBu
+ cBaAbnAWaanhDWmp4Q1pqeENaanhDWmp4Q1pqeENaanhDWmp4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo3w1pqN8NaajfDWmo
+ 3w1pqN8NaajfDWmo3w1pqN8NhHp+E4R6fhOEen4ThHp+E4R6fhOEen4ThHp+E4R6fhOzUCCYs1AgmLNQ
+ IJizUCCYs1AgmLNQIJizUCCYs1AgmKBAH+OgQB/joEAf46BAH+OgQB/joEAf46BAH+OgQB/jqkUi9apF
+ IvWqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqsRiL6rEYi+qxGIvqsRiL6rEYi+qtE
+ IvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6p0Eh9qdBIfanQSH2p0Eh9qdBIfanQSH2p0Eh9qdB
+ IfafPR/qnz0f6p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6rJPJLqyTyS6sk8kurJPJLqyTyS6sk8kurJP
+ JLqyTyS6gG5wFoBucBaAbnAWgG5wFoBucBaAbnAWgG5wFoBucBZpqeENaanhDWmp4Q1pqeENaanhDWmp
+ 4Q1pqeENaanhDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAaajfDWmo3w1pqN8NaajfDWmo3w1pqN8NaajfDWmo3w2Een4ThHp+E4R6
+ fhOEen4ThHp+E4R6fhOEen4ThHp+E7NQIJizUCCYs1AgmLNQIJizUCCYs1AgmLNQIJizUCCYoEAf46BA
+ H+OgQB/joEAf46BAH+OgQB/joEAf46BAH+OqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWqRSL1qkUi9axG
+ IvqsRiL6rEYi+qxGIvqsRiL6rEYi+qxGIvqsRiL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtE
+ IvqnQSH2p0Eh9qdBIfanQSH2p0Eh9qdBIfanQSH2p0Eh9p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6p89
+ H+qfPR/qsk8kurJPJLqyTyS6sk8kurJPJLqyTyS6sk8kurJPJLqAbnAWgG5wFoBucBaAbnAWgG5wFoBu
+ cBaAbnAWgG5wFmmp4Q1pqeENaanhDWmp4Q1pqeENaanhDWmp4Q1pqeENAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDWmo
+ 3w1pqN8NaajfDWmo3w1pqN8NaajfDYR6fhOEen4ThHp+E4R6fhOEen4ThHp+E4R6fhOEen4Ts1AgmLNQ
+ IJizUCCYs1AgmLNQIJizUCCYs1AgmLNQIJigQB/joEAf46BAH+OgQB/joEAf46BAH+OgQB/joEAf46pF
+ IvWqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWqRSL1rEYi+qxGIvqsRiL6rEYi+qxGIvqsRiL6rEYi+qxG
+ IvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qdBIfanQSH2p0Eh9qdBIfanQSH2p0Eh9qdB
+ IfanQSH2nz0f6p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6p89H+qyTyS6sk8kurJPJLqyTyS6sk8kurJP
+ JLqyTyS6sk8kuoBucBaAbnAWgG5wFoBucBaAbnAWgG5wFoBucBaAbnAWaanhDWmp4Q1pqeENaanhDWmp
+ 4Q1pqeENaanhDWmp4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo3w1pqN8NaajfDWmo3w1pqN8NaajfDWmo3w1pqN8NhHp+E4R6
+ fhOEen4ThHp+E4R6fhOEen4ThHp+E4R6fhOzUCCYs1AgmLNQIJizUCCYs1AgmLNQIJizUCCYs1AgmKBA
+ H+OgQB/joEAf46BAH+OgQB/joEAf46BAH+OgQB/jqkUi9apFIvWqRSL1qkUi9apFIvWqRSL1qkUi9apF
+ IvWsRiL6rEYi+qxGIvqsRiL6rEYi+qxGIvqsRiL6rEYi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtE
+ IvqrRCL6p0Eh9qdBIfanQSH2p0Eh9qdBIfanQSH2p0Eh9qdBIfafPR/qnz0f6p89H+qfPR/qnz0f6p89
+ H+qfPR/qnz0f6rJPJLqyTyS6sk8kurJPJLqyTyS6sk8kurJPJLqyTyS6gG5wFoBucBaAbnAWgG5wFoBu
+ cBaAbnAWgG5wFoBucBZpqeENaanhDWmp4Q1pqeENaanhDWmp4Q1pqeENaanhDQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaajfDWmo
+ 3w1pqN8NaajfDWmo3w1pqN8NaajfDWmo3w2Een4ThHp+E4R6fhOEen4ThHp+E4R6fhOEen4ThHp+E7NQ
+ IJizUCCYs1AgmLNQIJizUCCYs1AgmLNQIJizUCCYoEAf46BAH+OgQB/joEAf46BAH+OgQB/joEAf46BA
+ H+OqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWqRSL1qkUi9axGIvqsRiL6rEYi+qxGIvqsRiL6rEYi+qxG
+ IvqsRiL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqnQSH2p0Eh9qdBIfanQSH2p0Eh9qdB
+ IfanQSH2p0Eh9p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6p89H+qfPR/qsk8kurJPJLqyTyS6sk8kurJP
+ JLqyTyS6sk8kurJPJLqAbnAWgG5wFoBucBaAbnAWgG5wFoBucBaAbnAWgG5wFmmp4Q1pqeENaanhDWmp
+ 4Q1pqeENaanhDWmp4Q1pqeENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDWmo3w1pqN8NaajfDWmo3w1pqN8NaajfDYR6
+ fhOEen4ThHp+E4R6fhOEen4ThHp+E4R6fhOEen4Ts1AgmLNQIJizUCCYs1AgmLNQIJizUCCYs1AgmLNQ
+ IJigQB/joEAf46BAH+OgQB/joEAf46BAH+OgQB/joEAf46pFIvWqRSL1qkUi9apFIvWqRSL1qkUi9apF
+ IvWqRSL1rEYi+qxGIvqsRiL6rEYi+qxGIvqsRiL6rEYi+qxGIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtE
+ IvqrRCL6q0Qi+qdBIfanQSH2p0Eh9qdBIfanQSH2p0Eh9qdBIfanQSH2nz0f6p89H+qfPR/qnz0f6p89
+ H+qfPR/qnz0f6p89H+qyTyS6sk8kurJPJLqyTyS6sk8kurJPJLqyTyS6sk8kuoBucBaAbnAWgG5wFoBu
+ cBaAbnAWgG5wFoBucBaAbnAWaanhDWmp4Q1pqeENaanhDWmp4Q1pqeENaanhDWmp4Q0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo
+ 3w1pqN8NaajfDWmo3w1pqN8NaajfDWmo3w1pqN8NhHp+E4R6fhOEen4ThHp+E4R6fhOEen4ThHp+E4R6
+ fhOzUCCYs1AgmLNQIJizUCCYs1AgmLNQIJizUCCYs1AgmKBAH+OgQB/joEAf46BAH+OgQB/joEAf46BA
+ H+OgQB/jqkUi9apFIvWqRSL1qkUi9apFIvWqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqsRiL6rEYi+qxG
+ IvqsRiL6rEYi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6q0Qi+qtEIvqrRCL6p0Eh9qdBIfanQSH2p0Eh9qdB
+ IfanQSH2p0Eh9qdBIfafPR/qnz0f6p89H+qfPR/qnz0f6p89H+qfPR/qnz0f6rJPJLqyTyS6sk8kurJP
+ JLqyTyS6sk8kurJPJLqyTyS6gG5wFoBucBaAbnAWgG5wFoBucBaAbnAWgG5wFoBucBZpqeENaanhDWmp
+ 4Q1pqeENaanhDWmp4Q1pqeENaanhDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2i
+ 03ltotN5baLTeW2i03ltotN5baLTeW2i03ltotN5JXnN+yV5zfslec37JXnN+yV5zfslec37JXnN+yV5
+ zfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7hmFh+79gNf+/YDX/v2A1/79gNf+/YDX/v2A1/79g
+ Nf+/YDX//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP96ZG31emRt9Xpk
+ bfV6ZG31emRt9XpkbfV6ZG31emRt9S5+zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74baLTg22i
+ 04NtotODbaLTg22i04NtotODbaLTg22i04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbaLTeW2i03ltotN5baLTeW2i03ltotN5baLTeW2i
+ 03klec37JXnN+yV5zfslec37JXnN+yV5zfslec37JXnN+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4Zh
+ YfuGYWH7v2A1/79gNf+/YDX/v2A1/79gNf+/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf+xSST/sUkk/7FJ
+ JP+xSST/sUkk/7FJJP+xSST/sUkk/3pkbfV6ZG31emRt9XpkbfV6ZG31emRt9XpkbfV6ZG31Ln7O+C5+
+ zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+zvhtotODbaLTg22i04NtotODbaLTg22i04NtotODbaLTgwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABtotN5baLTeW2i03ltotN5baLTeW2i03ltotN5baLTeSV5zfslec37JXnN+yV5zfslec37JXnN+yV5
+ zfslec37hmFh+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf+/YDX/v2A1/79g
+ Nf+/YDX/v2A1//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh/7FJJP+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/emRt9Xpk
+ bfV6ZG31emRt9XpkbfV6ZG31emRt9XpkbfUufs74Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74Ln7O+G2i
+ 04NtotODbaLTg22i04NtotODbaLTg22i04NtotODAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2i03ltotN5baLTeW2i03ltotN5baLTeW2i
+ 03ltotN5JXnN+yV5zfslec37JXnN+yV5zfslec37JXnN+yV5zfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4Zh
+ YfuGYWH7hmFh+79gNf+/YDX/v2A1/79gNf+/YDX/v2A1/79gNf+/YDX//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH/sUkk/7FJ
+ JP+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP96ZG31emRt9XpkbfV6ZG31emRt9XpkbfV6ZG31emRt9S5+
+ zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74baLTg22i04NtotODbaLTg22i04NtotODbaLTg22i
+ 04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAbaLTeW2i03ltotN5baLTeW2i03ltotN5baLTeW2i03klec37JXnN+yV5zfslec37JXnN+yV5
+ zfslec37JXnN+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7v2A1/79gNf+/YDX/v2A1/79g
+ Nf+/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/sUkk/3pk
+ bfV6ZG31emRt9XpkbfV6ZG31emRt9XpkbfV6ZG31Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+
+ zvhtotODbaLTg22i04NtotODbaLTg22i04NtotODbaLTgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtotN5baLTeW2i03ltotN5baLTeW2i
+ 03ltotN5baLTeSV5zfslec37JXnN+yV5zfslec37JXnN+yV5zfslec37hmFh+4ZhYfuGYWH7hmFh+4Zh
+ YfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf+/YDX/v2A1/79gNf+/YDX/v2A1//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh/7FJ
+ JP+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/emRt9XpkbfV6ZG31emRt9XpkbfV6ZG31emRt9Xpk
+ bfUufs74Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74Ln7O+G2i04NtotODbaLTg22i04NtotODbaLTg22i
+ 04NtotODAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAG2i03ltotN5baLTeW2i03ltotN5baLTeW2i03ltotN5JXnN+yV5zfslec37JXnN+yV5
+ zfslec37JXnN+yV5zfuGYWH7hmFh+4ZhYfuGYWH7hmFh+4ZhYfuGYWH7hmFh+79gNf+/YDX/v2A1/79g
+ Nf+/YDX/v2A1/79gNf+/YDX//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/sUkk/7FJ
+ JP96ZG31emRt9XpkbfV6ZG31emRt9XpkbfV6ZG31emRt9S5+zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+
+ zvgufs74baLTg22i04NtotODbaLTg22i04NtotODbaLTg22i04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbaLTeW2i03ltotN5baLTeW2i
+ 03ltotN5baLTeW2i03klec37JXnN+yV5zfslec37JXnN+yV5zfslec37JXnN+4ZhYfuGYWH7hmFh+4Zh
+ YfuGYWH7hmFh+4ZhYfuGYWH7v2A1/79gNf+/YDX/v2A1/79gNf+/YDX/v2A1/79gNf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf+xSST/sUkk/7FJJP+xSST/sUkk/7FJJP+xSST/sUkk/3pkbfV6ZG31emRt9XpkbfV6ZG31emRt9Xpk
+ bfV6ZG31Ln7O+C5+zvgufs74Ln7O+C5+zvgufs74Ln7O+C5+zvhtotODbaLTg22i04NtotODbaLTg22i
+ 04NtotODbaLTgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f4pfdH+KX3R/il90f4pfdH+KX3R/oK67v+Cuu7/grru/4K6
+ 7v+Cuu7/grru/4K67v+Cuu7/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP/1u4T/9buE//W7
+ hP/1u4T/9buE//W7hP/1u4T/9buE//+sW///rFv//6xb//+sW///rFv//6xb//+sW///rFv//qha//6o
+ Wv/+qFr//qha//6oWv/+qFr//qha//6oWv/+olf//qJX//6iV//+olf//qJX//6iV//+olf//qJX//6c
+ U//+nFP//pxT//6cU//+nFP//pxT//6cU//+nFP//6NV//+jVf//o1X//6NV//+jVf//o1X//6NV//+j
+ Vf//n1D//59Q//+fUP//n1D//59Q//+fUP//n1D//59Q//iueP/4rnj/+K54//iueP/4rnj/+K54//iu
+ eP/4rnj/pF5K/6ReSv+kXkr/pF5K/6ReSv+kXkr/pF5K/6ReSv+DvO//g7zv/4O87/+DvO//g7zv/4O8
+ 7/+DvO//g7zv/yp3yv4qd8r+KnfK/ip3yv4qd8r+KnfK/ip3yv4qd8r+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACl90f4pfdH+KX3R/il9
+ 0f4pfdH+KX3R/il90f4pfdH+grru/4K67v+Cuu7/grru/4K67v+Cuu7/grru/4K67v+fZlj/n2ZY/59m
+ WP+fZlj/n2ZY/59mWP+fZlj/n2ZY//W7hP/1u4T/9buE//W7hP/1u4T/9buE//W7hP/1u4T//6xb//+s
+ W///rFv//6xb//+sW///rFv//6xb//+sW//+qFr//qha//6oWv/+qFr//qha//6oWv/+qFr//qha//6i
+ V//+olf//qJX//6iV//+olf//qJX//6iV//+olf//pxT//6cU//+nFP//pxT//6cU//+nFP//pxT//6c
+ U///o1X//6NV//+jVf//o1X//6NV//+jVf//o1X//6NV//+fUP//n1D//59Q//+fUP//n1D//59Q//+f
+ UP//n1D/+K54//iueP/4rnj/+K54//iueP/4rnj/+K54//iueP+kXkr/pF5K/6ReSv+kXkr/pF5K/6Re
+ Sv+kXkr/pF5K/4O87/+DvO//g7zv/4O87/+DvO//g7zv/4O87/+DvO//KnfK/ip3yv4qd8r+KnfK/ip3
+ yv4qd8r+KnfK/ip3yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAKX3R/il90f4pfdH+KX3R/il90f4pfdH+KX3R/il90f6Cuu7/grru/4K6
+ 7v+Cuu7/grru/4K67v+Cuu7/grru/59mWP+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/9buE//W7
+ hP/1u4T/9buE//W7hP/1u4T/9buE//W7hP//rFv//6xb//+sW///rFv//6xb//+sW///rFv//6xb//6o
+ Wv/+qFr//qha//6oWv/+qFr//qha//6oWv/+qFr//qJX//6iV//+olf//qJX//6iV//+olf//qJX//6i
+ V//+nFP//pxT//6cU//+nFP//pxT//6cU//+nFP//pxT//+jVf//o1X//6NV//+jVf//o1X//6NV//+j
+ Vf//o1X//59Q//+fUP//n1D//59Q//+fUP//n1D//59Q//+fUP/4rnj/+K54//iueP/4rnj/+K54//iu
+ eP/4rnj/+K54/6ReSv+kXkr/pF5K/6ReSv+kXkr/pF5K/6ReSv+kXkr/g7zv/4O87/+DvO//g7zv/4O8
+ 7/+DvO//g7zv/4O87/8qd8r+KnfK/ip3yv4qd8r+KnfK/ip3yv4qd8r+KnfK/gAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/il9
+ 0f4pfdH+KX3R/il90f4pfdH+KX3R/oK67v+Cuu7/grru/4K67v+Cuu7/grru/4K67v+Cuu7/n2ZY/59m
+ WP+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP/1u4T/9buE//W7hP/1u4T/9buE//W7hP/1u4T/9buE//+s
+ W///rFv//6xb//+sW///rFv//6xb//+sW///rFv//qha//6oWv/+qFr//qha//6oWv/+qFr//qha//6o
+ Wv/+olf//qJX//6iV//+olf//qJX//6iV//+olf//qJX//6cU//+nFP//pxT//6cU//+nFP//pxT//6c
+ U//+nFP//6NV//+jVf//o1X//6NV//+jVf//o1X//6NV//+jVf//n1D//59Q//+fUP//n1D//59Q//+f
+ UP//n1D//59Q//iueP/4rnj/+K54//iueP/4rnj/+K54//iueP/4rnj/pF5K/6ReSv+kXkr/pF5K/6Re
+ Sv+kXkr/pF5K/6ReSv+DvO//g7zv/4O87/+DvO//g7zv/4O87/+DvO//g7zv/yp3yv4qd8r+KnfK/ip3
+ yv4qd8r+KnfK/ip3yv4qd8r+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAACl90f4pfdH+KX3R/il90f4pfdH+KX3R/il90f4pfdH+grru/4K6
+ 7v+Cuu7/grru/4K67v+Cuu7/grru/4K67v+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/n2ZY//W7
+ hP/1u4T/9buE//W7hP/1u4T/9buE//W7hP/1u4T//6xb//+sW///rFv//6xb//+sW///rFv//6xb//+s
+ W//+qFr//qha//6oWv/+qFr//qha//6oWv/+qFr//qha//6iV//+olf//qJX//6iV//+olf//qJX//6i
+ V//+olf//pxT//6cU//+nFP//pxT//6cU//+nFP//pxT//6cU///o1X//6NV//+jVf//o1X//6NV//+j
+ Vf//o1X//6NV//+fUP//n1D//59Q//+fUP//n1D//59Q//+fUP//n1D/+K54//iueP/4rnj/+K54//iu
+ eP/4rnj/+K54//iueP+kXkr/pF5K/6ReSv+kXkr/pF5K/6ReSv+kXkr/pF5K/4O87/+DvO//g7zv/4O8
+ 7/+DvO//g7zv/4O87/+DvO//KnfK/ip3yv4qd8r+KnfK/ip3yv4qd8r+KnfK/ip3yv4AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKX3R/il9
+ 0f4pfdH+KX3R/il90f4pfdH+KX3R/il90f6Cuu7/grru/4K67v+Cuu7/grru/4K67v+Cuu7/grru/59m
+ WP+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/9buE//W7hP/1u4T/9buE//W7hP/1u4T/9buE//W7
+ hP//rFv//6xb//+sW///rFv//6xb//+sW///rFv//6xb//6oWv/+qFr//qha//6oWv/+qFr//qha//6o
+ Wv/+qFr//qJX//6iV//+olf//qJX//6iV//+olf//qJX//6iV//+nFP//pxT//6cU//+nFP//pxT//6c
+ U//+nFP//pxT//+jVf//o1X//6NV//+jVf//o1X//6NV//+jVf//o1X//59Q//+fUP//n1D//59Q//+f
+ UP//n1D//59Q//+fUP/4rnj/+K54//iueP/4rnj/+K54//iueP/4rnj/+K54/6ReSv+kXkr/pF5K/6Re
+ Sv+kXkr/pF5K/6ReSv+kXkr/g7zv/4O87/+DvO//g7zv/4O87/+DvO//g7zv/4O87/8qd8r+KnfK/ip3
+ yv4qd8r+KnfK/ip3yv4qd8r+KnfK/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f4pfdH+KX3R/il90f4pfdH+KX3R/oK6
+ 7v+Cuu7/grru/4K67v+Cuu7/grru/4K67v+Cuu7/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/n2ZY/59m
+ WP/1u4T/9buE//W7hP/1u4T/9buE//W7hP/1u4T/9buE//+sW///rFv//6xb//+sW///rFv//6xb//+s
+ W///rFv//qha//6oWv/+qFr//qha//6oWv/+qFr//qha//6oWv/+olf//qJX//6iV//+olf//qJX//6i
+ V//+olf//qJX//6cU//+nFP//pxT//6cU//+nFP//pxT//6cU//+nFP//6NV//+jVf//o1X//6NV//+j
+ Vf//o1X//6NV//+jVf//n1D//59Q//+fUP//n1D//59Q//+fUP//n1D//59Q//iueP/4rnj/+K54//iu
+ eP/4rnj/+K54//iueP/4rnj/pF5K/6ReSv+kXkr/pF5K/6ReSv+kXkr/pF5K/6ReSv+DvO//g7zv/4O8
+ 7/+DvO//g7zv/4O87/+DvO//g7zv/yp3yv4qd8r+KnfK/ip3yv4qd8r+KnfK/ip3yv4qd8r+AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACl9
+ 0f4pfdH+KX3R/il90f4pfdH+KX3R/il90f4pfdH+grru/4K67v+Cuu7/grru/4K67v+Cuu7/grru/4K6
+ 7v+fZlj/n2ZY/59mWP+fZlj/n2ZY/59mWP+fZlj/n2ZY//W7hP/1u4T/9buE//W7hP/1u4T/9buE//W7
+ hP/1u4T//6xb//+sW///rFv//6xb//+sW///rFv//6xb//+sW//+qFr//qha//6oWv/+qFr//qha//6o
+ Wv/+qFr//qha//6iV//+olf//qJX//6iV//+olf//qJX//6iV//+olf//pxT//6cU//+nFP//pxT//6c
+ U//+nFP//pxT//6cU///o1X//6NV//+jVf//o1X//6NV//+jVf//o1X//6NV//+fUP//n1D//59Q//+f
+ UP//n1D//59Q//+fUP//n1D/+K54//iueP/4rnj/+K54//iueP/4rnj/+K54//iueP+kXkr/pF5K/6Re
+ Sv+kXkr/pF5K/6ReSv+kXkr/pF5K/4O87/+DvO//g7zv/4O87/+DvO//g7zv/4O87/+DvO//KnfK/ip3
+ yv4qd8r+KnfK/ip3yv4qd8r+KnfK/ip3yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKHzO/Ch8zvwofM78KHzO/Ch8zvwofM78KHzO/Ch8
+ zvx4s+r/eLPq/3iz6v94s+r/eLPq/3iz6v94s+r/eLPq/7OelP+znpT/s56U/7OelP+znpT/s56U/7Oe
+ lP+znpT//7dg//+3YP//t2D//7dg//+3YP//t2D//7dg//+3YP//tmP//7Zj//+2Y///tmP//7Zj//+2
+ Y///tmP//7Zj//6yYf/+smH//rJh//6yYf/+smH//rJh//6yYf/+smH//qxd//6sXf/+rF3//qxd//6s
+ Xf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/+pVn//qVZ//2eU//9nlP//Z5T//2e
+ U//9nlP//Z5T//2eU//9nlP//pdO//6XTv/+l07//pdO//6XTv/+l07//pdO//6XTv//jUP//41D//+N
+ Q///jUP//41D//+NQ///jUP//41D/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/frjt/364
+ 7f9+uO3/frjt/3647f9+uO3/frjt/3647f8pdMf6KXTH+il0x/opdMf6KXTH+il0x/opdMf6KXTH+gAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAofM78KHzO/Ch8zvwofM78KHzO/Ch8zvwofM78KHzO/Hiz6v94s+r/eLPq/3iz6v94s+r/eLPq/3iz
+ 6v94s+r/s56U/7OelP+znpT/s56U/7OelP+znpT/s56U/7OelP//t2D//7dg//+3YP//t2D//7dg//+3
+ YP//t2D//7dg//+2Y///tmP//7Zj//+2Y///tmP//7Zj//+2Y///tmP//rJh//6yYf/+smH//rJh//6y
+ Yf/+smH//rJh//6yYf/+rF3//qxd//6sXf/+rF3//qxd//6sXf/+rF3//qxd//6lWf/+pVn//qVZ//6l
+ Wf/+pVn//qVZ//6lWf/+pVn//Z5T//2eU//9nlP//Z5T//2eU//9nlP//Z5T//2eU//+l07//pdO//6X
+ Tv/+l07//pdO//6XTv/+l07//pdO//+NQ///jUP//41D//+NQ///jUP//41D//+NQ///jUP/vI+C/7yP
+ gv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv9+uO3/frjt/3647f9+uO3/frjt/3647f9+uO3/frjt/yl0
+ x/opdMf6KXTH+il0x/opdMf6KXTH+il0x/opdMf6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh8zvwofM78KHzO/Ch8zvwofM78KHzO/Ch8
+ zvwofM78eLPq/3iz6v94s+r/eLPq/3iz6v94s+r/eLPq/3iz6v+znpT/s56U/7OelP+znpT/s56U/7Oe
+ lP+znpT/s56U//+3YP//t2D//7dg//+3YP//t2D//7dg//+3YP//t2D//7Zj//+2Y///tmP//7Zj//+2
+ Y///tmP//7Zj//+2Y//+smH//rJh//6yYf/+smH//rJh//6yYf/+smH//rJh//6sXf/+rF3//qxd//6s
+ Xf/+rF3//qxd//6sXf/+rF3//qVZ//6lWf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/9nlP//Z5T//2e
+ U//9nlP//Z5T//2eU//9nlP//Z5T//6XTv/+l07//pdO//6XTv/+l07//pdO//6XTv/+l07//41D//+N
+ Q///jUP//41D//+NQ///jUP//41D//+NQ/+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/364
+ 7f9+uO3/frjt/3647f9+uO3/frjt/3647f9+uO3/KXTH+il0x/opdMf6KXTH+il0x/opdMf6KXTH+il0
+ x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAKHzO/Ch8zvwofM78KHzO/Ch8zvwofM78KHzO/Ch8zvx4s+r/eLPq/3iz6v94s+r/eLPq/3iz
+ 6v94s+r/eLPq/7OelP+znpT/s56U/7OelP+znpT/s56U/7OelP+znpT//7dg//+3YP//t2D//7dg//+3
+ YP//t2D//7dg//+3YP//tmP//7Zj//+2Y///tmP//7Zj//+2Y///tmP//7Zj//6yYf/+smH//rJh//6y
+ Yf/+smH//rJh//6yYf/+smH//qxd//6sXf/+rF3//qxd//6sXf/+rF3//qxd//6sXf/+pVn//qVZ//6l
+ Wf/+pVn//qVZ//6lWf/+pVn//qVZ//2eU//9nlP//Z5T//2eU//9nlP//Z5T//2eU//9nlP//pdO//6X
+ Tv/+l07//pdO//6XTv/+l07//pdO//6XTv//jUP//41D//+NQ///jUP//41D//+NQ///jUP//41D/7yP
+ gv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/frjt/3647f9+uO3/frjt/3647f9+uO3/frjt/364
+ 7f8pdMf6KXTH+il0x/opdMf6KXTH+il0x/opdMf6KXTH+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAofM78KHzO/Ch8zvwofM78KHzO/Ch8
+ zvwofM78KHzO/Hiz6v94s+r/eLPq/3iz6v94s+r/eLPq/3iz6v94s+r/s56U/7OelP+znpT/s56U/7Oe
+ lP+znpT/s56U/7OelP//t2D//7dg//+3YP//t2D//7dg//+3YP//t2D//7dg//+2Y///tmP//7Zj//+2
+ Y///tmP//7Zj//+2Y///tmP//rJh//6yYf/+smH//rJh//6yYf/+smH//rJh//6yYf/+rF3//qxd//6s
+ Xf/+rF3//qxd//6sXf/+rF3//qxd//6lWf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/+pVn//Z5T//2e
+ U//9nlP//Z5T//2eU//9nlP//Z5T//2eU//+l07//pdO//6XTv/+l07//pdO//6XTv/+l07//pdO//+N
+ Q///jUP//41D//+NQ///jUP//41D//+NQ///jUP/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yP
+ gv9+uO3/frjt/3647f9+uO3/frjt/3647f9+uO3/frjt/yl0x/opdMf6KXTH+il0x/opdMf6KXTH+il0
+ x/opdMf6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAACh8zvwofM78KHzO/Ch8zvwofM78KHzO/Ch8zvwofM78eLPq/3iz6v94s+r/eLPq/3iz
+ 6v94s+r/eLPq/3iz6v+znpT/s56U/7OelP+znpT/s56U/7OelP+znpT/s56U//+3YP//t2D//7dg//+3
+ YP//t2D//7dg//+3YP//t2D//7Zj//+2Y///tmP//7Zj//+2Y///tmP//7Zj//+2Y//+smH//rJh//6y
+ Yf/+smH//rJh//6yYf/+smH//rJh//6sXf/+rF3//qxd//6sXf/+rF3//qxd//6sXf/+rF3//qVZ//6l
+ Wf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/9nlP//Z5T//2eU//9nlP//Z5T//2eU//9nlP//Z5T//6X
+ Tv/+l07//pdO//6XTv/+l07//pdO//6XTv/+l07//41D//+NQ///jUP//41D//+NQ///jUP//41D//+N
+ Q/+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/3647f9+uO3/frjt/3647f9+uO3/frjt/364
+ 7f9+uO3/KXTH+il0x/opdMf6KXTH+il0x/opdMf6KXTH+il0x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKHzO/Ch8zvwofM78KHzO/Ch8
+ zvwofM78KHzO/Ch8zvx4s+r/eLPq/3iz6v94s+r/eLPq/3iz6v94s+r/eLPq/7OelP+znpT/s56U/7Oe
+ lP+znpT/s56U/7OelP+znpT//7dg//+3YP//t2D//7dg//+3YP//t2D//7dg//+3YP//tmP//7Zj//+2
+ Y///tmP//7Zj//+2Y///tmP//7Zj//6yYf/+smH//rJh//6yYf/+smH//rJh//6yYf/+smH//qxd//6s
+ Xf/+rF3//qxd//6sXf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/+pVn//qVZ//2e
+ U//9nlP//Z5T//2eU//9nlP//Z5T//2eU//9nlP//pdO//6XTv/+l07//pdO//6XTv/+l07//pdO//6X
+ Tv//jUP//41D//+NQ///jUP//41D//+NQ///jUP//41D/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yP
+ gv+8j4L/frjt/3647f9+uO3/frjt/3647f9+uO3/frjt/3647f8pdMf6KXTH+il0x/opdMf6KXTH+il0
+ x/opdMf6KXTH+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAofM78KHzO/Ch8zvwofM78KHzO/Ch8zvwofM78KHzO/Hiz6v94s+r/eLPq/3iz
+ 6v94s+r/eLPq/3iz6v94s+r/s56U/7OelP+znpT/s56U/7OelP+znpT/s56U/7OelP//t2D//7dg//+3
+ YP//t2D//7dg//+3YP//t2D//7dg//+2Y///tmP//7Zj//+2Y///tmP//7Zj//+2Y///tmP//rJh//6y
+ Yf/+smH//rJh//6yYf/+smH//rJh//6yYf/+rF3//qxd//6sXf/+rF3//qxd//6sXf/+rF3//qxd//6l
+ Wf/+pVn//qVZ//6lWf/+pVn//qVZ//6lWf/+pVn//Z5T//2eU//9nlP//Z5T//2eU//9nlP//Z5T//2e
+ U//+l07//pdO//6XTv/+l07//pdO//6XTv/+l07//pdO//+NQ///jUP//41D//+NQ///jUP//41D//+N
+ Q///jUP/vI+C/7yPgv+8j4L/vI+C/7yPgv+8j4L/vI+C/7yPgv9+uO3/frjt/3647f9+uO3/frjt/364
+ 7f9+uO3/frjt/yl0x/opdMf6KXTH+il0x/opdMf6KXTH+il0x/opdMf6AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5TK1CeUytQnlMrUJ5T
+ K1CeUytQnlMrUJ5TK1CeUytQilRE/4pURP+KVET/ilRE/4pURP+KVET/ilRE/4pURP/8yKv//Mir//zI
+ q//8yKv//Mir//zIq//8yKv//Mir///RmP//0Zj//9GY///RmP//0Zj//9GY///RmP//0Zj//sdt//7H
+ bf/+x23//sdt//7Hbf/+x23//sdt//7Hbf/+v2j//r9o//6/aP/+v2j//r9o//6/aP/+v2j//r9o//65
+ ZP/+uWT//rlk//65ZP/+uWT//rlk//65ZP/+uWT//rFe//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6x
+ Xv/+qFn//qhZ//6oWf/+qFn//qhZ//6oWf/+qFn//qhZ//2gVP/9oFT//aBU//2gVP/9oFT//aBU//2g
+ VP/9oFT//7d6//+3ev//t3r//7d6//+3ev//t3r//7d6//+3ev/+qYD//qmA//6pgP/+qYD//qmA//6p
+ gP/+qYD//qmA/4hQQv+IUEL/iFBC/4hQQv+IUEL/iFBC/4hQQv+IUEL/i0wrYItMK2CLTCtgi0wrYItM
+ K2CLTCtgi0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAnlMrUJ5TK1CeUytQnlMrUJ5TK1CeUytQnlMrUJ5TK1CKVET/ilRE/4pU
+ RP+KVET/ilRE/4pURP+KVET/ilRE//zIq//8yKv//Mir//zIq//8yKv//Mir//zIq//8yKv//9GY///R
+ mP//0Zj//9GY///RmP//0Zj//9GY///RmP/+x23//sdt//7Hbf/+x23//sdt//7Hbf/+x23//sdt//6/
+ aP/+v2j//r9o//6/aP/+v2j//r9o//6/aP/+v2j//rlk//65ZP/+uWT//rlk//65ZP/+uWT//rlk//65
+ ZP/+sV7//rFe//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6oWf/+qFn//qhZ//6oWf/+qFn//qhZ//6o
+ Wf/+qFn//aBU//2gVP/9oFT//aBU//2gVP/9oFT//aBU//2gVP//t3r//7d6//+3ev//t3r//7d6//+3
+ ev//t3r//7d6//6pgP/+qYD//qmA//6pgP/+qYD//qmA//6pgP/+qYD/iFBC/4hQQv+IUEL/iFBC/4hQ
+ Qv+IUEL/iFBC/4hQQv+LTCtgi0wrYItMK2CLTCtgi0wrYItMK2CLTCtgi0wrYAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5T
+ K1CeUytQnlMrUJ5TK1CeUytQnlMrUIpURP+KVET/ilRE/4pURP+KVET/ilRE/4pURP+KVET//Mir//zI
+ q//8yKv//Mir//zIq//8yKv//Mir//zIq///0Zj//9GY///RmP//0Zj//9GY///RmP//0Zj//9GY//7H
+ bf/+x23//sdt//7Hbf/+x23//sdt//7Hbf/+x23//r9o//6/aP/+v2j//r9o//6/aP/+v2j//r9o//6/
+ aP/+uWT//rlk//65ZP/+uWT//rlk//65ZP/+uWT//rlk//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6x
+ Xv/+sV7//qhZ//6oWf/+qFn//qhZ//6oWf/+qFn//qhZ//6oWf/9oFT//aBU//2gVP/9oFT//aBU//2g
+ VP/9oFT//aBU//+3ev//t3r//7d6//+3ev//t3r//7d6//+3ev//t3r//qmA//6pgP/+qYD//qmA//6p
+ gP/+qYD//qmA//6pgP+IUEL/iFBC/4hQQv+IUEL/iFBC/4hQQv+IUEL/iFBC/4tMK2CLTCtgi0wrYItM
+ K2CLTCtgi0wrYItMK2CLTCtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5TK1CeUytQnlMrUJ5TK1CeUytQnlMrUJ5TK1CeUytQilRE/4pU
+ RP+KVET/ilRE/4pURP+KVET/ilRE/4pURP/8yKv//Mir//zIq//8yKv//Mir//zIq//8yKv//Mir///R
+ mP//0Zj//9GY///RmP//0Zj//9GY///RmP//0Zj//sdt//7Hbf/+x23//sdt//7Hbf/+x23//sdt//7H
+ bf/+v2j//r9o//6/aP/+v2j//r9o//6/aP/+v2j//r9o//65ZP/+uWT//rlk//65ZP/+uWT//rlk//65
+ ZP/+uWT//rFe//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6xXv/+qFn//qhZ//6oWf/+qFn//qhZ//6o
+ Wf/+qFn//qhZ//2gVP/9oFT//aBU//2gVP/9oFT//aBU//2gVP/9oFT//7d6//+3ev//t3r//7d6//+3
+ ev//t3r//7d6//+3ev/+qYD//qmA//6pgP/+qYD//qmA//6pgP/+qYD//qmA/4hQQv+IUEL/iFBC/4hQ
+ Qv+IUEL/iFBC/4hQQv+IUEL/i0wrYItMK2CLTCtgi0wrYItMK2CLTCtgi0wrYItMK2AAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnlMrUJ5T
+ K1CeUytQnlMrUJ5TK1CeUytQnlMrUJ5TK1CKVET/ilRE/4pURP+KVET/ilRE/4pURP+KVET/ilRE//zI
+ q//8yKv//Mir//zIq//8yKv//Mir//zIq//8yKv//9GY///RmP//0Zj//9GY///RmP//0Zj//9GY///R
+ mP/+x23//sdt//7Hbf/+x23//sdt//7Hbf/+x23//sdt//6/aP/+v2j//r9o//6/aP/+v2j//r9o//6/
+ aP/+v2j//rlk//65ZP/+uWT//rlk//65ZP/+uWT//rlk//65ZP/+sV7//rFe//6xXv/+sV7//rFe//6x
+ Xv/+sV7//rFe//6oWf/+qFn//qhZ//6oWf/+qFn//qhZ//6oWf/+qFn//aBU//2gVP/9oFT//aBU//2g
+ VP/9oFT//aBU//2gVP//t3r//7d6//+3ev//t3r//7d6//+3ev//t3r//7d6//6pgP/+qYD//qmA//6p
+ gP/+qYD//qmA//6pgP/+qYD/iFBC/4hQQv+IUEL/iFBC/4hQQv+IUEL/iFBC/4hQQv+LTCtgi0wrYItM
+ K2CLTCtgi0wrYItMK2CLTCtgi0wrYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5TK1CeUytQnlMrUJ5TK1CeUytQnlMrUIpU
+ RP+KVET/ilRE/4pURP+KVET/ilRE/4pURP+KVET//Mir//zIq//8yKv//Mir//zIq//8yKv//Mir//zI
+ q///0Zj//9GY///RmP//0Zj//9GY///RmP//0Zj//9GY//7Hbf/+x23//sdt//7Hbf/+x23//sdt//7H
+ bf/+x23//r9o//6/aP/+v2j//r9o//6/aP/+v2j//r9o//6/aP/+uWT//rlk//65ZP/+uWT//rlk//65
+ ZP/+uWT//rlk//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6xXv/+sV7//qhZ//6oWf/+qFn//qhZ//6o
+ Wf/+qFn//qhZ//6oWf/9oFT//aBU//2gVP/9oFT//aBU//2gVP/9oFT//aBU//+3ev//t3r//7d6//+3
+ ev//t3r//7d6//+3ev//t3r//qmA//6pgP/+qYD//qmA//6pgP/+qYD//qmA//6pgP+IUEL/iFBC/4hQ
+ Qv+IUEL/iFBC/4hQQv+IUEL/iFBC/4tMK2CLTCtgi0wrYItMK2CLTCtgi0wrYItMK2CLTCtgAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5T
+ K1CeUytQnlMrUJ5TK1CeUytQnlMrUJ5TK1CeUytQilRE/4pURP+KVET/ilRE/4pURP+KVET/ilRE/4pU
+ RP/8yKv//Mir//zIq//8yKv//Mir//zIq//8yKv//Mir///RmP//0Zj//9GY///RmP//0Zj//9GY///R
+ mP//0Zj//sdt//7Hbf/+x23//sdt//7Hbf/+x23//sdt//7Hbf/+v2j//r9o//6/aP/+v2j//r9o//6/
+ aP/+v2j//r9o//65ZP/+uWT//rlk//65ZP/+uWT//rlk//65ZP/+uWT//rFe//6xXv/+sV7//rFe//6x
+ Xv/+sV7//rFe//6xXv/+qFn//qhZ//6oWf/+qFn//qhZ//6oWf/+qFn//qhZ//2gVP/9oFT//aBU//2g
+ VP/9oFT//aBU//2gVP/9oFT//7d6//+3ev//t3r//7d6//+3ev//t3r//7d6//+3ev/+qYD//qmA//6p
+ gP/+qYD//qmA//6pgP/+qYD//qmA/4hQQv+IUEL/iFBC/4hQQv+IUEL/iFBC/4hQQv+IUEL/i0wrYItM
+ K2CLTCtgi0wrYItMK2CLTCtgi0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnlMrUJ5TK1CeUytQnlMrUJ5TK1CeUytQnlMrUJ5T
+ K1CKVET/ilRE/4pURP+KVET/ilRE/4pURP+KVET/ilRE//zIq//8yKv//Mir//zIq//8yKv//Mir//zI
+ q//8yKv//9GY///RmP//0Zj//9GY///RmP//0Zj//9GY///RmP/+x23//sdt//7Hbf/+x23//sdt//7H
+ bf/+x23//sdt//6/aP/+v2j//r9o//6/aP/+v2j//r9o//6/aP/+v2j//rlk//65ZP/+uWT//rlk//65
+ ZP/+uWT//rlk//65ZP/+sV7//rFe//6xXv/+sV7//rFe//6xXv/+sV7//rFe//6oWf/+qFn//qhZ//6o
+ Wf/+qFn//qhZ//6oWf/+qFn//aBU//2gVP/9oFT//aBU//2gVP/9oFT//aBU//2gVP//t3r//7d6//+3
+ ev//t3r//7d6//+3ev//t3r//7d6//6pgP/+qYD//qmA//6pgP/+qYD//qmA//6pgP/+qYD/iFBC/4hQ
+ Qv+IUEL/iFBC/4hQQv+IUEL/iFBC/4hQQv+LTCtgi0wrYItMK2CLTCtgi0wrYItMK2CLTCtgi0wrYAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACpSRMBqUkTAalJEwGpSRMBqUkTAalJEwGpSRMBqUkTAalGDWCpRg1gqUYNYKlGDWCpRg1gqUYNYKlG
+ DWCpRg1gxEwf/8RMH//ETB//xEwf/8RMH//ETB//xEwf/8RMH//25Nb/9uTW//bk1v/25Nb/9uTW//bk
+ 1v/25Nb/9uTW///kpP//5KT//+Sk///kpP//5KT//+Sk///kpP//5KT//9Ry///Ucv//1HL//9Ry///U
+ cv//1HL//9Ry///Ucv//yWn//8lp///Jaf//yWn//8lp///Jaf//yWn//8lp///AY///wGP//8Bj///A
+ Y///wGP//8Bj///AY///wGP//7Zf//+2X///tl///7Zf//+2X///tl///7Zf//+2X///wYD//8GA///B
+ gP//wYD//8GA///BgP//wYD//8GA//bXxv/218b/9tfG//bXxv/218b/9tfG//bXxv/218b/xUkf/8VJ
+ H//FSR//xUkf/8VJH//FSR//xUkf/8VJH/+ePgtpnj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZdB
+ DwSXQQ8El0EPBJdBDwSXQQ8El0EPBJdBDwSXQQ8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlJEwGpSRMBqUkTAalJEwGpSRMBqUkTAalJ
+ EwGpSRMBqUYNYKlGDWCpRg1gqUYNYKlGDWCpRg1gqUYNYKlGDWDETB//xEwf/8RMH//ETB//xEwf/8RM
+ H//ETB//xEwf//bk1v/25Nb/9uTW//bk1v/25Nb/9uTW//bk1v/25Nb//+Sk///kpP//5KT//+Sk///k
+ pP//5KT//+Sk///kpP//1HL//9Ry///Ucv//1HL//9Ry///Ucv//1HL//9Ry///Jaf//yWn//8lp///J
+ af//yWn//8lp///Jaf//yWn//8Bj///AY///wGP//8Bj///AY///wGP//8Bj///AY///tl///7Zf//+2
+ X///tl///7Zf//+2X///tl///7Zf///BgP//wYD//8GA///BgP//wYD//8GA///BgP//wYD/9tfG//bX
+ xv/218b/9tfG//bXxv/218b/9tfG//bXxv/FSR//xUkf/8VJH//FSR//xUkf/8VJH//FSR//xUkf/54+
+ C2mePgtpnj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpl0EPBJdBDwSXQQ8El0EPBJdBDwSXQQ8El0EPBJdB
+ DwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAqUkTAalJEwGpSRMBqUkTAalJEwGpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWCpRg1gqUYNYKlG
+ DWCpRg1gqUYNYMRMH//ETB//xEwf/8RMH//ETB//xEwf/8RMH//ETB//9uTW//bk1v/25Nb/9uTW//bk
+ 1v/25Nb/9uTW//bk1v//5KT//+Sk///kpP//5KT//+Sk///kpP//5KT//+Sk///Ucv//1HL//9Ry///U
+ cv//1HL//9Ry///Ucv//1HL//8lp///Jaf//yWn//8lp///Jaf//yWn//8lp///Jaf//wGP//8Bj///A
+ Y///wGP//8Bj///AY///wGP//8Bj//+2X///tl///7Zf//+2X///tl///7Zf//+2X///tl///8GA///B
+ gP//wYD//8GA///BgP//wYD//8GA///BgP/218b/9tfG//bXxv/218b/9tfG//bXxv/218b/9tfG/8VJ
+ H//FSR//xUkf/8VJH//FSR//xUkf/8VJH//FSR//nj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZ4+
+ C2mXQQ8El0EPBJdBDwSXQQ8El0EPBJdBDwSXQQ8El0EPBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpSRMBqUkTAalJ
+ EwGpSRMBqUkTAalGDWCpRg1gqUYNYKlGDWCpRg1gqUYNYKlGDWCpRg1gxEwf/8RMH//ETB//xEwf/8RM
+ H//ETB//xEwf/8RMH//25Nb/9uTW//bk1v/25Nb/9uTW//bk1v/25Nb/9uTW///kpP//5KT//+Sk///k
+ pP//5KT//+Sk///kpP//5KT//9Ry///Ucv//1HL//9Ry///Ucv//1HL//9Ry///Ucv//yWn//8lp///J
+ af//yWn//8lp///Jaf//yWn//8lp///AY///wGP//8Bj///AY///wGP//8Bj///AY///wGP//7Zf//+2
+ X///tl///7Zf//+2X///tl///7Zf//+2X///wYD//8GA///BgP//wYD//8GA///BgP//wYD//8GA//bX
+ xv/218b/9tfG//bXxv/218b/9tfG//bXxv/218b/xUkf/8VJH//FSR//xUkf/8VJH//FSR//xUkf/8VJ
+ H/+ePgtpnj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZdBDwSXQQ8El0EPBJdBDwSXQQ8El0EPBJdB
+ DwSXQQ8EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAKlJEwGpSRMBqUkTAalJEwGpSRMBqUkTAalJEwGpSRMBqUYNYKlGDWCpRg1gqUYNYKlG
+ DWCpRg1gqUYNYKlGDWDETB//xEwf/8RMH//ETB//xEwf/8RMH//ETB//xEwf//bk1v/25Nb/9uTW//bk
+ 1v/25Nb/9uTW//bk1v/25Nb//+Sk///kpP//5KT//+Sk///kpP//5KT//+Sk///kpP//1HL//9Ry///U
+ cv//1HL//9Ry///Ucv//1HL//9Ry///Jaf//yWn//8lp///Jaf//yWn//8lp///Jaf//yWn//8Bj///A
+ Y///wGP//8Bj///AY///wGP//8Bj///AY///tl///7Zf//+2X///tl///7Zf//+2X///tl///7Zf///B
+ gP//wYD//8GA///BgP//wYD//8GA///BgP//wYD/9tfG//bXxv/218b/9tfG//bXxv/218b/9tfG//bX
+ xv/FSR//xUkf/8VJH//FSR//xUkf/8VJH//FSR//xUkf/54+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZ4+
+ C2mePgtpl0EPBJdBDwSXQQ8El0EPBJdBDwSXQQ8El0EPBJdBDwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqUkTAalJEwGpSRMBqUkTAalJ
+ EwGpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWCpRg1gqUYNYKlGDWCpRg1gqUYNYMRMH//ETB//xEwf/8RM
+ H//ETB//xEwf/8RMH//ETB//9uTW//bk1v/25Nb/9uTW//bk1v/25Nb/9uTW//bk1v//5KT//+Sk///k
+ pP//5KT//+Sk///kpP//5KT//+Sk///Ucv//1HL//9Ry///Ucv//1HL//9Ry///Ucv//1HL//8lp///J
+ af//yWn//8lp///Jaf//yWn//8lp///Jaf//wGP//8Bj///AY///wGP//8Bj///AY///wGP//8Bj//+2
+ X///tl///7Zf//+2X///tl///7Zf//+2X///tl///8GA///BgP//wYD//8GA///BgP//wYD//8GA///B
+ gP/218b/9tfG//bXxv/218b/9tfG//bXxv/218b/9tfG/8VJH//FSR//xUkf/8VJH//FSR//xUkf/8VJ
+ H//FSR//nj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZ4+C2mXQQ8El0EPBJdBDwSXQQ8El0EPBJdB
+ DwSXQQ8El0EPBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpSRMBqUkTAalJEwGpSRMBqUkTAalGDWCpRg1gqUYNYKlG
+ DWCpRg1gqUYNYKlGDWCpRg1gxEwf/8RMH//ETB//xEwf/8RMH//ETB//xEwf/8RMH//25Nb/9uTW//bk
+ 1v/25Nb/9uTW//bk1v/25Nb/9uTW///kpP//5KT//+Sk///kpP//5KT//+Sk///kpP//5KT//9Ry///U
+ cv//1HL//9Ry///Ucv//1HL//9Ry///Ucv//yWn//8lp///Jaf//yWn//8lp///Jaf//yWn//8lp///A
+ Y///wGP//8Bj///AY///wGP//8Bj///AY///wGP//7Zf//+2X///tl///7Zf//+2X///tl///7Zf//+2
+ X///wYD//8GA///BgP//wYD//8GA///BgP//wYD//8GA//bXxv/218b/9tfG//bXxv/218b/9tfG//bX
+ xv/218b/xUkf/8VJH//FSR//xUkf/8VJH//FSR//xUkf/8VJH/+ePgtpnj4LaZ4+C2mePgtpnj4LaZ4+
+ C2mePgtpnj4LaZdBDwSXQQ8El0EPBJdBDwSXQQ8El0EPBJdBDwSXQQ8EAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKlJEwGpSRMBqUkTAalJ
+ EwGpSRMBqUkTAalJEwGpSRMBqUYNYKlGDWCpRg1gqUYNYKlGDWCpRg1gqUYNYKlGDWDETB//xEwf/8RM
+ H//ETB//xEwf/8RMH//ETB//xEwf//bk1v/25Nb/9uTW//bk1v/25Nb/9uTW//bk1v/25Nb//+Sk///k
+ pP//5KT//+Sk///kpP//5KT//+Sk///kpP//1HL//9Ry///Ucv//1HL//9Ry///Ucv//1HL//9Ry///J
+ af//yWn//8lp///Jaf//yWn//8lp///Jaf//yWn//8Bj///AY///wGP//8Bj///AY///wGP//8Bj///A
+ Y///tl///7Zf//+2X///tl///7Zf//+2X///tl///7Zf///BgP//wYD//8GA///BgP//wYD//8GA///B
+ gP//wYD/9tfG//bXxv/218b/9tfG//bXxv/218b/9tfG//bXxv/FSR//xUkf/8VJH//FSR//xUkf/8VJ
+ H//FSR//xUkf/54+C2mePgtpnj4LaZ4+C2mePgtpnj4LaZ4+C2mePgtpl0EPBJdBDwSXQQ8El0EPBJdB
+ DwSXQQ8El0EPBJdBDwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnShUHp0oVB6dK
+ FQenShUHp0oVB6dKFQenShUHp0oVB6RIE2mkSBNppEgTaaRIE2mkSBNppEgTaaRIE2mkSBNpvEgc/7xI
+ HP+8SBz/vEgc/7xIHP+8SBz/vEgc/7xIHP/04tT/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU/057
+ qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/89bD//PWw//z1sP/89bD//PWw//z1sP/89bD//PWw/++Rhz/vkYc/75GHP++Rhz/vkYc/75G
+ HP++Rhz/vkYc/51CEm+dQhJvnUISb51CEm+dQhJvnUISb51CEm+dQhJvmEITCphCEwqYQhMKmEITCphC
+ EwqYQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdKFQenShUHp0oVB6dKFQenShUHp0oVB6dKFQenShUHpEgTaaRI
+ E2mkSBNppEgTaaRIE2mkSBNppEgTaaRIE2m8SBz/vEgc/7xIHP+8SBz/vEgc/7xIHP+8SBz/vEgc//Ti
+ 1P/04tT/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057
+ qf9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf/z1sP/89bD//PWw//z1sP/89bD//PW
+ w//z1sP/89bD/75GHP++Rhz/vkYc/75GHP++Rhz/vkYc/75GHP++Rhz/nUISb51CEm+dQhJvnUISb51C
+ Em+dQhJvnUISb51CEm+YQhMKmEITCphCEwqYQhMKmEITCphCEwqYQhMKmEITCgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp0oVB6dK
+ FQenShUHp0oVB6dKFQenShUHp0oVB6dKFQekSBNppEgTaaRIE2mkSBNppEgTaaRIE2mkSBNppEgTabxI
+ HP+8SBz/vEgc/7xIHP+8SBz/vEgc/7xIHP+8SBz/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU//Ti
+ 1P9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/Tnup//PWw//z1sP/89bD//PWw//z1sP/89bD//PWw//z1sP/vkYc/75GHP++Rhz/vkYc/75G
+ HP++Rhz/vkYc/75GHP+dQhJvnUISb51CEm+dQhJvnUISb51CEm+dQhJvnUISb5hCEwqYQhMKmEITCphC
+ EwqYQhMKmEITCphCEwqYQhMKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnShUHp0oVB6dKFQenShUHp0oVB6dKFQenShUHp0oVB6RI
+ E2mkSBNppEgTaaRIE2mkSBNppEgTaaRIE2mkSBNpvEgc/7xIHP+8SBz/vEgc/7xIHP+8SBz/vEgc/7xI
+ HP/04tT/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/89bD//PWw//z1sP/89bD//PW
+ w//z1sP/89bD//PWw/++Rhz/vkYc/75GHP++Rhz/vkYc/75GHP++Rhz/vkYc/51CEm+dQhJvnUISb51C
+ Em+dQhJvnUISb51CEm+dQhJvmEITCphCEwqYQhMKmEITCphCEwqYQhMKmEITCphCEwoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdK
+ FQenShUHp0oVB6dKFQenShUHp0oVB6dKFQenShUHpEgTaaRIE2mkSBNppEgTaaRIE2mkSBNppEgTaaRI
+ E2m8SBz/vEgc/7xIHP+8SBz/vEgc/7xIHP+8SBz/vEgc//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU//Ti
+ 1P/04tT/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/Tnup/057qf/z1sP/89bD//PWw//z1sP/89bD//PWw//z1sP/89bD/75GHP++Rhz/vkYc/75G
+ HP++Rhz/vkYc/75GHP++Rhz/nUISb51CEm+dQhJvnUISb51CEm+dQhJvnUISb51CEm+YQhMKmEITCphC
+ EwqYQhMKmEITCphCEwqYQhMKmEITCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp0oVB6dKFQenShUHp0oVB6dKFQenShUHp0oVB6dK
+ FQekSBNppEgTaaRIE2mkSBNppEgTaaRIE2mkSBNppEgTabxIHP+8SBz/vEgc/7xIHP+8SBz/vEgc/7xI
+ HP+8SBz/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU//Ti1P9Oe6n/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/Tnup/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup//PWw//z1sP/89bD//PW
+ w//z1sP/89bD//PWw//z1sP/vkYc/75GHP++Rhz/vkYc/75GHP++Rhz/vkYc/75GHP+dQhJvnUISb51C
+ Em+dQhJvnUISb51CEm+dQhJvnUISb5hCEwqYQhMKmEITCphCEwqYQhMKmEITCphCEwqYQhMKAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACnShUHp0oVB6dKFQenShUHp0oVB6dKFQenShUHp0oVB6RIE2mkSBNppEgTaaRIE2mkSBNppEgTaaRI
+ E2mkSBNpvEgc/7xIHP+8SBz/vEgc/7xIHP+8SBz/vEgc/7xIHP/04tT/9OLU//Ti1P/04tT/9OLU//Ti
+ 1P/04tT/9OLU/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/057qf9Oe6n/Tnup/057
+ qf9Oe6n/Tnup/057qf9Oe6n/89bD//PWw//z1sP/89bD//PWw//z1sP/89bD//PWw/++Rhz/vkYc/75G
+ HP++Rhz/vkYc/75GHP++Rhz/vkYc/51CEm+dQhJvnUISb51CEm+dQhJvnUISb51CEm+dQhJvmEITCphC
+ EwqYQhMKmEITCphCEwqYQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdKFQenShUHp0oVB6dKFQenShUHp0oVB6dK
+ FQenShUHpEgTaaRIE2mkSBNppEgTaaRIE2mkSBNppEgTaaRIE2m8SBz/vEgc/7xIHP+8SBz/vEgc/7xI
+ HP+8SBz/vEgc//Ti1P/04tT/9OLU//Ti1P/04tT/9OLU//Ti1P/04tT/Tnup/057qf9Oe6n/Tnup/057
+ qf9Oe6n/Tnup/057qf9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/Tnup/057qf9Oe6n/Tnup/057qf9Oe6n/Tnup/057qf/z1sP/89bD//PW
+ w//z1sP/89bD//PWw//z1sP/89bD/75GHP++Rhz/vkYc/75GHP++Rhz/vkYc/75GHP++Rhz/nUISb51C
+ Em+dQhJvnUISb51CEm+dQhJvnUISb51CEm+YQhMKmEITCphCEwqYQhMKmEITCphCEwqYQhMKmEITCgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBaVLFwWlSxcFpUsXBaVL
+ FwWlSxcFpUsXBWo8JaJqPCWiajwlomo8JaJqPCWiajwlomo8JaJqPCWiNG2n/zRtp/80baf/NG2n/zRt
+ p/80baf/NG2n/zRtp/+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+czPj/nMz4/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/6XP
+ 9v+lz/b/pc/2/6XP9v+lz/b/pc/2/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/aD4trWg+
+ La1oPi2taD4trWg+La1oPi2taD4trWg+La2bRRUJm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAKVLFwWlSxcFpUsXBaVLFwWlSxcFpUsXBaVLFwWlSxcFajwlomo8JaJqPCWiajwlomo8
+ JaJqPCWiajwlomo8JaI0baf/NG2n/zRtp/80baf/NG2n/zRtp/80baf/NG2n/5zM+P+czPj/nMz4/5zM
+ +P+czPj/nMz4/5zM+P+czPj/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6XP9v+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP9v+lz/b/NHSu/zR0
+ rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv9oPi2taD4trWg+La1oPi2taD4trWg+La1oPi2taD4trZtF
+ FQmbRRUJm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApUsXBaVLFwWlSxcFpUsXBaVL
+ FwWlSxcFpUsXBaVLFwVqPCWiajwlomo8JaJqPCWiajwlomo8JaJqPCWiajwlojRtp/80baf/NG2n/zRt
+ p/80baf/NG2n/zRtp/80baf/nMz4/5zM+P+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/pc/2/6XP
+ 9v+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP9v80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/2g+
+ La1oPi2taD4trWg+La1oPi2taD4trWg+La1oPi2tm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCZtF
+ FQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAClSxcFpUsXBaVLFwWlSxcFpUsXBaVLFwWlSxcFpUsXBWo8JaJqPCWiajwlomo8
+ JaJqPCWiajwlomo8JaJqPCWiNG2n/zRtp/80baf/NG2n/zRtp/80baf/NG2n/zRtp/+czPj/nMz4/5zM
+ +P+czPj/nMz4/5zM+P+czPj/nMz4/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP9v+lz/b/pc/2/zR0
+ rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/aD4trWg+La1oPi2taD4trWg+La1oPi2taD4trWg+
+ La2bRRUJm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKVLFwWlSxcFpUsXBaVL
+ FwWlSxcFpUsXBaVLFwWlSxcFajwlomo8JaJqPCWiajwlomo8JaJqPCWiajwlomo8JaI0baf/NG2n/zRt
+ p/80baf/NG2n/zRtp/80baf/NG2n/5zM+P+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+czPj/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6XP
+ 9v+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP9v+lz/b/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0
+ rv9oPi2taD4trWg+La1oPi2taD4trWg+La1oPi2taD4trZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCZtF
+ FQmbRRUJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAApUsXBaVLFwWlSxcFpUsXBaVLFwWlSxcFpUsXBaVLFwVqPCWiajwlomo8
+ JaJqPCWiajwlomo8JaJqPCWiajwlojRtp/80baf/NG2n/zRtp/80baf/NG2n/zRtp/80baf/nMz4/5zM
+ +P+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/pc/2/6XP9v+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP
+ 9v80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/2g+La1oPi2taD4trWg+La1oPi2taD4trWg+
+ La1oPi2tm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCZtFFQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBaVL
+ FwWlSxcFpUsXBaVLFwWlSxcFpUsXBWo8JaJqPCWiajwlomo8JaJqPCWiajwlomo8JaJqPCWiNG2n/zRt
+ p/80baf/NG2n/zRtp/80baf/NG2n/zRtp/+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+czPj/nMz4/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP9v+lz/b/pc/2/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0
+ rv80dK7/aD4trWg+La1oPi2taD4trWg+La1oPi2taD4trWg+La2bRRUJm0UVCZtFFQmbRRUJm0UVCZtF
+ FQmbRRUJm0UVCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKVLFwWlSxcFpUsXBaVLFwWlSxcFpUsXBaVLFwWlSxcFajwlomo8
+ JaJqPCWiajwlomo8JaJqPCWiajwlomo8JaI0baf/NG2n/zRtp/80baf/NG2n/zRtp/80baf/NG2n/5zM
+ +P+czPj/nMz4/5zM+P+czPj/nMz4/5zM+P+czPj/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6XP9v+lz/b/pc/2/6XP9v+lz/b/pc/2/6XP
+ 9v+lz/b/NHSu/zR0rv80dK7/NHSu/zR0rv80dK7/NHSu/zR0rv9oPi2taD4trWg+La1oPi2taD4trWg+
+ La1oPi2taD4trZtFFQmbRRUJm0UVCZtFFQmbRRUJm0UVCZtFFQmbRRUJAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksQqW5LEKluSxCpbksQqW5LEKluSxKbK
+ 7v+myu7/psru/6bK7v+myu7/psru/6bK7v+myu7/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ
+ 9v+o0Pb/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+nze7/p83u/6fN7v+nze7/p83u/6fN
+ 7v+nze7/p83u/y1imswtYprMLWKazC1imswtYprMLWKazC1imswtYprMAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpb
+ ksQqW5LEKluSxCpbksQqW5LEKluSxCpbksQqW5LEpsru/6bK7v+myu7/psru/6bK7v+myu7/psru/6bK
+ 7v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ
+ 9v+n0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6fN7v+nze7/p83u/6fN7v+nze7/p83u/6fN7v+nze7/LWKazC1imswtYprMLWKazC1i
+ mswtYprMLWKazC1imswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKluSxCpbksQqW5LEKluSxCpbksQqW5LEKluSxCpb
+ ksSmyu7/psru/6bK7v+myu7/psru/6bK7v+myu7/psru/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/p9D2/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ
+ 9v+o0Pb/qND2/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/p83u/6fN7v+nze7/p83u/6fN
+ 7v+nze7/p83u/6fN7v8tYprMLWKazC1imswtYprMLWKazC1imswtYprMLWKazAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAqW5LEKluSxCpbksQqW5LEKluSxCpbksQqW5LEKluSxKbK7v+myu7/psru/6bK7v+myu7/psru/6bK
+ 7v+myu7/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ
+ 9v+n0Pb/p9D2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6vM6v+nze7/p83u/6fN7v+nze7/p83u/6fN7v+nze7/p83u/y1imswtYprMLWKazC1i
+ mswtYprMLWKazC1imswtYprMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpbksQqW5LEKluSxCpbksQqW5LEKluSxCpb
+ ksQqW5LEpsru/6bK7v+myu7/psru/6bK7v+myu7/psru/6bK7v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ
+ 9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6fN7v+nze7/p83u/6fN
+ 7v+nze7/p83u/6fN7v+nze7/LWKazC1imswtYprMLWKazC1imswtYprMLWKazC1imswAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAKluSxCpbksQqW5LEKluSxCpbksQqW5LEKluSxCpbksSmyu7/psru/6bK7v+myu7/psru/6bK
+ 7v+myu7/psru/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/p9D2/6fQ9v+n0Pb/p9D2/6fQ
+ 9v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6vM6v+rzOr/p83u/6fN7v+nze7/p83u/6fN7v+nze7/p83u/6fN7v8tYprMLWKazC1i
+ mswtYprMLWKazC1imswtYprMLWKazAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksQqW5LEKluSxCpb
+ ksQqW5LEKluSxKbK7v+myu7/psru/6bK7v+myu7/psru/6bK7v+myu7/q8zq/6vM6v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6fQ9v+n0Pb/p9D2/6jQ9v+o0Pb/qND2/6jQ
+ 9v+o0Pb/qND2/6jQ9v+o0Pb/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+nze7/p83u/6fN
+ 7v+nze7/p83u/6fN7v+nze7/p83u/y1imswtYprMLWKazC1imswtYprMLWKazC1imswtYprMAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAACpbksQqW5LEKluSxCpbksQqW5LEKluSxCpbksQqW5LEpsru/6bK7v+myu7/psru/6bK
+ 7v+myu7/psru/6bK7v+rzOr/q8zq/6vM6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6fQ9v+n0Pb/p9D2/6fQ
+ 9v+n0Pb/p9D2/6fQ9v+n0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM
+ 6v+rzOr/q8zq/6vM6v+rzOr/q8zq/6fN7v+nze7/p83u/6fN7v+nze7/p83u/6fN7v+nze7/LWKazC1i
+ mswtYprMLWKazC1imswtYprMLWKazC1imswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH16b7R9em+0fXpvtH16b7R9e
+ m+0fXpvtH16b7R9em+3Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/5fF8f+XxfH/l8Xx/5fF
+ 8f+XxfH/l8Xx/5fF8f+XxfH/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f9/qdH/f6nR/3+p
+ 0f9/qdH/f6nR/3+p0f9/qdH/f6nR/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//zd/u/83f
+ 7v/N3+7/zd/u/83f7v/N3+7/zd/u/83f7v8jaKfxI2in8SNop/EjaKfxI2in8SNop/EjaKfxI2in8Wqg
+ 0gZqoNIGaqDSBmqg0gZqoNIGaqDSBmqg0gZqoNIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAfXpvtH16b7R9em+0fXpvtH16b7R9em+0fXpvtH16b7dno9//Z6Pf/2ej3/9no
+ 9//Z6Pf/2ej3/9no9//Z6Pf/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+Ou+X/jrvl/467
+ 5f+Ou+X/jrvl/4675f+Ou+X/jrvl/3+p0f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p0f9/qdH/ibXf/4m1
+ 3/+Jtd//ibXf/4m13/+Jtd//ibXf/4m13//N3+7/zd/u/83f7v/N3+7/zd/u/83f7v/N3+7/zd/u/yNo
+ p/EjaKfxI2in8SNop/EjaKfxI2in8SNop/EjaKfxaqDSBmqg0gZqoNIGaqDSBmqg0gZqoNIGaqDSBmqg
+ 0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9em+0fXpvtH16b7R9e
+ m+0fXpvtH16b7R9em+0fXpvt2ej3/9no9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF
+ 8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/4675f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/f6nR/3+p
+ 0f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p0f+Jtd//ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/83f
+ 7v/N3+7/zd/u/83f7v/N3+7/zd/u/83f7v/N3+7/I2in8SNop/EjaKfxI2in8SNop/EjaKfxI2in8SNo
+ p/FqoNIGaqDSBmqg0gZqoNIGaqDSBmqg0gZqoNIGaqDSBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAH16b7R9em+0fXpvtH16b7R9em+0fXpvtH16b7R9em+3Z6Pf/2ej3/9no
+ 9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/5fF8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+XxfH/jrvl/467
+ 5f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p0f9/qdH/f6nR/4m1
+ 3/+Jtd//ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//zd/u/83f7v/N3+7/zd/u/83f7v/N3+7/zd/u/83f
+ 7v8jaKfxI2in8SNop/EjaKfxI2in8SNop/EjaKfxI2in8Wqg0gZqoNIGaqDSBmqg0gZqoNIGaqDSBmqg
+ 0gZqoNIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfXpvtH16b7R9e
+ m+0fXpvtH16b7R9em+0fXpvtH16b7dno9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9//Z6Pf/l8Xx/5fF
+ 8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/jrvl/3+p
+ 0f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p0f9/qdH/ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/4m1
+ 3//N3+7/zd/u/83f7v/N3+7/zd/u/83f7v/N3+7/zd/u/yNop/EjaKfxI2in8SNop/EjaKfxI2in8SNo
+ p/EjaKfxaqDSBmqg0gZqoNIGaqDSBmqg0gZqoNIGaqDSBmqg0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9em+0fXpvtH16b7R9em+0fXpvtH16b7R9em+0fXpvt2ej3/9no
+ 9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/467
+ 5f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/f6nR/3+p0f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p
+ 0f+Jtd//ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/83f7v/N3+7/zd/u/83f7v/N3+7/zd/u/83f
+ 7v/N3+7/I2in8SNop/EjaKfxI2in8SNop/EjaKfxI2in8SNop/FqoNIGaqDSBmqg0gZqoNIGaqDSBmqg
+ 0gZqoNIGaqDSBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH16b7R9e
+ m+0fXpvtH16b7R9em+0fXpvtH16b7R9em+3Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/5fF
+ 8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+XxfH/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/jrvl/467
+ 5f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p0f9/qdH/f6nR/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/4m1
+ 3/+Jtd//zd/u/83f7v/N3+7/zd/u/83f7v/N3+7/zd/u/83f7v8jaKfxI2in8SNop/EjaKfxI2in8SNo
+ p/EjaKfxI2in8Wqg0gZqoNIGaqDSBmqg0gZqoNIGaqDSBmqg0gZqoNIGAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfXpvtH16b7R9em+0fXpvtH16b7R9em+0fXpvtH16b7dno
+ 9//Z6Pf/2ej3/9no9//Z6Pf/2ej3/9no9//Z6Pf/l8Xx/5fF8f+XxfH/l8Xx/5fF8f+XxfH/l8Xx/5fF
+ 8f+Ou+X/jrvl/4675f+Ou+X/jrvl/4675f+Ou+X/jrvl/3+p0f9/qdH/f6nR/3+p0f9/qdH/f6nR/3+p
+ 0f9/qdH/ibXf/4m13/+Jtd//ibXf/4m13/+Jtd//ibXf/4m13//N3+7/zd/u/83f7v/N3+7/zd/u/83f
+ 7v/N3+7/zd/u/yNop/EjaKfxI2in8SNop/EjaKfxI2in8SNop/EjaKfxaqDSBmqg0gZqoNIGaqDSBmqg
+ 0gZqoNIGaqDSBmqg0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+
+ h/8MPof/DD6H/ww+h/8MPof/DD6H/ww+h/8MPof/fJe4/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/3yX
+ uP+Kt+T/irfk/4q35P+Kt+T/irfk/4q35P+Kt+T/irfk/3GcyP9xnMj/cZzI/3GcyP9xnMj/cZzI/3Gc
+ yP9xnMj/FUBu/xVAbv8VQG7/FUBu/xVAbv8VQG7/FUBu/xVAbv8ZRHL/GURy/xlEcv8ZRHL/GURy/xlE
+ cv8ZRHL/GURy/yJFa/8iRWv/IkVr/yJFa/8iRWv/IkVr/yJFa/8iRWv/ETtm+hE7ZvoRO2b6ETtm+hE7
+ ZvoRO2b6ETtm+hE7ZvpNeKIHTXiiB014ogdNeKIHTXiiB014ogdNeKIHTXiiBwAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD6H/ww+h/8MPof/DD6H/ww+h/8MPof/DD6H/ww+
+ h/98l7j/fJe4/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/4q35P+Kt+T/irfk/4q35P+Kt+T/irfk/4q3
+ 5P+Kt+T/cZzI/3GcyP9xnMj/cZzI/3GcyP9xnMj/cZzI/3GcyP8VQG7/FUBu/xVAbv8VQG7/FUBu/xVA
+ bv8VQG7/FUBu/xlEcv8ZRHL/GURy/xlEcv8ZRHL/GURy/xlEcv8ZRHL/IkVr/yJFa/8iRWv/IkVr/yJF
+ a/8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+k14ogdNeKIHTXiiB014
+ ogdNeKIHTXiiB014ogdNeKIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAMPof/DD6H/ww+h/8MPof/DD6H/ww+h/8MPof/DD6H/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/3yX
+ uP98l7j/irfk/4q35P+Kt+T/irfk/4q35P+Kt+T/irfk/4q35P9xnMj/cZzI/3GcyP9xnMj/cZzI/3Gc
+ yP9xnMj/cZzI/xVAbv8VQG7/FUBu/xVAbv8VQG7/FUBu/xVAbv8VQG7/GURy/xlEcv8ZRHL/GURy/xlE
+ cv8ZRHL/GURy/xlEcv8iRWv/IkVr/yJFa/8iRWv/IkVr/yJFa/8iRWv/IkVr/xE7ZvoRO2b6ETtm+hE7
+ ZvoRO2b6ETtm+hE7ZvoRO2b6TXiiB014ogdNeKIHTXiiB014ogdNeKIHTXiiB014ogcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+h/8MPof/DD6H/ww+h/8MPof/DD6H/ww+
+ h/8MPof/fJe4/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/3yXuP+Kt+T/irfk/4q35P+Kt+T/irfk/4q3
+ 5P+Kt+T/irfk/3GcyP9xnMj/cZzI/3GcyP9xnMj/cZzI/3GcyP9xnMj/FUBu/xVAbv8VQG7/FUBu/xVA
+ bv8VQG7/FUBu/xVAbv8ZRHL/GURy/xlEcv8ZRHL/GURy/xlEcv8ZRHL/GURy/yJFa/8iRWv/IkVr/yJF
+ a/8iRWv/IkVr/yJFa/8iRWv/ETtm+hE7ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+hE7ZvpNeKIHTXiiB014
+ ogdNeKIHTXiiB014ogdNeKIHTXiiBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAADD6H/ww+h/8MPof/DD6H/ww+h/8MPof/DD6H/ww+h/98l7j/fJe4/3yXuP98l7j/fJe4/3yX
+ uP98l7j/fJe4/4q35P+Kt+T/irfk/4q35P+Kt+T/irfk/4q35P+Kt+T/cZzI/3GcyP9xnMj/cZzI/3Gc
+ yP9xnMj/cZzI/3GcyP8VQG7/FUBu/xVAbv8VQG7/FUBu/xVAbv8VQG7/FUBu/xlEcv8ZRHL/GURy/xlE
+ cv8ZRHL/GURy/xlEcv8ZRHL/IkVr/yJFa/8iRWv/IkVr/yJFa/8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7
+ ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+k14ogdNeKIHTXiiB014ogdNeKIHTXiiB014ogdNeKIHAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPof/DD6H/ww+h/8MPof/DD6H/ww+
+ h/8MPof/DD6H/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/3yXuP98l7j/irfk/4q35P+Kt+T/irfk/4q3
+ 5P+Kt+T/irfk/4q35P9xnMj/cZzI/3GcyP9xnMj/cZzI/3GcyP9xnMj/cZzI/xVAbv8VQG7/FUBu/xVA
+ bv8VQG7/FUBu/xVAbv8VQG7/GURy/xlEcv8ZRHL/GURy/xlEcv8ZRHL/GURy/xlEcv8iRWv/IkVr/yJF
+ a/8iRWv/IkVr/yJFa/8iRWv/IkVr/xE7ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+hE7ZvoRO2b6TXiiB014
+ ogdNeKIHTXiiB014ogdNeKIHTXiiB014ogcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAw+h/8MPof/DD6H/ww+h/8MPof/DD6H/ww+h/8MPof/fJe4/3yXuP98l7j/fJe4/3yX
+ uP98l7j/fJe4/3yXuP+Kt+T/irfk/4q35P+Kt+T/irfk/4q35P+Kt+T/irfk/3GcyP9xnMj/cZzI/3Gc
+ yP9xnMj/cZzI/3GcyP9xnMj/FUBu/xVAbv8VQG7/FUBu/xVAbv8VQG7/FUBu/xVAbv8ZRHL/GURy/xlE
+ cv8ZRHL/GURy/xlEcv8ZRHL/GURy/yJFa/8iRWv/IkVr/yJFa/8iRWv/IkVr/yJFa/8iRWv/ETtm+hE7
+ ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+hE7ZvpNeKIHTXiiB014ogdNeKIHTXiiB014ogdNeKIHTXiiBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD6H/ww+h/8MPof/DD6H/ww+
+ h/8MPof/DD6H/ww+h/98l7j/fJe4/3yXuP98l7j/fJe4/3yXuP98l7j/fJe4/4q35P+Kt+T/irfk/4q3
+ 5P+Kt+T/irfk/4q35P+Kt+T/cZzI/3GcyP9xnMj/cZzI/3GcyP9xnMj/cZzI/3GcyP8VQG7/FUBu/xVA
+ bv8VQG7/FUBu/xVAbv8VQG7/FUBu/xlEcv8ZRHL/GURy/xlEcv8ZRHL/GURy/xlEcv8ZRHL/IkVr/yJF
+ a/8iRWv/IkVr/yJFa/8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvoRO2b6ETtm+hE7ZvoRO2b6ETtm+k14
+ ogdNeKIHTXiiB014ogdNeKIHTXiiB014ogdNeKIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8PS5f/D0uX/xJYn/8SWJ//Elif/xJY
+ n/8SWJ//Elif/xJYn/8SWJ//D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PS4f/D0uH/w9L
+ h/8PS4f/D0uH/w9Lh/8PS4f/D0uH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/FUyF/xVM
+ hf8VTIX/FUyF/xVMhf8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/w8z
+ XPEPM1zxDzNc8Q8zXPEPM1zxDzNc8Q8zXPEPM1zxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9Ll/8PS5f/D0uX/w9L
+ l/8PS5f/D0uX/w9Ll/8PS5f/Elif/xJYn/8SWJ//Elif/xJYn/8SWJ//Elif/xJYn/8PSor/D0qK/w9K
+ iv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/EUuH/xFL
+ h/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8VTIX/FUyF/xVMhf8VTIX/FUyF/xJB
+ df8SQXX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/DzNc8Q8zXPEPM1zxDzNc8Q8zXPEPM1zxDzNc8Q8z
+ XPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAD0uX/w9Ll/8PS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8SWJ//Elif/xJY
+ n/8SWJ//Elif/xJYn/8SWJ//Elif/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0uH/w9L
+ h/8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xVM
+ hf8VTIX/FUyF/xVMhf8VTIX/FUyF/xVMhf8VTIX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJB
+ df8PM1zxDzNc8Q8zXPEPM1zxDzNc8Q8zXPEPM1zxDzNc8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9L
+ l/8PS5f/D0uX/w9Ll/8PS5f/D0uX/xJYn/8SWJ//Elif/xJYn/8SWJ//Elif/xJYn/8SWJ//D0qK/w9K
+ iv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/D0uH/xFL
+ h/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/FUyF/xVMhf8VTIX/FUyF/xVMhf8VTIX/FUyF/xVM
+ hf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/w8zXPEPM1zxDzNc8Q8zXPEPM1zxDzNc8Q8z
+ XPEPM1zxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9Ll/8PS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8PS5f/Elif/xJY
+ n/8SWJ//Elif/xJYn/8SWJ//Elif/xJYn/8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0qK/w9L
+ h/8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFL
+ h/8VTIX/FUyF/xVMhf8VTIX/FUyF/xVMhf8VTIX/FUyF/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJB
+ df8SQXX/DzNc8Q8zXPEPM1zxDzNc8Q8zXPEPM1zxDzNc8Q8zXPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0uX/w9L
+ l/8PS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8SWJ//Elif/xJYn/8SWJ//Elif/xJYn/8SWJ//Elif/w9K
+ iv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9L
+ h/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xVMhf8VTIX/FUyF/xVMhf8VTIX/FUyF/xVM
+ hf8VTIX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJBdf8PM1zxDzNc8Q8zXPEPM1zxDzNc8Q8z
+ XPEPM1zxDzNc8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8PS5f/D0uX/xJY
+ n/8SWJ//Elif/xJYn/8SWJ//Elif/xJYn/8SWJ//D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0qK/w9K
+ iv8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/D0uH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFL
+ h/8RS4f/FUyF/xVMhf8VTIX/FUyF/xVMhf8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJB
+ df8SQXX/EkF1/w8zXPEPM1zxDzNc8Q8zXPEPM1zxDzNc8Q8zXPEPM1zxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9L
+ l/8PS5f/D0uX/w9Ll/8PS5f/D0uX/w9Ll/8PS5f/Elif/xJYn/8SWJ//Elif/xJYn/8SWJ//Elif/xJY
+ n/8PSor/D0qK/w9Kiv8PSor/D0qK/w9Kiv8PSor/D0qK/w9Lh/8PS4f/D0uH/w9Lh/8PS4f/D0uH/w9L
+ h/8PS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8VTIX/FUyF/xVM
+ hf8VTIX/FUyF/xJBdf8SQXX/EkF1/xJBdf8SQXX/EkF1/xJBdf8SQXX/DzNc8Q8zXPEPM1zxDzNc8Q8z
+ XPEPM1zxDzNc8Q8zXPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjNndxIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxIz
+ Z3cRTpb+EU6W/hFOlv4RTpb+EU6W/hFOlv4RTpb+EU6W/hJYm/8SWJv/Elib/xJYm/8SWJv/Elib/xJY
+ m/8SWJv/EliZ/xJYmf8SWJn/EliZ/xJYmf8SWJn/EliZ/xJYmf8RU5P/EVOT/xFTk/8RU5P/EVOT/xFT
+ k/8RU5P/EVOT/w9Kh/8PSof/D0qH/w9Kh/8PSof/D0qH/w9Kh/8PSof/Dj5x/g4+cf4OPnH+Dj5x/g4+
+ cf4OPnH+Dj5x/g4+cf4TLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4ETLkuBEy5LgQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAASM2d3EjNndxIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxFOlv4RTpb+EU6W/hFOlv4RTpb+EU6W/hFO
+ lv4RTpb+Elib/xJYm/8SWJv/Elib/xJYm/8SWJv/Elib/xJYm/8SWJn/EliZ/xJYmf8SWJn/EliZ/xJY
+ mf8SWJn/EliZ/xFTk/8RU5P/EVOT/xFTk/8RU5P/EVOT/xFTk/8RU5P/D0qH/w9Kh/8PSof/D0qH/w9K
+ h/8PSof/D0qH/w9Kh/8OPnH+Dj5x/g4+cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/hMuS4ETLkuBEy5LgRMu
+ S4ETLkuBEy5LgRMuS4ETLkuBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxIz
+ Z3cSM2d3EU6W/hFOlv4RTpb+EU6W/hFOlv4RTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJv/Elib/xJY
+ m/8SWJv/Elib/xJYmf8SWJn/EliZ/xJYmf8SWJn/EliZ/xJYmf8SWJn/EVOT/xFTk/8RU5P/EVOT/xFT
+ k/8RU5P/EVOT/xFTk/8PSof/D0qH/w9Kh/8PSof/D0qH/w9Kh/8PSof/D0qH/w4+cf4OPnH+Dj5x/g4+
+ cf4OPnH+Dj5x/g4+cf4OPnH+Ey5LgRMuS4ETLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAEjNndxIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxIzZ3cRTpb+EU6W/hFOlv4RTpb+EU6W/hFO
+ lv4RTpb+EU6W/hJYm/8SWJv/Elib/xJYm/8SWJv/Elib/xJYm/8SWJv/EliZ/xJYmf8SWJn/EliZ/xJY
+ mf8SWJn/EliZ/xJYmf8RU5P/EVOT/xFTk/8RU5P/EVOT/xFTk/8RU5P/EVOT/w9Kh/8PSof/D0qH/w9K
+ h/8PSof/D0qH/w9Kh/8PSof/Dj5x/g4+cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/g4+cf4TLkuBEy5LgRMu
+ S4ETLkuBEy5LgRMuS4ETLkuBEy5LgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASM2d3EjNndxIzZ3cSM2d3EjNndxIz
+ Z3cSM2d3EjNndxFOlv4RTpb+EU6W/hFOlv4RTpb+EU6W/hFOlv4RTpb+Elib/xJYm/8SWJv/Elib/xJY
+ m/8SWJv/Elib/xJYm/8SWJn/EliZ/xJYmf8SWJn/EliZ/xJYmf8SWJn/EliZ/xFTk/8RU5P/EVOT/xFT
+ k/8RU5P/EVOT/xFTk/8RU5P/D0qH/w9Kh/8PSof/D0qH/w9Kh/8PSof/D0qH/w9Kh/8OPnH+Dj5x/g4+
+ cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/hMuS4ETLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4ETLkuBAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxIzZ3cSM2d3EU6W/hFOlv4RTpb+EU6W/hFO
+ lv4RTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJv/Elib/xJYm/8SWJv/Elib/xJYmf8SWJn/EliZ/xJY
+ mf8SWJn/EliZ/xJYmf8SWJn/EVOT/xFTk/8RU5P/EVOT/xFTk/8RU5P/EVOT/xFTk/8PSof/D0qH/w9K
+ h/8PSof/D0qH/w9Kh/8PSof/D0qH/w4+cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/g4+cf4OPnH+Ey5LgRMu
+ S4ETLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjNndxIzZ3cSM2d3EjNndxIz
+ Z3cSM2d3EjNndxIzZ3cRTpb+EU6W/hFOlv4RTpb+EU6W/hFOlv4RTpb+EU6W/hJYm/8SWJv/Elib/xJY
+ m/8SWJv/Elib/xJYm/8SWJv/EliZ/xJYmf8SWJn/EliZ/xJYmf8SWJn/EliZ/xJYmf8RU5P/EVOT/xFT
+ k/8RU5P/EVOT/xFTk/8RU5P/EVOT/w9Kh/8PSof/D0qH/w9Kh/8PSof/D0qH/w9Kh/8PSof/Dj5x/g4+
+ cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/g4+cf4TLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4ETLkuBEy5LgQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAASM2d3EjNndxIzZ3cSM2d3EjNndxIzZ3cSM2d3EjNndxFOlv4RTpb+EU6W/hFO
+ lv4RTpb+EU6W/hFOlv4RTpb+Elib/xJYm/8SWJv/Elib/xJYm/8SWJv/Elib/xJYm/8SWJn/EliZ/xJY
+ mf8SWJn/EliZ/xJYmf8SWJn/EliZ/xFTk/8RU5P/EVOT/xFTk/8RU5P/EVOT/xFTk/8RU5P/D0qH/w9K
+ h/8PSof/D0qH/w9Kh/8PSof/D0qH/w9Kh/8OPnH+Dj5x/g4+cf4OPnH+Dj5x/g4+cf4OPnH+Dj5x/hMu
+ S4ETLkuBEy5LgRMuS4ETLkuBEy5LgRMuS4ETLkuBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAFDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0SSI30EkiN9BJI
+ jfQSSI30EkiN9BJIjfQSSI30EkiN9BBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/D0iK/w9I
+ iv8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8RQn31EUJ99RFCffURQn31EUJ99RFCffURQn31EUJ99RUz
+ W4QVM1uEFTNbhBUzW4QVM1uEFTNbhBUzW4QVM1uEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNWp9FDVqfRQ1
+ an0UNWp9FDVqfRQ1an0UNWp9FDVqfRJIjfQSSI30EkiN9BJIjfQSSI30EkiN9BJIjfQSSI30EEuQ/xBL
+ kP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/D0iK/xFC
+ ffURQn31EUJ99RFCffURQn31EUJ99RFCffURQn31FTNbhBUzW4QVM1uEFTNbhBUzW4QVM1uEFTNbhBUz
+ W4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ1an0UNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9EkiN9BJI
+ jfQSSI30EkiN9BJIjfQSSI30EkiN9BJIjfQQS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/w9I
+ iv8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/EUJ99RFCffURQn31EUJ99RFCffURQn31EUJ99RFC
+ ffUVM1uEFTNbhBUzW4QVM1uEFTNbhBUzW4QVM1uEFTNbhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDVqfRQ1
+ an0UNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0SSI30EkiN9BJIjfQSSI30EkiN9BJIjfQSSI30EkiN9BBL
+ kP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9I
+ iv8RQn31EUJ99RFCffURQn31EUJ99RFCffURQn31EUJ99RUzW4QVM1uEFTNbhBUzW4QVM1uEFTNbhBUz
+ W4QVM1uEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9FDVqfRJI
+ jfQSSI30EkiN9BJIjfQSSI30EkiN9BJIjfQSSI30EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBL
+ kP8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/D0iK/xFCffURQn31EUJ99RFCffURQn31EUJ99RFC
+ ffURQn31FTNbhBUzW4QVM1uEFTNbhBUzW4QVM1uEFTNbhBUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ1
+ an0UNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9EkiN9BJIjfQSSI30EkiN9BJIjfQSSI30EkiN9BJI
+ jfQQS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9I
+ iv8PSIr/EUJ99RFCffURQn31EUJ99RFCffURQn31EUJ99RFCffUVM1uEFTNbhBUzW4QVM1uEFTNbhBUz
+ W4QVM1uEFTNbhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9FDVqfRQ1
+ an0SSI30EkiN9BJIjfQSSI30EkiN9BJIjfQSSI30EkiN9BBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBL
+ kP8QS5D/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9Iiv8RQn31EUJ99RFCffURQn31EUJ99RFC
+ ffURQn31EUJ99RUzW4QVM1uEFTNbhBUzW4QVM1uEFTNbhBUzW4QVM1uEAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAUNWp9FDVqfRQ1an0UNWp9FDVqfRQ1an0UNWp9FDVqfRJIjfQSSI30EkiN9BJIjfQSSI30EkiN9BJI
+ jfQSSI30EEuQ/xBLkP8QS5D/EEuQ/xBLkP8QS5D/EEuQ/xBLkP8PSIr/D0iK/w9Iiv8PSIr/D0iK/w9I
+ iv8PSIr/D0iK/xFCffURQn31EUJ99RFCffURQn31EUJ99RFCffURQn31FTNbhBUzW4QVM1uEFTNbhBUz
+ W4QVM1uEFTNbhBUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAP//////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAA
+ AAAAAP////8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAA
+ AAAAAAAAAAD/////AAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A
+ AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA
+ AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
+ AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A
+ AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA
+ AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
+ AAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAA
+ AAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8A
+ AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAA
+ AP//AAAAAAAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAA
+ AAAAAAD///8AAAAAAAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAA
+ AAAAAAAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAD/////
+ AAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD/
+ //////8AAAAAAAAAAAAA////////AAAAAAAAAAAAAP///////wAAAAAAAAAAAAD///////8AAAAAAAAA
+ AAAA////////AAAAAAAAAAAAAP////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAA
+ AAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAA////////
+ //8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAAAP////////8AAAAAAAAAAAD/
+ ////////AAAAAAAAAAAA/////////wAAAAAAAAAAAP////////8AAAAAAAAAAAD/////////AAAAAAAA
+ AAAA/////////wAAAAAAAAAAAP////////8AAAAAAAAAAAD/////////AAAAAAAAAAAA/////////wAA
+ AAAAAAAAAP////////8AAAAAAAAAAAD/////////AAAAAAAAAAAA/////////wAAAAAAAAAAAP//////
+ //8AAAAAAAAAAAD/////////AAAAAAAAAAAA/////////wAAAAAAAAAAAP////////8AAAAAAAAAAP//
+ ////////AAAAAAAAAAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAA
+ AAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAA
+ AAAAAAAA//////////8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAA////////
+ //8AAAAAAAAAAP//////////AAAAAAAAAAD//////////wAAAAAAAAAA//////////8AAAAAAAAAAP//
+ /////////wAAAAAAAP////////////8AAAAAAAD/////////////AAAAAAAA/////////////wAAAAAA
+ AP////////////8AAAAAAAD/////////////AAAAAAAA/////////////wAAAAAAAP////////////8A
+ AAAAAAD/////////////////////////////////////////////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////
+ ////////////////////////KAAAAEAAAACAAAAAAQAgAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo3w1pqN8NaajfDWmo3w2Een4ThHp+E4R6
+ fhOEen4Ts1AgmLNQIJizUCCYs1AgmKBAH+OgQB/joEAf46BAH+OqRSL1qkUi9apFIvWqRSL1rEYi+qxG
+ IvqsRiL6rEYi+qtEIvqrRCL6q0Qi+qtEIvqnQSH2p0Eh9qdBIfanQSH2nz0f6p89H+qfPR/qnz0f6rJP
+ JLqyTyS6sk8kurJPJLqAbnAWgG5wFoBucBaAbnAWaanhDWmp4Q1pqeENaanhDQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDWmo
+ 3w1pqN8NhHp+E4R6fhOEen4ThHp+E7NQIJizUCCYs1AgmLNQIJigQB/joEAf46BAH+OgQB/jqkUi9apF
+ IvWqRSL1qkUi9axGIvqsRiL6rEYi+qxGIvqrRCL6q0Qi+qtEIvqrRCL6p0Eh9qdBIfanQSH2p0Eh9p89
+ H+qfPR/qnz0f6p89H+qyTyS6sk8kurJPJLqyTyS6gG5wFoBucBaAbnAWgG5wFmmp4Q1pqeENaanhDWmp
+ 4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAaajfDWmo3w1pqN8NaajfDYR6fhOEen4ThHp+E4R6fhOzUCCYs1AgmLNQIJizUCCYoEAf46BA
+ H+OgQB/joEAf46pFIvWqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqsRiL6q0Qi+qtEIvqrRCL6q0Qi+qdB
+ IfanQSH2p0Eh9qdBIfafPR/qnz0f6p89H+qfPR/qsk8kurJPJLqyTyS6sk8kuoBucBaAbnAWgG5wFoBu
+ cBZpqeENaanhDWmp4Q1pqeENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo3w1pqN8NaajfDWmo3w2Een4ThHp+E4R6fhOEen4Ts1AgmLNQ
+ IJizUCCYs1AgmKBAH+OgQB/joEAf46BAH+OqRSL1qkUi9apFIvWqRSL1rEYi+qxGIvqsRiL6rEYi+qtE
+ IvqrRCL6q0Qi+qtEIvqnQSH2p0Eh9qdBIfanQSH2nz0f6p89H+qfPR/qnz0f6rJPJLqyTyS6sk8kurJP
+ JLqAbnAWgG5wFoBucBaAbnAWaanhDWmp4Q1pqeENaanhDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2i03ltotN5baLTeW2i03klec37JXnN+yV5zfslec37hmFh+4Zh
+ YfuGYWH7hmFh+79gNf+/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWH//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf+xSST/sUkk/7FJJP+xSST/emRt9XpkbfV6ZG31emRt9S5+zvgufs74Ln7O+C5+zvhtotODbaLTg22i
+ 04NtotODAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtotN5baLTeW2i03ltotN5JXnN+yV5
+ zfslec37JXnN+4ZhYfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf+/YDX//rlh//65Yf/+uWH//rlh//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yf/+uWH//rlh//65
+ Yf/+uWH//rlh//65Yf/+uWH/sUkk/7FJJP+xSST/sUkk/3pkbfV6ZG31emRt9XpkbfUufs74Ln7O+C5+
+ zvgufs74baLTg22i04NtotODbaLTgwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbaLTeW2i
+ 03ltotN5baLTeSV5zfslec37JXnN+yV5zfuGYWH7hmFh+4ZhYfuGYWH7v2A1/79gNf+/YDX/v2A1//65
+ Yf/+uWH//rlh//65Yf/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWH//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh/7FJJP+xSST/sUkk/7FJJP96ZG31emRt9Xpk
+ bfV6ZG31Ln7O+C5+zvgufs74Ln7O+G2i04NtotODbaLTg22i04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAG2i03ltotN5baLTeW2i03klec37JXnN+yV5zfslec37hmFh+4ZhYfuGYWH7hmFh+79g
+ Nf+/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWH//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rlh//65Yf/+uWH//rlh//65Yf/+uWH//rlh//65Yf+xSST/sUkk/7FJ
+ JP+xSST/emRt9XpkbfV6ZG31emRt9S5+zvgufs74Ln7O+C5+zvhtotODbaLTg22i04NtotODAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f4pfdH+grru/4K67v+Cuu7/grru/59m
+ WP+fZlj/n2ZY/59mWP/1u4T/9buE//W7hP/1u4T//6xb//+sW///rFv//6xb//6oWv/+qFr//qha//6o
+ Wv/+olf//qJX//6iV//+olf//pxT//6cU//+nFP//pxT//+jVf//o1X//6NV//+jVf//n1D//59Q//+f
+ UP//n1D/+K54//iueP/4rnj/+K54/6ReSv+kXkr/pF5K/6ReSv+DvO//g7zv/4O87/+DvO//KnfK/ip3
+ yv4qd8r+KnfK/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKX3R/il90f4pfdH+KX3R/oK6
+ 7v+Cuu7/grru/4K67v+fZlj/n2ZY/59mWP+fZlj/9buE//W7hP/1u4T/9buE//+sW///rFv//6xb//+s
+ W//+qFr//qha//6oWv/+qFr//qJX//6iV//+olf//qJX//6cU//+nFP//pxT//6cU///o1X//6NV//+j
+ Vf//o1X//59Q//+fUP//n1D//59Q//iueP/4rnj/+K54//iueP+kXkr/pF5K/6ReSv+kXkr/g7zv/4O8
+ 7/+DvO//g7zv/yp3yv4qd8r+KnfK/ip3yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACl9
+ 0f4pfdH+KX3R/il90f6Cuu7/grru/4K67v+Cuu7/n2ZY/59mWP+fZlj/n2ZY//W7hP/1u4T/9buE//W7
+ hP//rFv//6xb//+sW///rFv//qha//6oWv/+qFr//qha//6iV//+olf//qJX//6iV//+nFP//pxT//6c
+ U//+nFP//6NV//+jVf//o1X//6NV//+fUP//n1D//59Q//+fUP/4rnj/+K54//iueP/4rnj/pF5K/6Re
+ Sv+kXkr/pF5K/4O87/+DvO//g7zv/4O87/8qd8r+KnfK/ip3yv4qd8r+AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f4pfdH+grru/4K67v+Cuu7/grru/59mWP+fZlj/n2ZY/59m
+ WP/1u4T/9buE//W7hP/1u4T//6xb//+sW///rFv//6xb//6oWv/+qFr//qha//6oWv/+olf//qJX//6i
+ V//+olf//pxT//6cU//+nFP//pxT//+jVf//o1X//6NV//+jVf//n1D//59Q//+fUP//n1D/+K54//iu
+ eP/4rnj/+K54/6ReSv+kXkr/pF5K/6ReSv+DvO//g7zv/4O87/+DvO//KnfK/ip3yv4qd8r+KnfK/gAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKHzO/Ch8zvwofM78KHzO/Hiz6v94s+r/eLPq/3iz
+ 6v+znpT/s56U/7OelP+znpT//7dg//+3YP//t2D//7dg//+2Y///tmP//7Zj//+2Y//+smH//rJh//6y
+ Yf/+smH//qxd//6sXf/+rF3//qxd//6lWf/+pVn//qVZ//6lWf/9nlP//Z5T//2eU//9nlP//pdO//6X
+ Tv/+l07//pdO//+NQ///jUP//41D//+NQ/+8j4L/vI+C/7yPgv+8j4L/frjt/3647f9+uO3/frjt/yl0
+ x/opdMf6KXTH+il0x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh8zvwofM78KHzO/Ch8
+ zvx4s+r/eLPq/3iz6v94s+r/s56U/7OelP+znpT/s56U//+3YP//t2D//7dg//+3YP//tmP//7Zj//+2
+ Y///tmP//rJh//6yYf/+smH//rJh//6sXf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/+pVn//Z5T//2e
+ U//9nlP//Z5T//6XTv/+l07//pdO//6XTv//jUP//41D//+NQ///jUP/vI+C/7yPgv+8j4L/vI+C/364
+ 7f9+uO3/frjt/3647f8pdMf6KXTH+il0x/opdMf6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAofM78KHzO/Ch8zvwofM78eLPq/3iz6v94s+r/eLPq/7OelP+znpT/s56U/7OelP//t2D//7dg//+3
+ YP//t2D//7Zj//+2Y///tmP//7Zj//6yYf/+smH//rJh//6yYf/+rF3//qxd//6sXf/+rF3//qVZ//6l
+ Wf/+pVn//qVZ//2eU//9nlP//Z5T//2eU//+l07//pdO//6XTv/+l07//41D//+NQ///jUP//41D/7yP
+ gv+8j4L/vI+C/7yPgv9+uO3/frjt/3647f9+uO3/KXTH+il0x/opdMf6KXTH+gAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAKHzO/Ch8zvwofM78KHzO/Hiz6v94s+r/eLPq/3iz6v+znpT/s56U/7Oe
+ lP+znpT//7dg//+3YP//t2D//7dg//+2Y///tmP//7Zj//+2Y//+smH//rJh//6yYf/+smH//qxd//6s
+ Xf/+rF3//qxd//6lWf/+pVn//qVZ//6lWf/9nlP//Z5T//2eU//9nlP//pdO//6XTv/+l07//pdO//+N
+ Q///jUP//41D//+NQ/+8j4L/vI+C/7yPgv+8j4L/frjt/3647f9+uO3/frjt/yl0x/opdMf6KXTH+il0
+ x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5TK1CeUytQnlMrUJ5TK1CKVET/ilRE/4pU
+ RP+KVET//Mir//zIq//8yKv//Mir///RmP//0Zj//9GY///RmP/+x23//sdt//7Hbf/+x23//r9o//6/
+ aP/+v2j//r9o//65ZP/+uWT//rlk//65ZP/+sV7//rFe//6xXv/+sV7//qhZ//6oWf/+qFn//qhZ//2g
+ VP/9oFT//aBU//2gVP//t3r//7d6//+3ev//t3r//qmA//6pgP/+qYD//qmA/4hQQv+IUEL/iFBC/4hQ
+ Qv+LTCtgi0wrYItMK2CLTCtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5T
+ K1CeUytQilRE/4pURP+KVET/ilRE//zIq//8yKv//Mir//zIq///0Zj//9GY///RmP//0Zj//sdt//7H
+ bf/+x23//sdt//6/aP/+v2j//r9o//6/aP/+uWT//rlk//65ZP/+uWT//rFe//6xXv/+sV7//rFe//6o
+ Wf/+qFn//qhZ//6oWf/9oFT//aBU//2gVP/9oFT//7d6//+3ev//t3r//7d6//6pgP/+qYD//qmA//6p
+ gP+IUEL/iFBC/4hQQv+IUEL/i0wrYItMK2CLTCtgi0wrYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAnlMrUJ5TK1CeUytQnlMrUIpURP+KVET/ilRE/4pURP/8yKv//Mir//zIq//8yKv//9GY///R
+ mP//0Zj//9GY//7Hbf/+x23//sdt//7Hbf/+v2j//r9o//6/aP/+v2j//rlk//65ZP/+uWT//rlk//6x
+ Xv/+sV7//rFe//6xXv/+qFn//qhZ//6oWf/+qFn//aBU//2gVP/9oFT//aBU//+3ev//t3r//7d6//+3
+ ev/+qYD//qmA//6pgP/+qYD/iFBC/4hQQv+IUEL/iFBC/4tMK2CLTCtgi0wrYItMK2AAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ5TK1CeUytQnlMrUJ5TK1CKVET/ilRE/4pURP+KVET//Mir//zI
+ q//8yKv//Mir///RmP//0Zj//9GY///RmP/+x23//sdt//7Hbf/+x23//r9o//6/aP/+v2j//r9o//65
+ ZP/+uWT//rlk//65ZP/+sV7//rFe//6xXv/+sV7//qhZ//6oWf/+qFn//qhZ//2gVP/9oFT//aBU//2g
+ VP//t3r//7d6//+3ev//t3r//qmA//6pgP/+qYD//qmA/4hQQv+IUEL/iFBC/4hQQv+LTCtgi0wrYItM
+ K2CLTCtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpSRMBqUYNYKlG
+ DWCpRg1gqUYNYMRMH//ETB//xEwf/8RMH//25Nb/9uTW//bk1v/25Nb//+Sk///kpP//5KT//+Sk///U
+ cv//1HL//9Ry///Ucv//yWn//8lp///Jaf//yWn//8Bj///AY///wGP//8Bj//+2X///tl///7Zf//+2
+ X///wYD//8GA///BgP//wYD/9tfG//bXxv/218b/9tfG/8VJH//FSR//xUkf/8VJH/+ePgtpnj4LaZ4+
+ C2mePgtpl0EPBJdBDwSXQQ8El0EPBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqUkTAalJ
+ EwGpSRMBqUkTAalGDWCpRg1gqUYNYKlGDWDETB//xEwf/8RMH//ETB//9uTW//bk1v/25Nb/9uTW///k
+ pP//5KT//+Sk///kpP//1HL//9Ry///Ucv//1HL//8lp///Jaf//yWn//8lp///AY///wGP//8Bj///A
+ Y///tl///7Zf//+2X///tl///8GA///BgP//wYD//8GA//bXxv/218b/9tfG//bXxv/FSR//xUkf/8VJ
+ H//FSR//nj4LaZ4+C2mePgtpnj4LaZdBDwSXQQ8El0EPBJdBDwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAKlJEwGpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWCpRg1gxEwf/8RMH//ETB//xEwf//bk
+ 1v/25Nb/9uTW//bk1v//5KT//+Sk///kpP//5KT//9Ry///Ucv//1HL//9Ry///Jaf//yWn//8lp///J
+ af//wGP//8Bj///AY///wGP//7Zf//+2X///tl///7Zf///BgP//wYD//8GA///BgP/218b/9tfG//bX
+ xv/218b/xUkf/8VJH//FSR//xUkf/54+C2mePgtpnj4LaZ4+C2mXQQ8El0EPBJdBDwSXQQ8EAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpSRMBqUYNYKlGDWCpRg1gqUYNYMRM
+ H//ETB//xEwf/8RMH//25Nb/9uTW//bk1v/25Nb//+Sk///kpP//5KT//+Sk///Ucv//1HL//9Ry///U
+ cv//yWn//8lp///Jaf//yWn//8Bj///AY///wGP//8Bj//+2X///tl///7Zf//+2X///wYD//8GA///B
+ gP//wYD/9tfG//bXxv/218b/9tfG/8VJH//FSR//xUkf/8VJH/+ePgtpnj4LaZ4+C2mePgtpl0EPBJdB
+ DwSXQQ8El0EPBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdK
+ FQenShUHp0oVB6dKFQekSBNppEgTaaRIE2mkSBNpvEgc/7xIHP+8SBz/vEgc//Ti1P/04tT/9OLU//Ti
+ 1P9Oe6n/Tnup/057qf9Oe6n/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057
+ qf9Oe6n/89bD//PWw//z1sP/89bD/75GHP++Rhz/vkYc/75GHP+dQhJvnUISb51CEm+dQhJvmEITCphC
+ EwqYQhMKmEITCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACnShUHp0oVB6dKFQenShUHpEgTaaRIE2mkSBNppEgTabxIHP+8SBz/vEgc/7xI
+ HP/04tT/9OLU//Ti1P/04tT/Tnup/057qf9Oe6n/Tnup/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017
+ qP9Ne6j/Tnup/057qf9Oe6n/Tnup//PWw//z1sP/89bD//PWw/++Rhz/vkYc/75GHP++Rhz/nUISb51C
+ Em+dQhJvnUISb5hCEwqYQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp0oVB6dKFQenShUHp0oVB6RIE2mkSBNppEgTaaRI
+ E2m8SBz/vEgc/7xIHP+8SBz/9OLU//Ti1P/04tT/9OLU/057qf9Oe6n/Tnup/057qf9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Ne6j/TXuo/057qf9Oe6n/Tnup/057qf/z1sP/89bD//PWw//z1sP/vkYc/75G
+ HP++Rhz/vkYc/51CEm+dQhJvnUISb51CEm+YQhMKmEITCphCEwqYQhMKAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKdKFQenShUHp0oVB6dK
+ FQekSBNppEgTaaRIE2mkSBNpvEgc/7xIHP+8SBz/vEgc//Ti1P/04tT/9OLU//Ti1P9Oe6n/Tnup/057
+ qf9Oe6n/TXuo/017qP9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf9Oe6n/89bD//PW
+ w//z1sP/89bD/75GHP++Rhz/vkYc/75GHP+dQhJvnUISb51CEm+dQhJvmEITCphCEwqYQhMKmEITCgAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAApUsXBaVLFwWlSxcFpUsXBWo8JaJqPCWiajwlomo8JaI0baf/NG2n/zRt
+ p/80baf/nMz4/5zM+P+czPj/nMz4/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/pc/2/6XP
+ 9v+lz/b/pc/2/zR0rv80dK7/NHSu/zR0rv9oPi2taD4trWg+La1oPi2tm0UVCZtFFQmbRRUJm0UVCQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKVLFwWlSxcFpUsXBaVLFwVqPCWiajwlomo8
+ JaJqPCWiNG2n/zRtp/80baf/NG2n/5zM+P+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6XP9v+lz/b/pc/2/6XP9v80dK7/NHSu/zR0rv80dK7/aD4trWg+La1oPi2taD4trZtF
+ FQmbRRUJm0UVCZtFFQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBaVL
+ FwWlSxcFajwlomo8JaJqPCWiajwlojRtp/80baf/NG2n/zRtp/+czPj/nMz4/5zM+P+czPj/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/6XP9v+lz/b/NHSu/zR0rv80dK7/NHSu/2g+
+ La1oPi2taD4trWg+La2bRRUJm0UVCZtFFQmbRRUJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAApUsXBaVLFwWlSxcFpUsXBWo8JaJqPCWiajwlomo8JaI0baf/NG2n/zRtp/80baf/nMz4/5zM
+ +P+czPj/nMz4/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+v1Pf/pc/2/6XP9v+lz/b/pc/2/zR0
+ rv80dK7/NHSu/zR0rv9oPi2taD4trWg+La1oPi2tm0UVCZtFFQmbRRUJm0UVCQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksQqW5LEpsru/6bK
+ 7v+myu7/psru/6vM6v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+n0Pb/qND2/6jQ9v+o0Pb/qND2/6vM
+ 6v+rzOr/q8zq/6vM6v+nze7/p83u/6fN7v+nze7/LWKazC1imswtYprMLWKazAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKluSxCpb
+ ksQqW5LEKluSxKbK7v+myu7/psru/6bK7v+rzOr/q8zq/6vM6v+rzOr/p9D2/6fQ9v+n0Pb/p9D2/6jQ
+ 9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM6v+rzOr/p83u/6fN7v+nze7/p83u/y1imswtYprMLWKazC1i
+ mswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAACpbksQqW5LEKluSxCpbksSmyu7/psru/6bK7v+myu7/q8zq/6vM6v+rzOr/q8zq/6fQ
+ 9v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+o0Pb/q8zq/6vM6v+rzOr/q8zq/6fN7v+nze7/p83u/6fN
+ 7v8tYprMLWKazC1imswtYprMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksQqW5LEpsru/6bK7v+myu7/psru/6vM
+ 6v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+n0Pb/qND2/6jQ9v+o0Pb/qND2/6vM6v+rzOr/q8zq/6vM
+ 6v+nze7/p83u/6fN7v+nze7/LWKazC1imswtYprMLWKazAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH16b7R9em+0fXpvtH16b7dno
+ 9//Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF8f+XxfH/jrvl/4675f+Ou+X/jrvl/3+p0f9/qdH/f6nR/3+p
+ 0f+Jtd//ibXf/4m13/+Jtd//zd/u/83f7v/N3+7/zd/u/yNop/EjaKfxI2in8SNop/FqoNIGaqDSBmqg
+ 0gZqoNIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9e
+ m+0fXpvtH16b7R9em+3Z6Pf/2ej3/9no9//Z6Pf/l8Xx/5fF8f+XxfH/l8Xx/4675f+Ou+X/jrvl/467
+ 5f9/qdH/f6nR/3+p0f9/qdH/ibXf/4m13/+Jtd//ibXf/83f7v/N3+7/zd/u/83f7v8jaKfxI2in8SNo
+ p/EjaKfxaqDSBmqg0gZqoNIGaqDSBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAfXpvtH16b7R9em+0fXpvt2ej3/9no9//Z6Pf/2ej3/5fF8f+XxfH/l8Xx/5fF
+ 8f+Ou+X/jrvl/4675f+Ou+X/f6nR/3+p0f9/qdH/f6nR/4m13/+Jtd//ibXf/4m13//N3+7/zd/u/83f
+ 7v/N3+7/I2in8SNop/EjaKfxI2in8Wqg0gZqoNIGaqDSBmqg0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH16b7R9em+0fXpvtH16b7dno9//Z6Pf/2ej3/9no
+ 9/+XxfH/l8Xx/5fF8f+XxfH/jrvl/4675f+Ou+X/jrvl/3+p0f9/qdH/f6nR/3+p0f+Jtd//ibXf/4m1
+ 3/+Jtd//zd/u/83f7v/N3+7/zd/u/yNop/EjaKfxI2in8SNop/FqoNIGaqDSBmqg0gZqoNIGAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+h/8MPof/DD6H/ww+
+ h/98l7j/fJe4/3yXuP98l7j/irfk/4q35P+Kt+T/irfk/3GcyP9xnMj/cZzI/3GcyP8VQG7/FUBu/xVA
+ bv8VQG7/GURy/xlEcv8ZRHL/GURy/yJFa/8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvoRO2b6TXiiB014
+ ogdNeKIHTXiiBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAMPof/DD6H/ww+h/8MPof/fJe4/3yXuP98l7j/fJe4/4q35P+Kt+T/irfk/4q35P9xnMj/cZzI/3Gc
+ yP9xnMj/FUBu/xVAbv8VQG7/FUBu/xlEcv8ZRHL/GURy/xlEcv8iRWv/IkVr/yJFa/8iRWv/ETtm+hE7
+ ZvoRO2b6ETtm+k14ogdNeKIHTXiiB014ogcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAADD6H/ww+h/8MPof/DD6H/3yXuP98l7j/fJe4/3yXuP+Kt+T/irfk/4q3
+ 5P+Kt+T/cZzI/3GcyP9xnMj/cZzI/xVAbv8VQG7/FUBu/xVAbv8ZRHL/GURy/xlEcv8ZRHL/IkVr/yJF
+ a/8iRWv/IkVr/xE7ZvoRO2b6ETtm+hE7ZvpNeKIHTXiiB014ogdNeKIHAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+h/8MPof/DD6H/ww+h/98l7j/fJe4/3yX
+ uP98l7j/irfk/4q35P+Kt+T/irfk/3GcyP9xnMj/cZzI/3GcyP8VQG7/FUBu/xVAbv8VQG7/GURy/xlE
+ cv8ZRHL/GURy/yJFa/8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvoRO2b6TXiiB014ogdNeKIHTXiiBwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9L
+ l/8PS5f/Elif/xJYn/8SWJ//Elif/w9Kiv8PSor/D0qK/w9Kiv8PS4f/D0uH/w9Lh/8PS4f/EUuH/xFL
+ h/8RS4f/EUuH/xVMhf8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8SQXX/DzNc8Q8zXPEPM1zxDzNc8QAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAD0uX/w9Ll/8PS5f/D0uX/xJYn/8SWJ//Elif/xJYn/8PSor/D0qK/w9Kiv8PSor/D0uH/w9L
+ h/8PS4f/D0uH/xFLh/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8VTIX/EkF1/xJBdf8SQXX/EkF1/w8z
+ XPEPM1zxDzNc8Q8zXPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9Ll/8PS5f/D0uX/w9Ll/8SWJ//Elif/xJYn/8SWJ//D0qK/w9K
+ iv8PSor/D0qK/w9Lh/8PS4f/D0uH/w9Lh/8RS4f/EUuH/xFLh/8RS4f/FUyF/xVMhf8VTIX/FUyF/xJB
+ df8SQXX/EkF1/xJBdf8PM1zxDzNc8Q8zXPEPM1zxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8PS5f/Elif/xJY
+ n/8SWJ//Elif/w9Kiv8PSor/D0qK/w9Kiv8PS4f/D0uH/w9Lh/8PS4f/EUuH/xFLh/8RS4f/EUuH/xVM
+ hf8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8SQXX/DzNc8Q8zXPEPM1zxDzNc8QAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjNndxIz
+ Z3cSM2d3EjNndxFOlv4RTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJv/EliZ/xJYmf8SWJn/EliZ/xFT
+ k/8RU5P/EVOT/xFTk/8PSof/D0qH/w9Kh/8PSof/Dj5x/g4+cf4OPnH+Dj5x/hMuS4ETLkuBEy5LgRMu
+ S4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAABIzZ3cSM2d3EjNndxIzZ3cRTpb+EU6W/hFOlv4RTpb+Elib/xJYm/8SWJv/Elib/xJY
+ mf8SWJn/EliZ/xJYmf8RU5P/EVOT/xFTk/8RU5P/D0qH/w9Kh/8PSof/D0qH/w4+cf4OPnH+Dj5x/g4+
+ cf4TLkuBEy5LgRMuS4ETLkuBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASM2d3EjNndxIzZ3cSM2d3EU6W/hFOlv4RTpb+EU6W/hJY
+ m/8SWJv/Elib/xJYm/8SWJn/EliZ/xJYmf8SWJn/EVOT/xFTk/8RU5P/EVOT/w9Kh/8PSof/D0qH/w9K
+ h/8OPnH+Dj5x/g4+cf4OPnH+Ey5LgRMuS4ETLkuBEy5LgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjNndxIzZ3cSM2d3EjNndxFO
+ lv4RTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJv/EliZ/xJYmf8SWJn/EliZ/xFTk/8RU5P/EVOT/xFT
+ k/8PSof/D0qH/w9Kh/8PSof/Dj5x/g4+cf4OPnH+Dj5x/hMuS4ETLkuBEy5LgRMuS4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAUNWp9FDVqfRQ1an0UNWp9EkiN9BJIjfQSSI30EkiN9BBLkP8QS5D/EEuQ/xBL
+ kP8PSIr/D0iK/w9Iiv8PSIr/EUJ99RFCffURQn31EUJ99RUzW4QVM1uEFTNbhBUzW4QAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFDVqfRQ1an0UNWp9FDVqfRJIjfQSSI30EkiN9BJI
+ jfQQS5D/EEuQ/xBLkP8QS5D/D0iK/w9Iiv8PSIr/D0iK/xFCffURQn31EUJ99RFCffUVM1uEFTNbhBUz
+ W4QVM1uEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQ1an0UNWp9FDVqfRQ1
+ an0SSI30EkiN9BJIjfQSSI30EEuQ/xBLkP8QS5D/EEuQ/w9Iiv8PSIr/D0iK/w9Iiv8RQn31EUJ99RFC
+ ffURQn31FTNbhBUzW4QVM1uEFTNbhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAUNWp9FDVqfRQ1an0UNWp9EkiN9BJIjfQSSI30EkiN9BBLkP8QS5D/EEuQ/xBLkP8PSIr/D0iK/w9I
+ iv8PSIr/EUJ99RFCffURQn31EUJ99RUzW4QVM1uEFTNbhBUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD///////////////////////////////////////////8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8A
+ AAAAAAD/8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAA
+ AA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AA
+ AAAAAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAD/8AAAAAAAD//wAAAAAA
+ AP//AAAAAAAA//8AAAAAAAD///AAAAAAD///8AAAAAAP///wAAAAAA////AAAAAAD////wAAAAD/////
+ AAAAAP////8AAAAA/////wAAAAD/////AAAAAA////8AAAAAD////wAAAAAP////AAAAAA////8AAAAA
+ D////wAAAAAP////AAAAAA////8AAAAAD////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////
+ AAAAAP////8AAAAA/////wAAAAD/////AAAAAP/////wAAAP//////AAAA//////8AAAD//////wAAAP
+ /////////////////////////////////////////////ygAAAAwAAAAYAAAAAEAIAAAAAAAACQAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABpqN8NaajfDWmo3w2Een4ThHp+E4R6fhOzUCCYs1AgmLNQIJigQB/joEAf46BA
+ H+OqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqrRCL6q0Qi+qtEIvqnQSH2p0Eh9qdBIfafPR/qnz0f6p89
+ H+qyTyS6sk8kurJPJLqAbnAWgG5wFoBucBZpqeENaanhDWmp4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDWmo3w2Een4ThHp+E4R6fhOzUCCYs1AgmLNQ
+ IJigQB/joEAf46BAH+OqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqrRCL6q0Qi+qtEIvqnQSH2p0Eh9qdB
+ IfafPR/qnz0f6p89H+qyTyS6sk8kurJPJLqAbnAWgG5wFoBucBZpqeENaanhDWmp4Q0AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDWmo3w2Een4ThHp+E4R6
+ fhOzUCCYs1AgmLNQIJigQB/joEAf46BAH+OqRSL1qkUi9apFIvWsRiL6rEYi+qxGIvqrRCL6q0Qi+qtE
+ IvqnQSH2p0Eh9qdBIfafPR/qnz0f6p89H+qyTyS6sk8kurJPJLqAbnAWgG5wFoBucBZpqeENaanhDWmp
+ 4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtotN5baLTeW2i03klec37JXnN+yV5
+ zfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWL//rli//65Yv/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH//rlh//65Yf+xSST/sUkk/7FJJP96ZG31emRt9Xpk
+ bfUufs74Ln7O+C5+zvhtotODbaLTg22i04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtotN5baLTeW2i
+ 03klec37JXnN+yV5zfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf/+uWH//rlh//65Yf/+uWL//rli//65
+ Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH//rlh//65Yf+xSST/sUkk/7FJ
+ JP96ZG31emRt9XpkbfUufs74Ln7O+C5+zvhtotODbaLTg22i04MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABtotN5baLTeW2i03klec37JXnN+yV5zfuGYWH7hmFh+4ZhYfu/YDX/v2A1/79gNf/+uWH//rlh//65
+ Yf/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH//rlh//65
+ Yf+xSST/sUkk/7FJJP96ZG31emRt9XpkbfUufs74Ln7O+C5+zvhtotODbaLTg22i04MAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f6Cuu7/grru/4K67v+fZlj/n2ZY/59mWP/1u4T/9buE//W7
+ hP//rFv//6xb//+sW//+qFr//qha//6oWv/+olf//qJX//6iV//+nFP//pxT//6cU///o1X//6NV//+j
+ Vf//n1D//59Q//+fUP/4rnj/+K54//iueP+kXkr/pF5K/6ReSv+DvO//g7zv/4O87/8qd8r+KnfK/ip3
+ yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f6Cuu7/grru/4K67v+fZlj/n2ZY/59m
+ WP/1u4T/9buE//W7hP//rFv//6xb//+sW//+qFr//qha//6oWv/+olf//qJX//6iV//+nFP//pxT//6c
+ U///o1X//6NV//+jVf//n1D//59Q//+fUP/4rnj/+K54//iueP+kXkr/pF5K/6ReSv+DvO//g7zv/4O8
+ 7/8qd8r+KnfK/ip3yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/il90f6Cuu7/grru/4K6
+ 7v+fZlj/n2ZY/59mWP/1u4T/9buE//W7hP//rFv//6xb//+sW//+qFr//qha//6oWv/+olf//qJX//6i
+ V//+nFP//pxT//6cU///o1X//6NV//+jVf//n1D//59Q//+fUP/4rnj/+K54//iueP+kXkr/pF5K/6Re
+ Sv+DvO//g7zv/4O87/8qd8r+KnfK/ip3yv4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAofM78KHzO/Ch8
+ zvx4s+r/eLPq/3iz6v+znpT/s56U/7OelP//t2D//7dg//+3YP//tmP//7Zj//+2Y//+smH//rJh//6y
+ Yf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/9nlP//Z5T//2eU//+l07//pdO//6XTv//jUP//41D//+N
+ Q/+8j4L/vI+C/7yPgv9+uO3/frjt/3647f8pdMf6KXTH+il0x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAofM78KHzO/Ch8zvx4s+r/eLPq/3iz6v+znpT/s56U/7OelP//t2D//7dg//+3YP//tmP//7Zj//+2
+ Y//+smH//rJh//6yYf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/9nlP//Z5T//2eU//+l07//pdO//6X
+ Tv//jUP//41D//+NQ/+8j4L/vI+C/7yPgv9+uO3/frjt/3647f8pdMf6KXTH+il0x/oAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAofM78KHzO/Ch8zvx4s+r/eLPq/3iz6v+znpT/s56U/7OelP//t2D//7dg//+3
+ YP//tmP//7Zj//+2Y//+smH//rJh//6yYf/+rF3//qxd//6sXf/+pVn//qVZ//6lWf/9nlP//Z5T//2e
+ U//+l07//pdO//6XTv//jUP//41D//+NQ/+8j4L/vI+C/7yPgv9+uO3/frjt/3647f8pdMf6KXTH+il0
+ x/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5TK1CKVET/ilRE/4pURP/8yKv//Mir//zI
+ q///0Zj//9GY///RmP/+x23//sdt//7Hbf/+v2j//r9o//6/aP/+uWT//rlk//65ZP/+sV7//rFe//6x
+ Xv/+qFn//qhZ//6oWf/9oFT//aBU//2gVP//t3r//7d6//+3ev/+qYD//qmA//6pgP+IUEL/iFBC/4hQ
+ Qv+LTCtgi0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5TK1CKVET/ilRE/4pU
+ RP/8yKv//Mir//zIq///0Zj//9GY///RmP/+x23//sdt//7Hbf/+v2j//r9o//6/aP/+uWT//rlk//65
+ ZP/+sV7//rFe//6xXv/+qFn//qhZ//6oWf/9oFT//aBU//2gVP//t3r//7d6//+3ev/+qYD//qmA//6p
+ gP+IUEL/iFBC/4hQQv+LTCtgi0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACeUytQnlMrUJ5T
+ K1CKVET/ilRE/4pURP/8yKv//Mir//zIq///0Zj//9GY///RmP/+x23//sdt//7Hbf/+v2j//r9o//6/
+ aP/+uWT//rlk//65ZP/+sV7//rFe//6xXv/+qFn//qhZ//6oWf/9oFT//aBU//2gVP//t3r//7d6//+3
+ ev/+qYD//qmA//6pgP+IUEL/iFBC/4hQQv+LTCtgi0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWDETB//xEwf/8RMH//25Nb/9uTW//bk1v//5KT//+Sk///k
+ pP//1HL//9Ry///Ucv//yWn//8lp///Jaf//wGP//8Bj///AY///tl///7Zf//+2X///wYD//8GA///B
+ gP/218b/9tfG//bXxv/FSR//xUkf/8VJH/+ePgtpnj4LaZ4+C2mXQQ8El0EPBJdBDwQAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWDETB//xEwf/8RMH//25Nb/9uTW//bk
+ 1v//5KT//+Sk///kpP//1HL//9Ry///Ucv//yWn//8lp///Jaf//wGP//8Bj///AY///tl///7Zf//+2
+ X///wYD//8GA///BgP/218b/9tfG//bXxv/FSR//xUkf/8VJH/+ePgtpnj4LaZ4+C2mXQQ8El0EPBJdB
+ DwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpSRMBqUkTAalJEwGpRg1gqUYNYKlGDWDETB//xEwf/8RM
+ H//25Nb/9uTW//bk1v//5KT//+Sk///kpP//1HL//9Ry///Ucv//yWn//8lp///Jaf//wGP//8Bj///A
+ Y///tl///7Zf//+2X///wYD//8GA///BgP/218b/9tfG//bXxv/FSR//xUkf/8VJH/+ePgtpnj4LaZ4+
+ C2mXQQ8El0EPBJdBDwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACnShUHp0oVB6dK
+ FQekSBNppEgTaaRIE2m8SBz/vEgc/7xIHP/04tT/9OLU//Ti1P9Oe6n/Tnup/057qf9Ne6j/TXuo/017
+ qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf/z1sP/89bD//PWw/++Rhz/vkYc/75GHP+dQhJvnUISb51C
+ Em+YQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACnShUHp0oVB6dKFQekSBNppEgTaaRIE2m8SBz/vEgc/7xIHP/04tT/9OLU//Ti1P9Oe6n/Tnup/057
+ qf9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf/z1sP/89bD//PWw/++Rhz/vkYc/75G
+ HP+dQhJvnUISb51CEm+YQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACnShUHp0oVB6dKFQekSBNppEgTaaRIE2m8SBz/vEgc/7xIHP/04tT/9OLU//Ti
+ 1P9Oe6n/Tnup/057qf9Ne6j/TXuo/017qP9Ne6j/TXuo/017qP9Oe6n/Tnup/057qf/z1sP/89bD//PW
+ w/++Rhz/vkYc/75GHP+dQhJvnUISb51CEm+YQhMKmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBaVLFwVqPCWiajwlomo8
+ JaI0baf/NG2n/zRtp/+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/6XP
+ 9v80dK7/NHSu/zR0rv9oPi2taD4trWg+La2bRRUJm0UVCZtFFQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBaVL
+ FwVqPCWiajwlomo8JaI0baf/NG2n/zRtp/+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U9/+v1Pf/r9T3/6/U
+ 9/+lz/b/pc/2/6XP9v80dK7/NHSu/zR0rv9oPi2taD4trWg+La2bRRUJm0UVCZtFFQkAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAClSxcFpUsXBaVLFwVqPCWiajwlomo8JaI0baf/NG2n/zRtp/+czPj/nMz4/5zM+P+v1Pf/r9T3/6/U
+ 9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/6XP9v80dK7/NHSu/zR0rv9oPi2taD4trWg+La2bRRUJm0UVCZtF
+ FQkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksSmyu7/psru/6bK7v+rzOr/q8zq/6vM
+ 6v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM6v+nze7/p83u/6fN7v8tYprMLWKazC1i
+ mswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpbksSmyu7/psru/6bK
+ 7v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM6v+nze7/p83u/6fN
+ 7v8tYprMLWKazC1imswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxCpb
+ ksSmyu7/psru/6bK7v+rzOr/q8zq/6vM6v+n0Pb/p9D2/6fQ9v+o0Pb/qND2/6jQ9v+rzOr/q8zq/6vM
+ 6v+nze7/p83u/6fN7v8tYprMLWKazC1imswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAfXpvtH16b7R9em+3Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF8f+Ou+X/jrvl/4675f9/qdH/f6nR/3+p
+ 0f+Jtd//ibXf/4m13//N3+7/zd/u/83f7v8jaKfxI2in8SNop/FqoNIGaqDSBmqg0gYAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAfXpvtH16b7R9em+3Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF8f+Ou+X/jrvl/467
+ 5f9/qdH/f6nR/3+p0f+Jtd//ibXf/4m13//N3+7/zd/u/83f7v8jaKfxI2in8SNop/FqoNIGaqDSBmqg
+ 0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfXpvtH16b7R9em+3Z6Pf/2ej3/9no9/+XxfH/l8Xx/5fF
+ 8f+Ou+X/jrvl/4675f9/qdH/f6nR/3+p0f+Jtd//ibXf/4m13//N3+7/zd/u/83f7v8jaKfxI2in8SNo
+ p/FqoNIGaqDSBmqg0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPof/DD6H/ww+h/98l7j/fJe4/3yX
+ uP+Kt+T/irfk/4q35P9xnMj/cZzI/3GcyP8VQG7/FUBu/xVAbv8ZRHL/GURy/xlEcv8iRWv/IkVr/yJF
+ a/8RO2b6ETtm+hE7ZvpNeKIHTXiiB014ogcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMPof/DD6H/ww+
+ h/98l7j/fJe4/3yXuP+Kt+T/irfk/4q35P9xnMj/cZzI/3GcyP8VQG7/FUBu/xVAbv8ZRHL/GURy/xlE
+ cv8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvpNeKIHTXiiB014ogcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAMPof/DD6H/ww+h/98l7j/fJe4/3yXuP+Kt+T/irfk/4q35P9xnMj/cZzI/3GcyP8VQG7/FUBu/xVA
+ bv8ZRHL/GURy/xlEcv8iRWv/IkVr/yJFa/8RO2b6ETtm+hE7ZvpNeKIHTXiiB014ogcAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8SWJ//Elif/xJYn/8PSor/D0qK/w9Kiv8PS4f/D0uH/w9L
+ h/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8PM1zxDzNc8Q8zXPEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8SWJ//Elif/xJYn/8PSor/D0qK/w9K
+ iv8PS4f/D0uH/w9Lh/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8SQXX/EkF1/xJBdf8PM1zxDzNc8Q8z
+ XPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/w9Ll/8SWJ//Elif/xJY
+ n/8PSor/D0qK/w9Kiv8PS4f/D0uH/w9Lh/8RS4f/EUuH/xFLh/8VTIX/FUyF/xVMhf8SQXX/EkF1/xJB
+ df8PM1zxDzNc8Q8zXPEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASM2d3EjNndxIz
+ Z3cRTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJn/EliZ/xJYmf8RU5P/EVOT/xFTk/8PSof/D0qH/w9K
+ h/8OPnH+Dj5x/g4+cf4TLkuBEy5LgRMuS4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAASM2d3EjNndxIzZ3cRTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJn/EliZ/xJYmf8RU5P/EVOT/xFT
+ k/8PSof/D0qH/w9Kh/8OPnH+Dj5x/g4+cf4TLkuBEy5LgRMuS4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAASM2d3EjNndxIzZ3cRTpb+EU6W/hFOlv4SWJv/Elib/xJYm/8SWJn/EliZ/xJY
+ mf8RU5P/EVOT/xFTk/8PSof/D0qH/w9Kh/8OPnH+Dj5x/g4+cf4TLkuBEy5LgRMuS4EAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNWp9FDVqfRQ1an0SSI30EkiN9BJI
+ jfQQS5D/EEuQ/xBLkP8PSIr/D0iK/w9Iiv8RQn31EUJ99RFCffUVM1uEFTNbhBUzW4QAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNWp9FDVqfRQ1
+ an0SSI30EkiN9BJIjfQQS5D/EEuQ/xBLkP8PSIr/D0iK/w9Iiv8RQn31EUJ99RFCffUVM1uEFTNbhBUz
+ W4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAUNWp9FDVqfRQ1an0SSI30EkiN9BJIjfQQS5D/EEuQ/xBLkP8PSIr/D0iK/w9Iiv8RQn31EUJ99RFC
+ ffUVM1uEFTNbhBUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AADgAAAAAAcAAOAAAAAABwAA4AAAAAAH
+ AADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAOAA
+ AAAABwAA4AAAAAAHAADgAAAAAAcAAOAAAAAABwAA4AAAAAAHAAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/
+ AAD/gAAAAf8AAP+AAAAB/wAA/4AAAAH/AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD/8AAAAf8AAP/w
+ AAAB/wAA//AAAAH/AAD/8AAAAf8AAP/wAAAB/wAA//AAAAH/AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//
+ AAD/8AAAD/8AAP/wAAAP/wAA//AAAA//AAD//gAAf/8AAP/+AAB//wAA//4AAH//AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpqN8NaajfDYR6fhOEen4Ts1AgmLNQIJigQB/joEAf46pF
+ IvWqRSL1rEYi+qxGIvqrRCL6q0Qi+qdBIfanQSH2nz0f6p89H+qyTyS6sk8kuoBucBaAbnAWaanhDWmp
+ 4Q0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmo3w1pqN8NhHp+E4R6fhOzUCCYs1AgmKBA
+ H+OgQB/jqkUi9apFIvWsRiL6rEYi+qtEIvqrRCL6p0Eh9qdBIfafPR/qnz0f6rJPJLqyTyS6gG5wFoBu
+ cBZpqeENaanhDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2i03ltotN5JXnN+yV5zfuGYWH7hmFh+79g
+ Nf+/YDX//rlh//65Yf/+uWL//rli//65Yv/+uWL//rli//65Yv/+uWH//rlh//65Yf/+uWH/sUkk/7FJ
+ JP96ZG31emRt9S5+zvgufs74baLTg22i04MAAAAAAAAAAAAAAAAAAAAAbaLTeW2i03klec37JXnN+4Zh
+ YfuGYWH7v2A1/79gNf/+uWH//rlh//65Yv/+uWL//rli//65Yv/+uWL//rli//65Yf/+uWH//rlh//65
+ Yf+xSST/sUkk/3pkbfV6ZG31Ln7O+C5+zvhtotODbaLTgwAAAAAAAAAAAAAAAAAAAAApfdH+KX3R/oK6
+ 7v+Cuu7/n2ZY/59mWP/1u4T/9buE//+sW///rFv//qha//6oWv/+olf//qJX//6cU//+nFP//6NV//+j
+ Vf//n1D//59Q//iueP/4rnj/pF5K/6ReSv+DvO//g7zv/yp3yv4qd8r+AAAAAAAAAAAAAAAAAAAAACl9
+ 0f4pfdH+grru/4K67v+fZlj/n2ZY//W7hP/1u4T//6xb//+sW//+qFr//qha//6iV//+olf//pxT//6c
+ U///o1X//6NV//+fUP//n1D/+K54//iueP+kXkr/pF5K/4O87/+DvO//KnfK/ip3yv4AAAAAAAAAAAAA
+ AAAAAAAAKHzO/Ch8zvx4s+r/eLPq/7OelP+znpT//7dg//+3YP//tmP//7Zj//6yYf/+smH//qxd//6s
+ Xf/+pVn//qVZ//2eU//9nlP//pdO//6XTv//jUP//41D/7yPgv+8j4L/frjt/3647f8pdMf6KXTH+gAA
+ AAAAAAAAAAAAAAAAAAAofM78KHzO/Hiz6v94s+r/s56U/7OelP//t2D//7dg//+2Y///tmP//rJh//6y
+ Yf/+rF3//qxd//6lWf/+pVn//Z5T//2eU//+l07//pdO//+NQ///jUP/vI+C/7yPgv9+uO3/frjt/yl0
+ x/opdMf6AAAAAAAAAAAAAAAAAAAAAJ5TK1CeUytQilRE/4pURP/8yKv//Mir///RmP//0Zj//sdt//7H
+ bf/+v2j//r9o//65ZP/+uWT//rFe//6xXv/+qFn//qhZ//2gVP/9oFT//7d6//+3ev/+qYD//qmA/4hQ
+ Qv+IUEL/i0wrYItMK2AAAAAAAAAAAAAAAAAAAAAAnlMrUJ5TK1CKVET/ilRE//zIq//8yKv//9GY///R
+ mP/+x23//sdt//6/aP/+v2j//rlk//65ZP/+sV7//rFe//6oWf/+qFn//aBU//2gVP//t3r//7d6//6p
+ gP/+qYD/iFBC/4hQQv+LTCtgi0wrYAAAAAAAAAAAAAAAAAAAAACpSRMBqUkTAalGDWCpRg1gxEwf/8RM
+ H//25Nb/9uTW///kpP//5KT//9Ry///Ucv//yWn//8lp///AY///wGP//7Zf//+2X///wYD//8GA//bX
+ xv/218b/xUkf/8VJH/+ePgtpnj4LaZdBDwSXQQ8EAAAAAAAAAAAAAAAAAAAAAKlJEwGpSRMBqUYNYKlG
+ DWDETB//xEwf//bk1v/25Nb//+Sk///kpP//1HL//9Ry///Jaf//yWn//8Bj///AY///tl///7Zf///B
+ gP//wYD/9tfG//bXxv/FSR//xUkf/54+C2mePgtpl0EPBJdBDwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AACnShUHp0oVB6RIE2mkSBNpvEgc/7xIHP/04tT/9OLU/057qf9Oe6n/TXuo/017qP9Ne6j/TXuo/057
+ qf9Oe6n/89bD//PWw/++Rhz/vkYc/51CEm+dQhJvmEITCphCEwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAKdKFQenShUHpEgTaaRIE2m8SBz/vEgc//Ti1P/04tT/Tnup/057qf9Ne6j/TXuo/017
+ qP9Ne6j/Tnup/057qf/z1sP/89bD/75GHP++Rhz/nUISb51CEm+YQhMKmEITCgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAClSxcFpUsXBWo8JaJqPCWiNG2n/zRtp/+czPj/nMz4/6/U
+ 9/+v1Pf/r9T3/6/U9/+lz/b/pc/2/zR0rv80dK7/aD4trWg+La2bRRUJm0UVCQAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKVLFwWlSxcFajwlomo8JaI0baf/NG2n/5zM
+ +P+czPj/r9T3/6/U9/+v1Pf/r9T3/6XP9v+lz/b/NHSu/zR0rv9oPi2taD4trZtFFQmbRRUJAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEKluSxKbK
+ 7v+myu7/q8zq/6vM6v+n0Pb/p9D2/6jQ9v+o0Pb/q8zq/6vM6v+nze7/p83u/y1imswtYprMAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpb
+ ksQqW5LEpsru/6bK7v+rzOr/q8zq/6fQ9v+n0Pb/qND2/6jQ9v+rzOr/q8zq/6fN7v+nze7/LWKazC1i
+ mswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAH16b7R9em+3Z6Pf/2ej3/5fF8f+XxfH/jrvl/4675f9/qdH/f6nR/4m13/+Jtd//zd/u/83f
+ 7v8jaKfxI2in8Wqg0gZqoNIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAfXpvtH16b7dno9//Z6Pf/l8Xx/5fF8f+Ou+X/jrvl/3+p0f9/qdH/ibXf/4m1
+ 3//N3+7/zd/u/yNop/EjaKfxaqDSBmqg0gYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+h/8MPof/fJe4/3yXuP+Kt+T/irfk/3GcyP9xnMj/FUBu/xVA
+ bv8ZRHL/GURy/yJFa/8iRWv/ETtm+hE7ZvpNeKIHTXiiBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADD6H/ww+h/98l7j/fJe4/4q35P+Kt+T/cZzI/3Gc
+ yP8VQG7/FUBu/xlEcv8ZRHL/IkVr/yJFa/8RO2b6ETtm+k14ogdNeKIHAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPS5f/D0uX/xJYn/8SWJ//D0qK/w9K
+ iv8PS4f/D0uH/xFLh/8RS4f/FUyF/xVMhf8SQXX/EkF1/w8zXPEPM1zxAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9Ll/8PS5f/Elif/xJY
+ n/8PSor/D0qK/w9Lh/8PS4f/EUuH/xFLh/8VTIX/FUyF/xJBdf8SQXX/DzNc8Q8zXPEAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEjNndxIz
+ Z3cRTpb+EU6W/hJYm/8SWJv/EliZ/xJYmf8RU5P/EVOT/w9Kh/8PSof/Dj5x/g4+cf4TLkuBEy5LgQAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAASM2d3EjNndxFOlv4RTpb+Elib/xJYm/8SWJn/EliZ/xFTk/8RU5P/D0qH/w9Kh/8OPnH+Dj5x/hMu
+ S4ETLkuBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAFDVqfRQ1an0SSI30EkiN9BBLkP8QS5D/D0iK/w9Iiv8RQn31EUJ99RUz
+ W4QVM1uEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUNWp9FDVqfRJIjfQSSI30EEuQ/xBLkP8PSIr/D0iK/xFC
+ ffURQn31FTNbhBUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAP//////////8AAAD/AAAA/AAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
+ AAPAAAAD8AAAD/AAAA/8AAA//AAAP/8AAP//AAD//wAAP/8AAD//AAA//wAAP/8AAP//AAD//wAA//8A
+ AP//wAP//8AD////////////KAAAABAAAAAgAAAAAQAgAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAGmo3w2Een4Ts1AgmKBAH+OqRSL1rEYi+qtEIvqnQSH2nz0f6rJPJLqAbnAWaanhDQAA
+ AAAAAAAAAAAAAG2i03klec37hmFh+79gNf/+uWH//rli//65Yv/+uWL//rlh//65Yf+xSST/emRt9S5+
+ zvhtotODAAAAAAAAAAApfdH+grru/59mWP/1u4T//6xb//6oWv/+olf//pxT//+jVf//n1D/+K54/6Re
+ Sv+DvO//KnfK/gAAAAAAAAAAKHzO/Hiz6v+znpT//7dg//+2Y//+smH//qxd//6lWf/9nlP//pdO//+N
+ Q/+8j4L/frjt/yl0x/oAAAAAAAAAAJ5TK1CKVET//Mir///RmP/+x23//r9o//65ZP/+sV7//qhZ//2g
+ VP//t3r//qmA/4hQQv+LTCtgAAAAAAAAAACpSRMBqUYNYMRMH//25Nb//+Sk///Ucv//yWn//8Bj//+2
+ X///wYD/9tfG/8VJH/+ePgtpl0EPBAAAAAAAAAAAAAAAAKdKFQekSBNpvEgc//Ti1P9Oe6n/TXuo/017
+ qP9Oe6n/89bD/75GHP+dQhJvmEITCgAAAAAAAAAAAAAAAAAAAAAAAAAApUsXBWo8JaI0baf/nMz4/6/U
+ 9/+v1Pf/pc/2/zR0rv9oPi2tm0UVCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqW5LEpsru/6vM
+ 6v+n0Pb/qND2/6vM6v+nze7/LWKazAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH16b7dno
+ 9/+XxfH/jrvl/3+p0f+Jtd//zd/u/yNop/FqoNIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw+
+ h/98l7j/irfk/3GcyP8VQG7/GURy/yJFa/8RO2b6TXiiBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAPS5f/Elif/w9Kiv8PS4f/EUuH/xVMhf8SQXX/DzNc8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAEjNndxFOlv4SWJv/EliZ/xFTk/8PSof/Dj5x/hMuS4EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAUNWp9EkiN9BBLkP8PSIr/EUJ99RUzW4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//wAAwAMAAIABAACAAQAAgAEAAIABAACAAQAAwAMAAOAHAADwDwAA8AcAAPAHAADwDwAA8A8AAPgf
+ AAD//wAA
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmMain.vb b/DDUserManager/DDUserManager/frmMain.vb
index 3455b46..20b9b5c 100644
--- a/DDUserManager/DDUserManager/frmMain.vb
+++ b/DDUserManager/DDUserManager/frmMain.vb
@@ -9,14 +9,30 @@ Imports DevExpress.XtraGrid.Views.Grid.ViewInfo
''' https://stackoverflow.com/questions/21270697/argumentoutofrangeexception-with-data-binding-when-debugger-is-running-vs2010#28550637
'''
Public Class frmMain
+ Private CurrentUser As TBDD_USERRow = Nothing
+
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ 'TODO: Diese Codezeile lädt Daten in die Tabelle "UserDataSet.TBDD_USER_MODULES". Sie können sie bei Bedarf verschieben oder entfernen.
+ Me.TBDD_USER_MODULESTableAdapter.Fill(Me.UserDataSet.TBDD_USER_MODULES)
+ Try
+ Dim userRow As TBDD_USERRow = GetCurrentUserRow(Environment.UserName)
+
+ If IsNothing(userRow) Then
+ Throw New Exception("User not found in Database!")
+ End If
+
+ CurrentUser = userRow
+ Catch ex As Exception
+ MessageBox.Show($"Error while fetching user: {ex.Message}")
+ End Try
+
Try
TBDD_CLIENTTableAdapter.Fill(UserDataSet.TBDD_CLIENT)
- TBDD_USER_MODULESTableAdapter.Fill(UserDataSet.TBDD_USER_MODULES)
TBDD_USER_GROUPSTableAdapter.Fill(UserDataSet.TBDD_USER_GROUPS)
TBDD_CLIENT_USERTableAdapter.Fill(UserDataSet.TBDD_CLIENT_USER)
TBDD_GROUPS_USERTableAdapter.Fill(UserDataSet.TBDD_GROUPS_USER)
TBDD_USERTableAdapter.Fill(UserDataSet.TBDD_USER)
+ TBDD_MODULESTableAdapter.FillByUserId_IsAdmin(UserDataSet.TBDD_MODULES, CurrentUser.GUID)
Catch ex As Exception
MessageBox.Show($"Error in frmMain_Load: {ex.Message}")
End Try
@@ -27,6 +43,11 @@ Public Class frmMain
gvGroups_AllGroups.BestFitColumns()
End Sub
+ Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
+ Dim frm As New frmADImport()
+ frm.ShowDialog()
+ End Sub
+
Private Sub grvwAllGroups_FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs) Handles gvGroups_AllGroups.FocusedRowChanged
If e.FocusedRowHandle = -1 Then
Exit Sub
@@ -49,26 +70,58 @@ Public Class frmMain
gridClients_AvailableUsers.DataSource = GetAvailableUsersByClientId(clientId)
End Sub
+ Private Sub gvModules_AllModules_FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs) Handles gvModules_AllModules.FocusedRowChanged
+ If e.FocusedRowHandle = -1 Then
+ Exit Sub
+ End If
+
+ Dim moduleId As Integer = GetSelectedModuleId()
+
+ gridModules_AssignedUsers.DataSource = GetAssignedUsersByModuleId(moduleId)
+ gridModules_AvailableUsers.DataSource = GetAvailableUsersByModuleId(moduleId)
+ End Sub
+
#Region "User Details"
- Private Function GetClientsForUser(username As String) As DataTable
+ Private Function GetCurrentUserRow(username As String) As TBDD_USERRow
+ Dim dt As DataTable = TBDD_USERTableAdapter.GetDataByUsername(username)
+
+ If dt.Rows.Count = 0 Then
+ Return Nothing
+ Else
+ Return dt.Rows.Item(0)
+ End If
+ End Function
+
+ Private Function GetClientsForUser(username As String) As TBDD_CLIENTDataTable
Try
Dim dt As New TBDD_CLIENTDataTable()
TBDD_CLIENTTableAdapter.FillByUsername(dt, username)
Return dt
Catch ex As Exception
- MessageBox.Show($"Error in UpdateClientsForUser: {ex.Message}")
+ MessageBox.Show($"Error in GetClientsForUser: {ex.Message}")
End Try
End Function
- Private Function GetGroupsForUser(username As String) As DataTable
+ Private Function GetGroupsForUser(username As String) As TBDD_USER_GROUPSDataTable
Try
Dim dt As New TBDD_USER_GROUPSDataTable()
TBDD_USER_GROUPSTableAdapter.FillByUsername(dt, username)
Return dt
Catch ex As Exception
- MessageBox.Show($"Error in UpdateGroupsForUser: {ex.Message}")
+ MessageBox.Show($"Error in GetGroupsForUser: {ex.Message}")
+ End Try
+ End Function
+
+ Private Function GetModulesForUser(username As String) As TBDD_MODULESDataTable
+ Try
+ Dim dt As New TBDD_MODULESDataTable()
+ TBDD_MODULESTableAdapter.FillByUsername(dt, username)
+
+ Return dt
+ Catch ex As Exception
+ MessageBox.Show($"Error in GetModulesForUser: {ex.Message}")
End Try
End Function
@@ -94,6 +147,7 @@ Public Class frmMain
If USERNAMETextBox.Text <> String.Empty Then
listGroups.DataSource = GetGroupsForUser(USERNAMETextBox.Text)
listClients.DataSource = GetClientsForUser(USERNAMETextBox.Text)
+ listModules.DataSource = GetModulesForUser(USERNAMETextBox.Text)
End If
End Sub
#End Region
@@ -125,6 +179,20 @@ Public Class frmMain
Return dt
End Function
+
+ Private Function GetAvailableUsersByModuleId(moduleId As Integer) As TBDD_USERDataTable
+ Dim dt As New TBDD_USERDataTable()
+ TBDD_USERTableAdapter.FillByModuleId_NotInModule(dt, moduleId)
+
+ Return dt
+ End Function
+
+ Private Function GetAssignedUsersByModuleId(moduleId As Integer) As TBDD_USERDataTable
+ Dim dt As New TBDD_USERDataTable()
+ TBDD_USERTableAdapter.FillByModuleId(dt, moduleId)
+
+ Return dt
+ End Function
#End Region
#Region "Grid Helpers"
Private Function GetSelectedGroup() As TBDD_USER_GROUPSRow
@@ -157,6 +225,21 @@ Public Class frmMain
Return clientId
End Function
+ Private Function GetSelectedModule() As TBDD_MODULESRow
+ Dim moduleRowIndex = gvModules_AllModules.GetSelectedRows().First()
+ Dim selectedModuleView As DataRowView = gvModules_AllModules.GetRow(moduleRowIndex)
+ Dim selectedClient As TBDD_MODULESRow = selectedModuleView.Row
+
+ Return selectedClient
+ End Function
+
+ Private Function GetSelectedModuleId() As Integer
+ Dim selectedModule As TBDD_MODULESRow = GetSelectedModule()
+ Dim moduleId As Integer = selectedModule.GUID
+
+ Return moduleId
+ End Function
+
Private Function GetModifiedRowsFromDragDropData(grid As GridControl, data As IDataObject)
Dim table As DataTable = grid.DataSource
Dim selectedGroup As TBDD_USER_GROUPSRow = GetSelectedGroup()
@@ -191,10 +274,10 @@ Public Class frmMain
Return modifiedRows
End Function
#End Region
-#Region "DragDrop Events for Groups & Clients"
+#Region "DragDrop Events for Groups, Clients, Modules"
Private downHitInfo As GridHitInfo
- Private Sub gvUsers_MouseDown(sender As Object, e As MouseEventArgs) Handles gvGroups_AvailableUsers.MouseDown, gvGroups_AssignedUsers.MouseDown, gvClients_AssignedUsers.MouseDown, gvClients_AvailableUsers.MouseDown
+ Private Sub gvUsers_MouseDown(sender As Object, e As MouseEventArgs) Handles gvGroups_AvailableUsers.MouseDown, gvGroups_AssignedUsers.MouseDown, gvClients_AssignedUsers.MouseDown, gvClients_AvailableUsers.MouseDown, gvModules_AssignedUsers.MouseDown, gvModules_AvailableUsers.MouseDown
Dim view As GridView = sender
downHitInfo = Nothing
Dim hitInfo As GridHitInfo = view.CalcHitInfo(New Point(e.X, e.Y))
@@ -208,7 +291,7 @@ Public Class frmMain
End If
End Sub
- Private Sub gvUsers_MouseMove(sender As Object, e As MouseEventArgs) Handles gvGroups_AvailableUsers.MouseMove, gvGroups_AssignedUsers.MouseMove, gvClients_AssignedUsers.MouseMove, gvClients_AvailableUsers.MouseMove
+ Private Sub gvUsers_MouseMove(sender As Object, e As MouseEventArgs) Handles gvGroups_AvailableUsers.MouseMove, gvGroups_AssignedUsers.MouseMove, gvClients_AssignedUsers.MouseMove, gvClients_AvailableUsers.MouseMove, gvModules_AssignedUsers.MouseMove, gvModules_AvailableUsers.MouseMove
Dim view As GridView = sender
Dim hitInfo As GridHitInfo = view.CalcHitInfo(New Point(e.X, e.Y))
@@ -247,13 +330,10 @@ Public Class frmMain
End If
End Sub
- Private Sub gridUsers_DragOver(sender As Object, e As DragEventArgs) Handles gridGroups_AssignedUsers.DragOver, gridGroups_AvailableUsers.DragOver, gridClients_AssignedUsers.DragOver, gridClients_AvailableUsers.DragOver
+ Private Sub gridUsers_DragOver(sender As Object, e As DragEventArgs) Handles gridGroups_AssignedUsers.DragOver, gridGroups_AvailableUsers.DragOver, gridClients_AssignedUsers.DragOver, gridClients_AvailableUsers.DragOver, gridModules_AssignedUsers.DragOver, gridModules_AvailableUsers.DragOver
Dim selectedUsersDropped As Boolean = e.Data.GetDataPresent(GetType(GridView))
Dim singleUserDropped As Boolean = e.Data.GetDataPresent(GetType(TBDD_USERRow))
- Console.WriteLine($"selectedUsersDropped: {selectedUsersDropped}")
- Console.WriteLine($"singleUserDropped: {singleUserDropped}")
-
If selectedUsersDropped Or singleUserDropped Then
e.Effect = DragDropEffects.Move
Else
@@ -341,10 +421,45 @@ Public Class frmMain
gvClients_AssignedUsers.ClearSelection()
gvClients_AvailableUsers.ClearSelection()
End Sub
+#End Region
+#Region "DragDrop Events for Modules"
+ Private Sub gridModules_AvailableUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridModules_AvailableUsers.DragDrop
+ Dim grid As GridControl = sender
+ Dim table As DataTable = grid.DataSource
+ Dim userRowsToBeDeleted = GetModifiedRowsFromDragDropData(grid, e.Data)
+ Dim selectedModule As TBDD_MODULESRow = GetSelectedModule()
- Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
- Dim frm As New frmADImport()
- frm.ShowDialog()
+ For Each userRow As TBDD_USERRow In userRowsToBeDeleted
+ TBDD_USER_MODULESTableAdapter.Delete(userRow.GUID, selectedModule.GUID)
+ Next
+
+ listModules.DataSource = GetModulesForUser(USERNAMETextBox.Text)
+
+ ' Verfügbare Benutzer aktualisieren und Checkboxen leeren
+ gridModules_AssignedUsers.DataSource = GetAssignedUsersByModuleId(selectedModule.GUID)
+ gridModules_AvailableUsers.DataSource = GetAvailableUsersByModuleId(selectedModule.GUID)
+ gvModules_AssignedUsers.ClearSelection()
+ gvModules_AvailableUsers.ClearSelection()
+ End Sub
+
+ Private Sub gridModules_AssignedUsers_DragDrop(sender As Object, e As DragEventArgs) Handles gridModules_AssignedUsers.DragDrop
+ Dim grid As GridControl = sender
+ Dim table As DataTable = grid.DataSource
+ Dim userRowsToBeInserted = GetModifiedRowsFromDragDropData(grid, e.Data)
+ Dim selectedModule As TBDD_MODULESRow = GetSelectedModule()
+
+ ' Zeilen in Oberfläche und in Datenbank einfügen
+ For Each userRow As TBDD_USERRow In userRowsToBeInserted
+ TBDD_USER_MODULESTableAdapter.Insert(userRow.GUID, selectedModule.GUID, $"Assign User {userRow.USERNAME} to Module {selectedModule.NAME}", Environment.UserName)
+ Next
+
+ listModules.DataSource = GetModulesForUser(USERNAMETextBox.Text)
+
+ ' Verfügbare Benutzer aktualisieren und Checkboxen leeren
+ gridModules_AssignedUsers.DataSource = GetAssignedUsersByModuleId(selectedModule.GUID)
+ gridModules_AvailableUsers.DataSource = GetAvailableUsersByModuleId(selectedModule.GUID)
+ gvModules_AssignedUsers.ClearSelection()
+ gvModules_AvailableUsers.ClearSelection()
End Sub
#End Region
End Class
\ No newline at end of file