From 4f4ff1a25a7677226b20ca357e40b41a00b51050 Mon Sep 17 00:00:00 2001 From: Georgy Khatuncev Date: Fri, 4 Jun 2021 16:57:32 +0500 Subject: [PATCH] work --- .../DesignTimeBuild/.dtbcache.v2 | Bin 262201 -> 262455 bytes .vs/ASCKU Projects/v16/.suo | Bin 124928 -> 133632 bytes DataClient/DataClient.csproj | 2 +- DataClient/DataClient.xml | 221 +++++++++ DataClient/DataClientSrc.xml | 240 ++++++++++ DataClient/NETClient.cs | 344 +++++++------- DataClient/bin/Debug/net5.0/DataClient.dll | Bin 19968 -> 20992 bytes DataClient/bin/Debug/net5.0/DataClient.pdb | Bin 15440 -> 15964 bytes DataClient/bin/Debug/net5.0/DataClient.xml | 221 +++++++++ .../bin/Debug/net5.0/ref/DataClient.dll | Bin 9728 -> 9728 bytes .../DataClient.csproj.FileListAbsolute.txt | 3 +- .../DataClient.csprojAssemblyReference.cache | Bin 424 -> 110010 bytes DataClient/obj/Debug/net5.0/DataClient.dll | Bin 19968 -> 20992 bytes DataClient/obj/Debug/net5.0/DataClient.pdb | Bin 15440 -> 15964 bytes .../obj/Debug/net5.0/ref/DataClient.dll | Bin 9728 -> 9728 bytes DataClients/DataClientSrc.xml | 1 + DataClients/DataClients.csproj | 2 + ...DataClients.csproj.CoreCompileInputs.cache | 2 +- .../DataClients.csprojAssemblyReference.cache | Bin 227760 -> 86061 bytes .../obj/STPClient.csproj.nuget.dgspec.json | 83 ---- STPClient/obj/STPClient.csproj.nuget.g.props | 21 - .../obj/STPClient.csproj.nuget.g.targets | 6 - STPClient/obj/project.assets.json | 444 ------------------ STPClient/obj/project.nuget.cache | 19 - ...pportClasses.csprojAssemblyReference.cache | Bin 221159 -> 81796 bytes Test2/Program.cs | 52 +- Test2/bin/Debug/net5.0/DataClient.dll | Bin 19968 -> 20992 bytes Test2/bin/Debug/net5.0/DataClient.pdb | Bin 15440 -> 15964 bytes Test2/bin/Debug/net5.0/DataClient.xml | 221 +++++++++ Test2/bin/Debug/net5.0/Test2.dll | Bin 10752 -> 12288 bytes Test2/bin/Debug/net5.0/Test2.pdb | Bin 11232 -> 11912 bytes Test2/bin/Debug/net5.0/ref/Test2.dll | Bin 5120 -> 5632 bytes .../net5.0/Test2.csproj.FileListAbsolute.txt | 1 + .../Test2.csprojAssemblyReference.cache | Bin 22651 -> 22651 bytes Test2/obj/Debug/net5.0/Test2.dll | Bin 10752 -> 12288 bytes Test2/obj/Debug/net5.0/Test2.pdb | Bin 11232 -> 11912 bytes Test2/obj/Debug/net5.0/ref/Test2.dll | Bin 5120 -> 5632 bytes 37 files changed, 1129 insertions(+), 754 deletions(-) create mode 100644 DataClient/DataClient.xml create mode 100644 DataClient/DataClientSrc.xml create mode 100644 DataClient/bin/Debug/net5.0/DataClient.xml create mode 100644 DataClients/DataClientSrc.xml delete mode 100644 STPClient/obj/STPClient.csproj.nuget.dgspec.json delete mode 100644 STPClient/obj/STPClient.csproj.nuget.g.props delete mode 100644 STPClient/obj/STPClient.csproj.nuget.g.targets delete mode 100644 STPClient/obj/project.assets.json delete mode 100644 STPClient/obj/project.nuget.cache create mode 100644 Test2/bin/Debug/net5.0/DataClient.xml diff --git a/.vs/ASCKU Projects/DesignTimeBuild/.dtbcache.v2 b/.vs/ASCKU Projects/DesignTimeBuild/.dtbcache.v2 index 009e2367a552fa6fe1104c63975e997c9ec1733d..be8e5636d0404b682e7521de3b04b0192c3f6a2f 100644 GIT binary patch literal 262455 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 literal 262201 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 diff --git a/.vs/ASCKU Projects/v16/.suo b/.vs/ASCKU Projects/v16/.suo index 604faf56d1d48085877d2176a97652b358a053c4..62e8628835838f7941657b023c173686327f61e3 100644 GIT binary patch delta 12472 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 Yim7GAAu^FT?iJEWE@Si|%I$pce}=EI0ssI2 delta 8987 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 JNQT - + D:\GIT\ASCKU_PC\DataClient\DataClient.xml diff --git a/DataClient/DataClient.xml b/DataClient/DataClient.xml new file mode 100644 index 0000000..7bbaf56 --- /dev/null +++ b/DataClient/DataClient.xml @@ -0,0 +1,221 @@ + + + + DataClient + + + +

+ Статус процесса выполнения запроса. + Предполагается использовать только на больших + загрузках и в ассинхронных задачах + + + + Коды для работы с СТП. + + + IP адрес СТП. + + + Порт СТП. + + + Количество попыток переподключения. + + + Время в секундах между попытками переподключения. + + + Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070; + + + Конструктор класса NetClient с параметрами.Ip-адрес сервера.Порт сервера. + + + Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.Открытый сетевой поток.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. + Соединение с сервером закрыто. + + Стрим недоступен для Чтения. + + Сервер сбросил соединение. + + + + Получение определенного количество байт с сервера.Открытый сетевой поток.Кол-во получаемых байт.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. Может быть меньше заданного количества. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + Сервер сбросил соединение. + + + + Отправка массива байт на СТП.Открытый сетевой поток.Массив байт.Результат отправки. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + + + Формирование массива байт на отправку.Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00)Передаваемая строка.Байты перед передаваемой строкой.Байты после передаваемой строкой.Массив байт для отправки на СТП. + + + Открытие соединения к серверу.Информирует только о подключении к серверу. Исключения опускает.Состояние подключения. + + + Проверка подключения.Состояние подключения. + + + Закрыть подключение. + + + Отправка массива байт на СТП.Массив байт для отправки.Результат отправки. + Размер байт не должен равняться нулю. + + Поток недоступен для записи. + + + + Получение неизвестного количество байт.Возвращает null, если что-то пошло не так.Массив байт. + + + Получение определенного количество байт.Количество байт.Возвращает null, если что-то пошло не так.Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных. + + + Внутренняя функция для создания подключения.Возвращает флаг необходимости закрытия соединения. + Не получилось соединиться с сервером. + + + + Внетренняя функция для закрытия соединения.Флаг о необходимости закрыть соединение. + + + Внутренняя функция получения файлов.Код, который будет отправлен на сервер.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Массив байт, соответствующий запрашиваемому файлу. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Название команды.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив байт, соответствующий этой команде. Может вернуть null. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение структуры файлов и папок в запрашиваемой директории.Путь, структуру которого надо отобразить.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив строк. Полные пути к файлам и папкам. Может вернуть null. + Неверный флаг окончания строки. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + + Класс для связи с СТП. Содержит все инструменты, для получения данных. + + + + Номер сервера, используемого по умолчанию. + + + Массив серверов, инициализированных в экземпляре класса. + + + Получение номера сервера по его названию. + Название сервера. + Номер сервера в списке серверов. + + + Получение название сервера по его номеру. + Номер сервера в списке серверов. + Название сервера. + + + Проверка параметров серевера перед их добавлением в список. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Добавление сервера в список серверов. + Название сервера + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его номеру. + Номер сервера в списке серверов. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его названию. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его номеру. + Номер сервера в списке серверов. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его названию. + Название сервера. + Результат выполнения функции. + + + Чтение конфигурационнного файла и установка параметров по умолчанию. + + + Создание экземпляра класса. + + + Создание экземпляра класса с указанием конфигурационного файла. + Путь к файлу конфигурации. + + + diff --git a/DataClient/DataClientSrc.xml b/DataClient/DataClientSrc.xml new file mode 100644 index 0000000..7586bb3 --- /dev/null +++ b/DataClient/DataClientSrc.xml @@ -0,0 +1,240 @@ + + + + + Закрыть подключение. + + + Коды для работы с СТП. + + + Открытие соединения к серверу. + Информирует только о подключении к серверу. Исключения опускает. + Состояние подключения. + + + Проверка подключения. + Состояние подключения. + + + Формирование массива байт на отправку. + Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00) + Передаваемая строка. + Байты перед передаваемой строкой. + Байты после передаваемой строкой. + Массив байт для отправки на СТП. + + + Получение файла данных (байтами) с СТП. + Дата. Из неё формируется строка в формате YYYMMDD. + Номер печи. 00 - общецеховые параметры. + Индекс файла. От 0 до 15. + Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации. + Обработанный массив байт. + + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП. + Дата. Из неё формируется строка в формате YYYMMDD. + Номер печи. 00 - общецеховые параметры. + Индекс файла. От 0 до 15. + Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации. + Обработанный массив байт. + + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + + Не получилось соединиться с сервером. + + + + Внутренняя функция получения файлов. + Код, который будет отправлен на сервер. + Дата. Из неё формируется строка в формате YYYMMDD. + Номер печи. 00 - общецеховые параметры. + Индекс файла. От 0 до 15. + Массив байт, соответствующий запрашиваемому файлу. + + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + + Не получилось соединиться с сервером. + + + + + IP адрес СТП. + + + Внетренняя функция для закрытия соединения. + Флаг о необходимости закрыть соединение. + + + Внутренняя функция для создания подключения. + Возвращает флаг необходимости закрытия соединения. + + Не получилось соединиться с сервером. + + + + Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070; + + + Конструктор класса NetClient с параметрами. + Ip-адрес сервера. + Порт сервера. + + + Порт СТП. + + + Получение неизвестного количество байт. + Возвращает null, если что-то пошло не так. + Массив байт. + + + Получение определенного количество байт. + Количество байт. + Возвращает null, если что-то пошло не так. + Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных. + + + Получение определенного количество байт с сервера. + Открытый сетевой поток. + Кол-во получаемых байт. + Время ожидания между проверками буфера. + Количество проверок буфера. + Массив байт. Может быть меньше заданного количества. + + Размер байт не должен равняться нулю. + + + Стрим недоступен для записи. + + + Сервер сбросил соединение. + + + + Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt. + Открытый сетевой поток. + Время ожидания между проверками буфера. + Количество проверок буфера. + Массив байт. + + Соединение с сервером закрыто. + + + Стрим недоступен для Чтения. + + + Сервер сбросил соединение. + + + + Количество попыток переподключения. + + + Время в секундах между попытками переподключения. + + + Отправка массива байт на СТП. + Открытый сетевой поток. + Массив байт. + Результат отправки. + + Размер байт не должен равняться нулю. + + + Стрим недоступен для записи. + + + + Отправка массива байт на СТП. + Массив байт для отправки. + Результат отправки. + + Размер байт не должен равняться нулю. + + + Поток недоступен для записи. + + + + + Статус процесса выполнения запроса. + Предполагается использовать только на больших + загрузках и в ассинхронных задачах + + + + Получение файла данных (байтами) с СТП. + Название команды. + Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации. + Массив байт, соответствующий этой команде. Может вернуть null. + + Неверный флаг во время получения файла. + + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + + Не получилось соединиться с сервером. + + + + + Получение структуры файлов и папок в запрашиваемой директории. + Путь, структуру которого надо отобразить. + Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации. + Массив строк. Полные пути к файлам и папкам. Может вернуть null. + + Неверный флаг окончания строки. + Неверный флаг во время получения файла. + + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + + Не получилось соединиться с сервером. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DataClient/NETClient.cs b/DataClient/NETClient.cs index c29e3d0..744c13d 100644 --- a/DataClient/NETClient.cs +++ b/DataClient/NETClient.cs @@ -7,6 +7,7 @@ using System.Text; using System.Threading.Tasks; using NLog; using DataClient.Struct; +using System.IO; namespace DataClient { @@ -15,8 +16,7 @@ namespace DataClient private Logger log = LogManager.GetCurrentClassLogger(); private Encoding enc; private TcpClient tcpC = null; - /// Статус процесса выполнения запроса. - /// Предполагается использовать только на больших загрузках и в ассинхронных задачах. + /// public double Status { get @@ -31,7 +31,6 @@ namespace DataClient } } private NetStatus stat = new NetStatus(); - /// Коды для работы с СТП. /* 0x00 0x00 0x00 0x00 - 0000 - version 0x01 0x00 0x00 0x00 - 0001 - file list @@ -40,7 +39,7 @@ namespace DataClient 0x05 0x00 0x00 0x00 - 0005 - pasp find 0x06 0x00 0x00 0x00 - 0006 - prog list 0x07 0x00 0x00 0x00 - 0007 - prog download -0x08 0x00 0x00 0x00 - 0008 - server time + 0x09 0x00 0x00 0x00 - 0009 - download usov 0x0A 0x00 0x00 0x00 - 0010 - slit history 0x0B 0x00 0x00 0x00 - 0011 - keep alive @@ -54,7 +53,6 @@ namespace DataClient - pasp browse2 - arch history - download usov nhv -0x17 0x00 0x00 0x00 - 0023 - dir browse - vdp sim med - vdp flags 0x1A 0x00 0x00 0x00 - 0026 - user flags @@ -109,14 +107,15 @@ namespace DataClient - by name - test */ + /// public enum Code : uint { download = 2, + server_time = 8, download_nh = 21, - + dir_browse = 23, by_name = uint.MaxValue, - TCP_COM_VERSION = 0, TCP_COM_FILE_LIST = 1, TCP_COM_PASP_BROWSE = 3, @@ -124,7 +123,7 @@ namespace DataClient TCP_COM_PASP_FIND = 5, TCP_COM_PROG_LIST = 6, TCP_COM_PROG_DOWNLOAD = 7, - TCP_COM_SERVER_TIME = 8, + TCP_COM_DOWNLOAD_USOV = 9, TCP_COM_SLIT_HISTORY = 10, TCP_COM_KEEP_ALIVE = 11, @@ -138,7 +137,6 @@ namespace DataClient TCP_COM_PASP_BROWSE2 = 19, TCP_COM_ARCH_HISTORY = 20, TCP_COM_DOWNLOAD_USOV_NH = 22, - TCP_COM_DIR_BROWSE = 23, TCP_COM_VDP_SIM_MED = 24, TCP_COM_VDP_FLAGS = 25, TCP_COM_USER_FLAGS = 26, @@ -191,28 +189,28 @@ namespace DataClient TCP_COM_GET_CUR_PARAMS_5 = 73, TCP_COM_FIX_DB_CYCLE = 74, } - /// IP адрес СТП. + /// public string Ip { get { return ip; } set { ip = (IPAddress.TryParse(value, out _)) ? value : ip; } } private string ip = "127.0.0.1"; - /// Порт СТП. + /// public int Port { get { return port; } set { port = (value < 1) ? 1 : (value > 65535) ? 65535 : value; } } private int port = 1070; - /// Количество попыток переподключения. + /// public int RetryCount { get { return retryCount; } set { retryCount = value < 1 ? 1 : value; } } private int retryCount = 3; - /// Время в секундах между попытками переподключения. + /// public int RetryInterval { get { return retryInterval; } @@ -220,14 +218,15 @@ namespace DataClient } private int retryInterval = 1; - //Construction + /// public NETClient() { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); enc = Encoding.GetEncoding(866); tcpC = new TcpClient(new IPEndPoint(IPAddress.Parse(ip), port)); } + /// public NETClient(string ip, int port) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); @@ -238,89 +237,52 @@ namespace DataClient } //Work with socket functions - /// Получить неизвестное количество байт. - /// Открытый сетевой поток. - /// Время ожидания между проверккми буфера. - /// Количество проверок буфера. - /// Массив байт. - private byte[] ReceiveBytesUnknown(NetworkStream ns, int awaitInterval = 1, int tryCounts = 3) + /// + private byte[] ReceiveBytesFull(NetworkStream ns, int awaitInterval = 1, int tryCounts = 3) { - tryCounts = (tryCounts < 1) ? 1 : tryCounts; - awaitInterval = (awaitInterval < 1) ? 1 : awaitInterval; - var res = new List(); - if (!ns.CanRead) throw new InvalidOperationException("NetworkStream not access to Read."); - if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server."); - - int tryCount = 0; - do - { - if (!ns.Socket.Connected) throw new InvalidOperationException("Server drop connection."); - if (!ns.DataAvailable) - { - tryCount++; - Task.Delay(awaitInterval * 1000).Wait(); - continue; - } - tryCount = 0; - var buf = new byte[1024]; - var length = ns.Read(buf, 0, buf.Length); - for (var i = 0; i < length; i++) res.Add(buf[i]); - } while (tryCount < tryCounts); - return res.ToArray(); + try{ return ReceiveBytesFixSize(ns, uint.MaxValue, awaitInterval, tryCounts); } + catch { throw; } } - /// Получить определенное количество байт. - /// Открытый сетевой поток. - /// Кол-во получаемый байт. - /// Массив байт, равный заданному кол-ву. + /// private byte[] ReceiveBytesFixSize(NetworkStream ns, uint size, int awaitInterval = 1, int tryCounts = 3) { tryCounts = (tryCounts < 1) ? 1 : tryCounts; awaitInterval = (awaitInterval < 1) ? 1 : awaitInterval; if (size == 0) throw new ArgumentException("Size can't be zero."); - if (!ns.CanRead) throw new InvalidOperationException("NetworkStream not access to Read."); if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server."); - var res = new byte[size]; - var countSize = 0; - + if (!ns.CanRead) throw new IOException("NetworkStream not access to Read."); + var res = new List(); int tryCount = 0; do { - if (!ns.Socket.Connected) throw new InvalidOperationException("Server drop connection."); + if (!ns.Socket.Connected) throw new TimeoutException("Server drop connection."); if (!ns.DataAvailable) { - tryCount++; Task.Delay(awaitInterval * 1000).Wait(); + tryCount++; continue; } tryCount = 0; - var buf = new byte[size - countSize]; + var sz = ((size - res.Count) > 1024) ? 1024 : (size - res.Count); + var buf = new byte[sz]; var length = ns.Read(buf, 0, buf.Length); - for (var i = 0; i < length; i++) res[countSize++] = buf[i]; - if (countSize == size) - return res; + for (var i = 0; i < length; i++) res.Add(buf[i]); + if (res.Count == size) return res.ToArray(); } while (tryCount < tryCounts); - return res; + return res.ToArray(); } - /// Отправить массив байт на СТП. - /// Открытый сетевой поток. - /// Массив байт. - /// Результат отправки. + /// private bool SendBytes(NetworkStream ns, byte[] arr) { - if (!ns.CanWrite) throw new InvalidOperationException("NetworkStream not access to Write."); if (!ns.Socket.Connected) throw new InvalidOperationException("NetworkStream not connected to server."); + if (!ns.CanWrite) throw new IOException("NetworkStream not access to Write."); try { ns.Write(arr, 0, arr.Length); } catch { return false; } return true; } //Support functions - /// Формирование массива байт на отправку. - /// Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00) - /// Байты перед передаваемой строкой. - /// Передаваемая строка. - /// Байты после передаваемой строкой. - /// Массив байт для отправки на СТП. + /// public byte[] CreateCode(uint code, string val = null, byte[] prefix = null, byte[] postfix = null) { var res = new List(); @@ -339,8 +301,7 @@ namespace DataClient } //Main functions - /// Открыть подключение. - /// Результат выполнения функции. + /// public bool Connect() { if (Connected()) return true; @@ -349,80 +310,61 @@ namespace DataClient catch { return false; } return Connected(); } - /// Проверка подключения. - /// Возвращает состояние подключения. - public bool Connected() + /// + public bool Connected() { return (tcpC != null && tcpC.Connected); } + /// + public void Close() { if (tcpC != null && !tcpC.Connected) tcpC.Close(); } + /// + public bool SendBytes(byte[] send) { - return (tcpC != null && tcpC.Connected); + if (!Connected()) return false; + try { return SendBytes(tcpC.GetStream(), send); } + catch { throw; } } - /// Закрыть подключение. - public void Close() - { - if (tcpC != null && !tcpC.Connected) - tcpC.Close(); - } - /// Отправка массива байт на СТП. - /// Массив байт для отправки. - public void SendBytes(byte[] send) - { - if (!Connected()) throw new InvalidOperationException("Connection not exist."); - var ns = tcpC.GetStream(); - SendBytes(ns, send); - } - /// Получить неизвестное количество байт. - /// Массив байт. + /// public byte[] ReceiveBytes() { - var res = new List(); - if (!Connected()) throw new InvalidOperationException("Connection not exist."); - var ns = tcpC.GetStream(); - res.AddRange(ReceiveBytesUnknown(ns)); - return res.ToArray(); + if (!Connected()) return null; + try { return ReceiveBytesFull(tcpC.GetStream()); } + catch { return null; } } - /// Получить определенное количество байт. - /// Количество байт. - /// Массив байт. + /// public byte[] ReceiveBytes(uint size) { - var res = new List(); - if (!Connected()) throw new Exception("Connection not exist."); - var ns = tcpC.GetStream(); - res.AddRange(ReceiveBytesFixSize(ns, size)); - return res.ToArray(); + if (!Connected()) return null; + try { return ReceiveBytesFixSize(tcpC.GetStream(), size); } + catch { return null; } } //SubMain functions - /// Внутренняя функция получения файлов. - /// Код, который будет отправлен на сервер. - /// Дата. Из неё формируется строка в формате YYYMMDD - /// Номер печи. 00 - общецеховые параметры. - /// Индекс файла. От 0 до 15. - /// + /// + private bool My_Connect() + { + if (stat.stat == NetStatus.Status.in_progress) throw new IOException("Previous method not finished."); + stat.stat = NetStatus.Status.in_progress; + if (Connected()) return false; + if (!Connect()) { throw new InvalidOperationException("Can't create connection."); } + return true; + } + /// + private void My_Close(bool needClose) + { + if (needClose) Close(); + stat.stat = NetStatus.Status.complete; + } + /// private byte[] GetFile(Code code, DateTime date, int vdp, int idx) { - if (code != Code.download_nh && code != Code.download) - throw new ArgumentException("Wrong code for this method."); - if (stat.stat == NetStatus.Status.in_progress) - throw new InvalidOperationException("Previous method not finished."); - stat.stat = NetStatus.Status.in_progress; - bool flag_connection = !Connected(); - if (flag_connection) Connect(); - if (!Connected()) - { - stat.stat = NetStatus.Status.complete; - throw new InvalidOperationException("Can't create connection."); - } + if (code != Code.download_nh && code != Code.download) throw new ArgumentException("Wrong code for this method."); + bool needCloseConeection = false; + try { needCloseConeection = My_Connect(); } + catch { My_Close(needCloseConeection); throw; } var str = date.ToString("yyyyMMdd") + "." + vdp.ToString("D2") + (idx % 16).ToString("X1"); - try { SendBytes(CreateCode((uint)code, str)); } - catch (Exception e) - { - stat.stat = NetStatus.Status.complete; - if (flag_connection) Close(); - throw new InvalidOperationException("Can't send code.", e); - } + try { if(SendBytes(CreateCode((uint)code, str))) throw new IOException("Can't send bytes to server."); } + catch { My_Close(needCloseConeection); throw; } var res = new List(); - var flag_end = false; + var endCycle = false; try { do @@ -431,86 +373,138 @@ namespace DataClient switch (tmp[0]) { case 0x00: - stat.stat = NetStatus.Status.complete; - flag_end = true; + case 0xff: + endCycle = true; break; case 0x01: - var blockSize = BitConverter.ToUInt32(ReceiveBytes(4)); - res.AddRange(ReceiveBytes(blockSize)); + res.AddRange(ReceiveBytes(BitConverter.ToUInt32(ReceiveBytes(4)))); stat.size = (uint)res.Count; break; case 0x02: - var fullSize = BitConverter.ToUInt32(ReceiveBytes(4)); - stat.fullSize = fullSize; - break; - case 0xff: - stat.stat = NetStatus.Status.complete; - flag_end = true; + stat.fullSize = BitConverter.ToUInt32(ReceiveBytes(4)); break; + default: + ReceiveBytes(); + throw new ArgumentException("Wront flag when get files."); } - } while (!flag_end); - } - catch (Exception e) - { - throw new InvalidOperationException("Can't download file.", e); - } - finally - { - stat.stat = NetStatus.Status.complete; - if (flag_connection) Close(); + } while (!endCycle); } + catch { My_Close(needCloseConeection); throw; } + finally { My_Close(needCloseConeection); } return res.ToArray(); } //COMMANDS FUNCTIONS - /// Получение файла данных (байтами) с СТП. - /// Дата. Из неё формируется строка в формате YYYMMDD - /// Номер печи. 00 - общецеховые параметры. - /// Индекс файла. От 0 до 15. - /// Обработанный массив байт. + /// public byte[] Full_Download_NH(DateTime date, int vdp, int idx) { try { return GetFile(Code.download_nh, date, vdp, idx); } catch { throw; } } - /// Получение файла данных (байтами) с СТП. - /// Дата. Из неё формируется строка в формате YYYMMDD - /// Номер печи. 00 - общецеховые параметры. - /// Индекс файла. От 0 до 15. - /// Обработанный массив байт. + /// public byte[] Full_Download(DateTime date, int vdp, int idx) { try { return GetFile(Code.download, date, vdp, idx); } catch { throw; } } + /// public byte[] Full_By_Name(string val) { if (string.IsNullOrEmpty(val)) return null; - bool flag_connection = !Connected(); - if (flag_connection) Connect(); - if (!Connected()) { throw new InvalidOperationException("Can't create connection."); } - try { SendBytes(CreateCode((uint)Code.by_name, val)); } - catch (Exception e) - { - if (flag_connection) Close(); - throw new InvalidOperationException("Can't send code.", e); - } + bool needCloseConeection = false; + try { needCloseConeection = My_Connect(); } + catch { My_Close(needCloseConeection); throw; } + + try { if(!SendBytes(CreateCode((uint)Code.by_name, val))) throw new IOException("Can't send bytes to server."); } + catch { My_Close(needCloseConeection); throw; } + + byte[] res = null; try { var tmp = ReceiveBytes(1); - return tmp[0] switch + switch (tmp[0]) { - 0x00 => null, - 0x01 => ReceiveBytes(4), - _ => throw new InvalidOperationException("Wrong answer from server."), + case 0x00: break; + case 0x01: res = ReceiveBytes(4); break; + default: ReceiveBytes(); break; }; } - catch (Exception e) { throw new InvalidOperationException("Can't receive code.", e); } - finally { if (flag_connection) Close(); } + catch { My_Close(needCloseConeection); throw; } + finally { My_Close(needCloseConeection); } + return res; } - public string[] Full_Dir_Browse(string dir) + /// + public string[] Full_Dir_Browse(string dir = "") { + dir = (string.IsNullOrEmpty(dir)) ? "" : dir; + bool needCloseConeection = false; + try { needCloseConeection = My_Connect(); } + catch { My_Close(needCloseConeection); throw; } + + try { if (!SendBytes(CreateCode((uint)Code.dir_browse, dir, new byte[] { 0x00 }))) throw new IOException("Can't send bytes to server."); } + catch { My_Close(needCloseConeection); throw; } + + var res = new List(); + try + { + bool endCycle = false; + do + { + var tmp = ReceiveBytes(1); + switch (tmp[0]) + { + case 0x00: + res = null; + endCycle = true; + break; + case 0x01: + var str = enc.GetString(ReceiveBytes(BitConverter.ToUInt32(ReceiveBytes(4)))); + if (str != "." && str != ".." && str != "error") + if (dir == "") res.Add(str); + else res.Add(dir + "/" + str); + tmp = ReceiveBytes(1); + if (tmp[0] != 0x00) throw new ArgumentException("Wrong get end line."); + break; + case 0xff: + endCycle = true; + break; + default: + res = null; + ReceiveBytes(); + endCycle = true; + break; + } + } while (!endCycle); + } + catch { My_Close(needCloseConeection); throw; } + finally { My_Close(needCloseConeection); } + return res?.ToArray(); } + + public DateTime Full_Server_Time() + { + bool needCloseConeection = false; + try { needCloseConeection = My_Connect(); } + catch { My_Close(needCloseConeection); throw; } + + try { if (!SendBytes(CreateCode((uint)Code.server_time))) throw new IOException("Can't send bytes to server."); } + catch { My_Close(needCloseConeection); throw; } + int year, month, day, hour, minute, second; + try + { + var buf = ReceiveBytes(2); + year = buf[0] | buf[1] << 8; + month = ReceiveBytes(1)[0]; + day = ReceiveBytes(1)[0]; + hour = ReceiveBytes(1)[0]; + minute = ReceiveBytes(1)[0]; + second = ReceiveBytes(1)[0]; + } + catch { My_Close(needCloseConeection); throw; } + finally { My_Close(needCloseConeection); } + return new DateTime(year, month, day, hour, minute, second); + } + } } diff --git a/DataClient/bin/Debug/net5.0/DataClient.dll b/DataClient/bin/Debug/net5.0/DataClient.dll index d82d1d2ad1a2f5a4e30376fb2b84ca0010c0d956..2d146cb4a1b75b87d0d608d329fbab2cc9010af8 100644 GIT binary patch delta 9622 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 delta 8836 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 diff --git a/DataClient/bin/Debug/net5.0/DataClient.pdb b/DataClient/bin/Debug/net5.0/DataClient.pdb index c7e8e3d5dda932cac8b4a3bbaf226663401de352..87e5fb8ac550d88ec84d4d93fb2cdfb9ab50bc2d 100644 GIT binary patch delta 4008 zcmb7`ZH!!H6~}+)+q{w%zV@ce}5%yDe?g7MAc*3N4ftiZ5;1-Pnb8 zx7pny1-}=TKM+bA;;;{Tq=u5!k!1C?0(-V`Qn*lhP0M~3gw(~{; z_So~KJ1)N%SYHC^Ay|IV{;3;*Snt9;-&gC}uILi{F5y>Q z!e6?Cx^7`@x3H&M*w!OF-mAROr~I~0d8Va|`B+MRcl>#=40j>Wc6HP+x@Yf>TA< z?sZWSw)HQk2bg-=qkcD0jo%SG`|e!F2YNJo+8{F zmh##CYJh=r@L-5@)-z0zFnkVS%{kaUU%E7jAK8yV-ENtHbRc#u}#|x?(jG3zeS;9V)cKGp-au zw6Sm<8l7mC;D@og+{SQfINaPCs)O~8825x8o179H07`fujPo#%45P9w-*2~eDm>9= zeO$PIFc!5}6X^|^3=Y$h!KKmJgvTwJd^ny6N5spSNo-<4JZ3shh{x%UH^pOfC+hL- z&a~R>CiVDT=N|Q_>dJ@XLO7mKj~Bb%RF6M(;dp$oD(!^)aNOf~tnJA=9&^15j>o>f z6QLc~IBC}-SK6O;V^sEUay?e{?{Piu?$5g(|Lo7ZF%km{uE&vq1vkdgffKIBO9Lm| z7_SYy>3Y;=@yvo3V{_!)?)_7vd-u=uF?-yJ84bsSQ`57I?LEwlb>!fY#C_>ooxA>( z-tf$!zVDvajjzA`;I$2po!U9Pt*Za^>$QF1krAzX%Aj;EiuS7DhD!&OA5^3TVN z_V-}hz>+-;I$CK3autI~s`SdF72!ITC27>%F{%|sT!aSIDw`WNVk#nvBCJ%cA*r~O zC?4f*PPtHNXOU7Gyw{)3rF3t(t*xi06w#}NX56^_WvSOAX32Glf2a5l>mkiQtA2;f z9h13tWxiDX=X9=4<~Qj4kk0QT6A zYSr+Va@tHEg=0E!>x1tP*XCS}r)0>^_b(|TmlcycaZ`ADD7uz1T-UCpuTb0FK z^j}t8RAy)Gbc7z&%AC2qn$ITb(B)-Rsr@UoK$f{w>h92SAuVjeO;Vbhwl+aaoOT^8Gp1_Xr`%2)cZ6Zp>VjM*leB8Ba$Tsq<#xHkWe%Qp zM^U!mCWx^?`IKgd5jP>0h#Ffz#LlD@obi8}J#RsyW`lc&T60wiSBaS*M_gKHQmPAZ zwM$dssnUvPt&&9C+ryfSnaV_Ox4pyvgk@6Xi-}uDB8!-J_1YT>GA;Re@ylecQs#O! zj{2#CGPkd7?k=_OwJ8aU%|9CChSM>tJO94mvEg*?WQ9F{(-B%!!|a!_Ax^7~*ja_P z@ISI+KDz6~uDiaFn|)_<(|TTRYTRs8pG#CrsMH)WTShrCcd?REEbTo?rEZNABW+%6 zHQ65dq$x>iZzz*`Sug%ACUDKaB>n?!{?qC|?e|q$z|S~Bw`xs}RyWM*CysPWRBc1# zAN(lP=l*lo%t+$|Nz}rBqoEq1KZ2RH?*+(?iX zcV+IYZF8k+-#_Slqt4&0{;8DYpR2MAzU>IDVPqelyWE)~`afl2^jKC3`D#+iXjDpR zuwjXnOVdY#Xzt^Mk^RqNS+Bh{wxCJM#J^DdOU1uR{O#iJ5`VAe9}qvElHdocJ1dU8 zBgZD>*sF58co^Y|cnZjE|^oT1JDcMmM s+_+}1)CVuFxkFOHg%{i{i-MOf*d&XC(zP3$jaWi31o2g`_wj(qL!{PB2bzFka+` zg2Bn%wINWIQs{~X0UrWX2qA<}sX$d}6@fsiN>w64i`q&}L4ByITB)U~s)|z0+#77t zeyU~Nng5ypne&)4XXjT-@7(q9klzx8&Bwuw!IQw|ee<(ZGl%B@PQ}1Avi@l|C>3Cd0fPSD9 zm;#1?%b<~c!1X{mupUq#8WJOqoXMsP^CDmXhyks|q;&gkMi|Qo(;4A-MtC?QJe?7~ zn-Sj12=8ZvKW2oUc44Vq*wrBnbqWu33V-SpMzX?nSs|Ad9?J?p%?gn&VZK{$4du`>-9DN?>1})2jM#4t0DFfUNyM~k~lH8@m+_(~v+ zLuH6X1DruHXTrh$HvfrDcAZn*hJW{2B&}xYp{u^5s#)&zsDRC9?c;( z0X40`%>vDMY(g;hIU=wLkJeD(OZFT+G9iu%w5-9`nj3*fN4Wl132+x;o$CnKyAfUj z+QRi7gzp*W1={c!#N;2i0muXbi;n>9#0iPztYmI&-&~pLqy8sVZ z><0#n!q5c-^H;!hkq1ogVGrQh6OGxfbbfW%UN^&uSWeV(O4e}TzBRjjW*)?EnwfCS zZe&b4)B$lWH%*QOdnMcLMKcX4W#w2c&(5QkQxeL9kjy?o3k<%&(Wqsfm#hoU-zW&{ ztioP9H#Mp}VqGy#L^xqvr0E7RX03B4ff5$2i|38~q0O{X;k_Qy!-Y2nB4KMa1vr|? z;4mv0TJf{3i-VB-3_KTQ#UObvRPKigX^R##rI?sv6uRBqX?b#+ZoDuby&K^*Y zVm7ZHZ)H!Z$H&>z>M`7X&T?=Jv&r$ezh}hG^Y(kn@z~OP%89U}_o~y5$5`(<$KyM_ zxE^hNxDf{Xnp}_P`kLGb-|ri7JwECiaU*=(cfj?yxIb?tc{jpB|0&mF%RsRw*5DtS zK6rS1a^_ZM4&E`zEz`M)+xJb~J;|Yk>1jKe$SuswhqIYO+_G?pBXhZ#;P;Q|$(h6R zw=sp?XCgNw(M z;GB&Kn{iFMzAE7SA|})XoG!y@k^C=XLVG~E&eYqsawkEfOO%c#5;PU|7I*g#w*Hrt z1nbL4P+vxrM)PT{EHoguACNQG|r5OS@7@Tv3v)uhc4~bSUM-wZt(Or=qwtkn%;xg$<^h zh*G1+N)Yuo$)XevYyMHqeb-$?}hN`E@NUrX~M+1f)&ROp0t>3j^eyC_!_f#OOxgEYS`XSWq3R)e z%*GitaVGSbk@#8pV&Oq4JTHYebV2j4X`x=0&&u*ATKG_xFO!u)UFp=7+tZ?j_pXkb zfVX%;N_~4eduTDIbJObSAc*cSdV`sg+tPA<%xGLu+&VZRHx?fs+~-d?Lc40MFuII0@mTw)e;jxnaz*hR)zo!(SRwVH>G`mT&?v^!ylM;)PFH9{&Z zoK<$4QbA3q;>RQ*zGl)A=q+EU*ZrxLE+zG;o>9vgwZdSjvG+|!*s7W`B{!^^phtas zzE>E~p?)bX#*=ErF`N=Qqoj0nY_&++Ot2$Lf-k%NRzzb$1~-LptwWWzYEaCUcYdFk z*=JbClGI21;!|6i{kDi(YOaeCF`v)5RGE;=X)yj<*;XT~H3ef~o6A}aaqqF+z+M2+ zdyH*Uljb5_qM9^UMIyfZ4@X4z?@^N@dug^wVMvy%W#wjBIj&L7uV~>0Ei56+&+GDE zWaU-4cTVnWZ&^93=KmQvkpU~ys#`i7G%}?IZv-_Izy^}}hb2D?fL-Rd*=5ob%w%3=v_^doT zCC{Fb7hjSWPZ$5Wy<@Z-q$MNN2Az1Q$~=9ONY)X0G**Y`qPtPj5-AapcCAT)40ysW zbu%Q?HpyeIl%-{VWihwopi~vl>{ycO;@;u= + + + DataClient + + + + + Статус процесса выполнения запроса. + Предполагается использовать только на больших + загрузках и в ассинхронных задачах + + + + Коды для работы с СТП. + + + IP адрес СТП. + + + Порт СТП. + + + Количество попыток переподключения. + + + Время в секундах между попытками переподключения. + + + Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070; + + + Конструктор класса NetClient с параметрами.Ip-адрес сервера.Порт сервера. + + + Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.Открытый сетевой поток.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. + Соединение с сервером закрыто. + + Стрим недоступен для Чтения. + + Сервер сбросил соединение. + + + + Получение определенного количество байт с сервера.Открытый сетевой поток.Кол-во получаемых байт.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. Может быть меньше заданного количества. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + Сервер сбросил соединение. + + + + Отправка массива байт на СТП.Открытый сетевой поток.Массив байт.Результат отправки. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + + + Формирование массива байт на отправку.Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00)Передаваемая строка.Байты перед передаваемой строкой.Байты после передаваемой строкой.Массив байт для отправки на СТП. + + + Открытие соединения к серверу.Информирует только о подключении к серверу. Исключения опускает.Состояние подключения. + + + Проверка подключения.Состояние подключения. + + + Закрыть подключение. + + + Отправка массива байт на СТП.Массив байт для отправки.Результат отправки. + Размер байт не должен равняться нулю. + + Поток недоступен для записи. + + + + Получение неизвестного количество байт.Возвращает null, если что-то пошло не так.Массив байт. + + + Получение определенного количество байт.Количество байт.Возвращает null, если что-то пошло не так.Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных. + + + Внутренняя функция для создания подключения.Возвращает флаг необходимости закрытия соединения. + Не получилось соединиться с сервером. + + + + Внетренняя функция для закрытия соединения.Флаг о необходимости закрыть соединение. + + + Внутренняя функция получения файлов.Код, который будет отправлен на сервер.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Массив байт, соответствующий запрашиваемому файлу. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Название команды.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив байт, соответствующий этой команде. Может вернуть null. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение структуры файлов и папок в запрашиваемой директории.Путь, структуру которого надо отобразить.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив строк. Полные пути к файлам и папкам. Может вернуть null. + Неверный флаг окончания строки. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + + Класс для связи с СТП. Содержит все инструменты, для получения данных. + + + + Номер сервера, используемого по умолчанию. + + + Массив серверов, инициализированных в экземпляре класса. + + + Получение номера сервера по его названию. + Название сервера. + Номер сервера в списке серверов. + + + Получение название сервера по его номеру. + Номер сервера в списке серверов. + Название сервера. + + + Проверка параметров серевера перед их добавлением в список. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Добавление сервера в список серверов. + Название сервера + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его номеру. + Номер сервера в списке серверов. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его названию. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его номеру. + Номер сервера в списке серверов. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его названию. + Название сервера. + Результат выполнения функции. + + + Чтение конфигурационнного файла и установка параметров по умолчанию. + + + Создание экземпляра класса. + + + Создание экземпляра класса с указанием конфигурационного файла. + Путь к файлу конфигурации. + + + diff --git a/DataClient/bin/Debug/net5.0/ref/DataClient.dll b/DataClient/bin/Debug/net5.0/ref/DataClient.dll index 7a254009f6613c065069f0039e6950b866eb1d91..e48227eb2262c16f5a0570ba94209a71b3b168fd 100644 GIT binary patch delta 2335 zcmbW3Yiv_x7{~w5+tYLUzNOvSmCmgjTX$u%LY6tE42MjSixD!}1uqN2Viv$@SK*7& zYBEBU50FC)K_SE$ZblJKyg*nC36PnPK&C-K7X=M5ijsf^LzI~J*>*M}`oT5%_4z&j z=e>08vZfcO7jM~QxW_{MTQ?Wdsjd6lDd`YZ`a3#-LZ?L3I-T?wop$$AyRb`|Z%yAn z=*}N};AnD5&xryz)3{0k`y4W}{YE}OPKju6mY7vds}vC10Gw4oa}bENCKEl+J=+HW zb{=2=h%IYHP99+Edj7HnEda{$fbX0S&ALzxfH;6D09u{j&63pHlJs(zI1;#5nW&JO z*@2kKK%3J2Yuuj`=#VBta!{Js5zuUBCYk4%mCVEHkTmh8rTK}}{KL|Ferg?(`lNn7 zkoaMza7kTJ_2Y`K#w-F!Hk3N99s;2Z1RDeDxT=RA6%Yi}SwIs4sDzJf+yYRKWn;F7 ztqoP29b;=pHQO*-2d1;7eq`-L4R5+f=}niT7AE?w9c1F7)T|8dBop~c*9+xtGSSL> zPYsZ14w<{DEuCfUrMC1t%!JhSw_Lx<+-2xazNuN})3n82YD=Y8>8ErJ2RBLAo49tF zvv_nT&n)8l1lQ-d{+am&ugYdtFn94`98nixu3a?JCAUh8sVqw%rM90%!54i zHFFcE?=$b?&g*>eATz-nV8(goB=Z9A6XyP9zSh%RFXz}oYYHIY&`WKo*=1yu$f360oExnm})f%8B&HCfGF|b{| zON4PdBM(lpbJE5{mK$_Qc#}mz!kDG7F>ph<Y3wzaP#M(eEX%e9c1hdzVMfrl4K#4S%F<~o@9>kQ=SL*qLoKJbcT##(Z$Zdc6G!&* z7UfJ`3qIJ#2ODFPIu)GyI5jx+kEQ>$ipKWOR7invfnQT;P~S0^FYz*Ot@}Ri8^~1> zQANmv{?z9qsuZfZo{6Zk(a4<3T)}0NBzQXfaC_w`x%20$XWR$a1A%-keqrnM= zoBUxc1>E`Jeo8eUfahs80!UI3;s|1%h$9<|MH~fKE#in_HsYv3Qp8b*10s(5aa6=H z4<|(&i!dzWXyyJBI3T{qO3a3jG-J$p%#}<5{kLxd*rR3&;KDRnFM!fuqW~0ho76Rw zW?D5ltL?^61R)Ue5rV*7&LKND`-%em{O@`6Cl?>M=j}$HQ;{>>U754cD1G?FHEX(B zyA$iW6J3w@tnEh2iextzeWT5!b2t)<@K{SvqU*s#@A|%Otm;X0J(K8N?+!J-Ks5)d+0a#j&MjL_w7t4TzThMzN?j5` z(7EPI774ABg3@wfq|#{CH3F%uNYoHAwO2EU!h)=UAfng{zh}E=tEj)?!skBU@AvsV z&$;)W%e~3gWb1R=P3xtSKL(yHq$dXsc2liSG&7Xl0~GotVwT@SOK5xQAax73w7q-f z?!#9XAO7|JyN|AU{h3tE93_E1pRBCV`}qL*C1Q@h)T)?whXUeH00$IM8wTR-8~fKj z{Jp~a)5LGTh{DoC4d?L5ddxe6|2M>kfe{p!U3mD zS;&!^!pT%q(5$ro9s4!TB5C1)#s&ZqW-^p;`fqwK8X9?xWJ8nd3+${gXQ z^UM)${fv1VJ8$ynADFwDA2U0-=Mt0nQf9D!kuPp5*PA%4=Cr>S`nrzt%51h4^MW<( zc{Lo!8Xka?02sQies5K3qH z5%o3&3LW;lWT!J6P$wuHs78B2dE0Q-wlEQPs8f?#m#Z@r2@Wn-UrbU><^_rdS+#wE z+(7l&7bz>PoC`8V*@6055(4Ep52{O)lMb=LzC1}?wXRZbke!t`C@)abHbp_8HrqF7 zdZ4D+QBfMGU3R7@ODlfY$^+#^lsidARGyd_gb`IFswOE5iT_CfgxL}xZ|vzWJS_o% z+^}w1VY{xt4(YlEio>pJqMZFDwoV)M2z+Jh{!2MxTbZ5~f>#>6 z(uAY*P#p_yH8?dn4UMP&bt=68Jm)08m{?d}oXO5BJX!k&VqRGP`j|>0q6jhQdwMD& zN}-bLTcAIn2Ic~03-exP4|5fB6ZdDL1T~N-MG-Pl#&rea$V4UAvrqwvTCQ(J9sKzj zRjKtETga<{gY{Gg2OFsf34}3MB#?y#B7p*|6bZyphXkszRwOVRdqo1bV?-pd5JyA; z_u#llpq>5uuvdJK)u@9(nsMer=4z&Z{+3$+cB*m#oSZJJ1P}`+1aM7hZkC#(%yp{H z_uYp2Ttq?0Llgq}m;y7&zrirZo&cOzKqyc^4vwTK)?mo?=C-cpwiO*M{>|C-MpH{$ zsw2DC3^lFVxTeEDogYtSOzkyd`1`*K|FObS%JKIX&LYSEq_COtQtnN2h{(UIsL0Pv7J^6d#s;jIhy58%7>>~f??ds#3u5O$S)0=1VJbnW6X1d;A zSJ&NDtbj3g;J|?c_&!hV0k>LoZ4xUl1xS7 zvB9Nf!O~z!u;kQE#YM(EJ>Bj?!2juTRKHCD{VsTOC=Xc+XK9Q~pVE zv_VNR=3zeHVJ(i<(ovNRM`Ci+_?<7t4LCFHWlZui#_lU%O!6U7xSSXN83JO}`7jI*X`2&nGxqQ&{vB`K{Qm*fGb|k8#ribI{n3A5JkVA7*(@l(H zhEKp93Jysmg5#Ci>1DV()00Z=^q7(^3zkgR5bsJ{hcY(cIs zGb|$4#p0=SB$NtHP!^^qCnISkIUy;Bl+lq?T8Sx1_2Lp^ESl?!PnexlCQCXM{4v&T6>Q#p?Oe--wCMnh9VT`fqx%N1wp!Ql^V634|%Y<^BlA2y`6d4Nft|XLLSc!!iBe6OB zq1CcwG*Y8yOEU)(YQv1*tk8c`P0SIDv2f0OYEOhga*~1~ffFrej48Rk(v_M=h9=Q{0bEjghf z5#_hx7{*vluCFmhNe3q@HP!LZTqVsP({_xpM6Rzxo}J=M973xKUG% zh{kJB_;H$+a_LycSUT7Kbg+7{%ddQPJXtTN(~4H!cVvtubA9D%CDf3Nq#J|f$;Lz) zjkv_@MzfiKNBuZA%Bza1Aliyr{f5gN&lsDWYkQLw-bCoc7^}B@Lm>qT^BjLpflAzIImiO1ApI1*BQo#aNlf;M5w) zJV3}66Vs6>iV57WZf@ki%t9BJ>F&leOYx0O#zRVq*U~*0V>5G|H}Fi+robtTvEMeS zpOQ#M>LcmMd?l6HJqg8=ikwLF36|LRQpOs;ry@O-F*YODF3n;PcdaL5Y;LYEp|)TBp4kW3{=?BzhyNB9=}@Vkv##p-)bGDq4eOn4Ff?tkBmDCmEf&l+lPO zV~oXfO^p_aXpw27jTN!lxN5MU8_hE0brcr;8Dp_rJJRz(W@FlD)(mjtnwHkakXS69 zRvYoW+#SdmTiLV`s%X5f4#R|UO-ilnF=Urn2k1TL-cFUkXzeS8kgrhj4{{^(qS6~9 z*DK?dR6N>XbVyHgqZ>>!uleWdctbM8d!whj;jp4ASdofH<+Kv6PREmS9lzFKH=3~( zRchYSYCQF>oxvD8H`fnMc|4YiYa=6Px>3DZM=bF8pXEkh+P>N+81*xHOiWlzZFve!(y3keohxz~Dk&+vrlkil-yEsqr$Z|@h7@b-BwfuC&ud4Mnsqo09U7zid?T!o#axUnH-7r>21Y2 z*^Tm#PjIAyLsGF))zTCJPeZAQp|+(Io>~hirOjuz#>O zT_!MQbi9tv7U|tC6jjsQ7+29Ax$nbfE?0BS%$(Lf z_O$|X=PWnYtdLfLI%lh1NoI^~Xxc!C%~G9185FTwzatEg)VMJ#p!V6yO z`r6bypZwBiLBnn|!cja_$`L-Gr{uH|t_`-Tiw2QTYu#wLWKKMl%TWdEP+y+J(LT2?X&gL-2F35GYp_ii-v9ywmCyW&-+P`BM8;dCP zWifNzs5bve(CAwkQC@w7++kED9Nq#MPVe%ms0zdpm0(r)BIo7lEX zbK?n{xelxnH`_7f23B#kYBTLd?$ic^)C)8)#%^j_D<+gN7kUVjI+>HILd#{o8(GWj z*5h4^Sg0YH)O#Ka+-h2k)jMko8Dk@UZSe#;Yt#D%`v*%)^sX759#gw$C|?@gXmio= ze~f~tS6bvonXEr^Bjs2)s`ZL~>qg&iLQ;;UWbI`ZfIHuf<((B(+VZwaIgwDpD6jZ~ zw%Co^ga#{?G-bTxaRFm&Qmz{(6;&#;C2mZi!v${0g>JNo_55XRRpEk5-Kaz?l@@74 z;*uA++>9di2rhTATe(hehQ}k?O3_RH2ZNQv=PR)^<}t!UQjIabGI5z31G0LivCzEK zjSdZRzoqeenHwdO*?g;-uOy>t@ucRF%iVbFGS>YB%j02XEM8qwFSy*zQK-zen+5C& zHr6|7Fnp}Fb{n(Fmdx>1T{w0K6xLoy%OTIEI+gi?&WEkp+LSG#f7D9Q=( zc$60`*SL`t)hSNvO5JN+xnIVMwB@tqSWMAet#QMZUc(u$VY-ldzxxtOuDs_Ex#_Hx9b2@*okyGnXql{ncMwTUWGu}~zT6%oH@ zj8*5l3xOPVlN)7^rNuoo8Ba$e>gCqCG3ilNgV(FgcX4iZqy1!kY80{(^cJ@UDAbpx zaGTb<(a_b49P9_7jVRpe#?l(n9)lNb?vV4h*iizES4T!j`{WO9SIRP@Zi9(C-FRd&r@e__+o;Q#`| z<~0Qfg$N!5F9J61k^Be&gcb-ALJ`7Y2!|uIL^uMW7@-wHYlJokM;S_{Z5qcs75qcq% zAe18XM(Bgk7oiNHA3}eG0SE&T1|gh=a5}3p63_nf)p3Tnl8eV!#V7?-@m=d%8R9A~9%~h& zv{1#1;>Ct|92bwbiczYl;!ziMF~rqeJi#hP>7$B^dvq|w6S;VjRg6+f6<>1TjbzQQ5AP;+0qct;NtVFVw9q)_`1hC z8seE;Jj*IZX{(A)Kle9=Smxpys~DxSDt_bj)`mF5#bK)$rMD`k83|i^6&3kwtzwk& zs`y`jJIwgzIxe1V6{9v##gs;bi|1Iys5MkE%^P#MIBFH6c2UI@`>!&RQP0IOs~EMA zkmfiSC#+)BR;rk0{&`%Coxn04E7WSL_?zQ98Oca-aoQ?I?Wc+K(~~OFS3f!Dp19g#>HHGiB*i&gDQ?(ajfyp%eeSbs~D{eRZI(+%eeS*s~D{j zRZJh)yoGPZb`$jHa zYZar_Cw%kox%eil7_CE9OiR&qTzs=tj8>#7rg`HQE?#dHqqV7uX@0(yi*K`v(JEEN zG>iU$i*L7z(Rx+IG$Y-?#dli8XyvM6nvw3};tf_YTEnWC-jut!c%xN}Ry;d<=;i~xQBi9(5;L zm{pA4i7KWy<#8^4!YW2DMio;UPjc~7Rxx@zs+iuvZCw1cRg7MdkmkQ|@iSI2dQYmD zwl|*T;^(Yl^s-bjeXO46;uox9^u~lVZ|C9{tzz`rR57LTS1x|ZDn{>4NXE-t{EAhK zUZ5(bH|13>e$6UIZ&66b>s-9UDn_qT71P4}|G4-Ks~EjcRZNS5H@WyNs~EjhRZN>b zZ*%cGRxx_Bs+i`Dom~8`Rg7M*DyBv5-?;cas~EjwRZR27`&|5iRg7M=kc_``@rPD1 zdfTd)K2{%b@h+eAd(fxyqKemd|dsoFYBkktmPpo3}@>Ma-&!2Mf9;+Cm0jijy z`;3b}w~8@pAbj&bx%dmK7^4fSm}b#0x%exq7^4uX_=u$i4c};etFO8E8><+j6{?ul zR^M{*cUCb*HB>Rp&;R1$@2z5teh6v)fs22%iZM!}iYe!xxOlHsjL{S!%|CPTKC2j` zE~=Qe3jWQ-|FMcOI-`o|W3``)f3b=&ild5W-+#SP4`SQrq9Q*lv~)c%+M|kT7R7)- zQIWsUD#oagDyCV~!^K{!7^6q3nBGAj7yGSZj54WWS`-AhxP?`WF$y8g5*HU)#Tc~` zzWFdN#unHa9Wjh zpJWwdlv5RdAa5|f`D8BcW))*JR29>rpgR}$u!=Eis)}h@cM2DuY87L2RTVEg@XXyu z@8pAfJ-Ik&6=M`u71LbTi;GLFVvN=b;!-Z|Z53lwR~6GPULP**YZYVkR~6Ita~T)+ zvx+fFEF_~p7Z0$CF`6uV^FS^hWEEr7SryYks8x(naUmJyTs+Jw#^|{!rbX^>E~|rs!sJ@hqztvn{HaRzNZr z*I31vl~Kj?84Pi8*eb^CjgV#>7lH9-s~EF9g1C;0XIsUX4HD8E;o><~F=mZaF)c;s za&gou#_W`QE>2j*n5|O9^hue=#Yw9evs$W{7P%=dPFuy8 z{Sw3tTs+?@#w?jCrbWR5E?#IAV>V6r=0+}FWEEr9O%>C;@mnrF-zvuJoGPaIc`+AX zU=?E)Pe}6;F22wz#%!M|rgv~D7hhx*V^&ZV(~j81TzrXDjM+m~Oe@W0Tzsijj9Eq@ z8JBVKO*PXpobk+0c|%6ow*!*>Y<3kZ7GWA3Lek zC**XCP&};E$SEZ-S7}Vhk)%&fRi~4INU9psqDA=4M8l9|Xtos5&l+fvRO;3B>Z~9T zz@anD<57ELtgxW4@Ca?W+$4TjPKy==Ey}civb%Y=29; z5;qj7QMVH=C{QPH3;b6XGIo^qP3oE&{X7(DWg%nIDumUA3|&?ArvUHNc=gO0D`af4-N)vsNb0vWqSJb36bA z{_6`F>!DpLW8IzoNjlOExP><&thL_90%iY!1GtyC4+Y`<2M*v~r~ua$GPcAmfLSD) zW4*bMvHI-2<_b0z9dOvU6f$;~yG7V3 ztsLu}g^bnwimP0)#F`Aw@-E8K;Y=iH12Eo=uu)(+k+PgXS#ENbr9)ad%X=wH2W75U zV#x|;d0!!8#o8Uz7sX4Pf$e^T2Q+qgl+_Zuppvp1P1$WJWGw7fKGf63Sv^$9*mz5- zO*U9JlwASYzrS1-D(hD|uuos5WB~T~Eh@kY9nR+ALdII?=Tu3LfXAZr zPBA@O$kN#STBAMSTBAMm|D%^ZMt5zuXNe$E~Hhw(MXM6@n&m-gMF@$vANm) ziU~gJ3R(`=4D3I!&w$!e+dthdfQ)lGT_ z&5*L>v)Czd{PoPQ^|khW3P6YHc8LGUAl zT>{3A6yvcJ<8C)|p^!+9?-P;>1xc>3VG$_D_GzL0!K%jTd(s|I`wZc80bN^)?kI}x z%R^Iliw78Jnr)K3iF?5MpU8NBA}AhG(=QrEfs(TZHcfbS){m!zsES z-0c5mB#?EDYwTekx?_FzxPO#6sE&I6ouo6A1YzAulDgzmTz6Ze=e0 z?W7|AFNKVaA*sz353GIWJPv>dImc0A9=xQ1Q0UaPM$9T!xc#iVCp2oAbbsTWgKDdGe&x0zhyO zv{a-~!4K~o{XnUFPpP!@FjnhUE-_Qb*&N|vY=V$-laTsiMK&WywuG>zof9hdFxFPP zPUf5NQY!#zjnGD*^d+VA1*O#1!`K|RC}pOQlRDbN*c4j_CatWS^R`V>3{-Mj$9Nb! zLAw@dwg{(xO6`EHJwgY8-EPY6W6G|hhp~lju{&6LImzRY!Lx9eE3SC|fpb0H!`Mms zl@ETtsniKnJ0o-v(7sR6zDLn^^)U8Z*U%n3$(-&<9>yZsdCV1HyfeZ9pX_1mH`>L? zc%X5PtJDoZyCd`vsJ=<5zCo$>^e~oii>h5ZIm)1ivGWe%CRhCM8V%>y%VUoHX6{vM zj-^N?z*maUTVVJyW%v?hSmtqY?AIx+oMS(aIri(M%oR(#WyD$b_b_&{zWyZ(3LWOtvII1cSV@29+ znyl1FW5H$|!gvjk*&*3P0o_9ZP4qA}(=9;S#_UD@Ngl>3&9s^@vY(A8=~G))+rPH7 zG+b69_u(U(cvq3bnCxM!gLVOR&@l7dYH13%OhuR`0OFpz=Jx<6-B(j&M98z zG3O8HbOnx_OUj{iO1d2UmLseXAU05lX$tX5kBjpMwh847uR_a3V`wYO6+*n$&kQ;o?1Yk2Lu;~=o9d5Q@ZIa2c-AP)oHlkd?!$ubz-d!HX+Gu3~+B((o&|D>*k~VI zjhNYstfa(7Q({{@j9q+aE0hw+NPQ$7nXjZW7bb<`NkvX1`UFet*C&~2=QtliALLhD zHi50}Y9#E3!r4CTVXT#Q6OE3Y^awaUim+A4e#0ruVHD=$9>x^6vY(MSPU{H|W7XDl zHvx}r;f5VxIG!gxj2)+4MxD4Guhca}tRgYa?On; z=nhHc=$`X1CLi2Wu0UdU91ik%kGT}dek`v%m5^Ql#q9_$3Mk7c%Dxok%N`e(A~`0O z!+gbKE=6*b<_ahF58^mqB@H_D$*7O&TR2Ovf#2&0I|PV5Da2DL#5dh+&{>km(Y-|) zbQVFbfME|M4(x66Akz*`bwUY6D)?O=U^%+qkMM5cQ4^VxE@VSuP+EQLeQC?qq7>l`8$%?7u(7y68 zrf=jfYD{uj5A51@zp&L9C-=3-T*QTw`J``v>05;FguK;~vO1iy`oWb&OWGY(kBe2` z?)njnmdL-FJhIP8cJC};H#N@VCz6vg*3YHT6_)k_%+Cn>gq-A~bi9<#em8THm`cv- z7m|}ijY;m%auT+dEx*wE#B>p-6*gmi#|Zc;8ca zExj(z;GsdGKAcB*%^AEY^<R>_GT?`5pJ?bw2T_!T{Pp?fyE{S;Av?cGp}#?)_w>5h928T@Nd~=Ub5PVYft+o9gB?*h zxn5p#jV-Me%|G)4Wuy||D@EunFnpOZe2FqF^SZdk)=XoH{MkGJr^w&WYp$_9n7RpE zZJXKHJeG6qPjX~MRj?uzkIHE!T%C?5!cGBhK&h(mV%8V7Aa%?Lp;}3kw*+PbV+3K2z;X>`c`apG?{#qzkbO!y z$e7n$1Z1x>DIQuc8=JLrigB;`wgo9=hDA~dIUSmj1G|j$%`8J2*k__V9-FTu(@Ijh9N?BCtPtomP;CsmKr_u8<;}m^1T=r6 z35;!P2pk5&8Q(%`2)zW6)&t|M2)Ai0%~Adtl;w2F@(wp^2t93_*`1_@&_6NRWZx38 z>$BnP6VB!?FJp&Ij>N+81*xHON|81I$=wJW1uhdQmkE^1CN!dQUUQOkaVGbA85=|X zwFx}>l-AVt8Bo?w4)^KTSLsuxZm59cT{w^Xyo?>GHLKM%f=Z|%8A&%vn}Othga?FY zuaa^ZO}T9GGB!KsTx`U^nNR!JVFo7LfPQpn>9N6<-a|@Fpi3Hw*P!^`87l3Iy!ixf{GRmqi zW%V*zIBq>}X6iVmSG?vHCgx|kB820cIH6a)jI}bSddhKRZ9;ktY+gs$Apq)00i8+# zy@^@&oCC5Zj`MlT%UHGbqg>&^fmIyO+hp`w-HT{kgOY5NYodzu4)E+mcvoQ5l`=Y! zGJ4<5(d*07gs>zqu^?GrC!=Q)c^c%|5EwO=;73E4K6aD*AB_o>%hL5=3YWTj@L zB8RbqdNitp)Tz%sfcF`~=K{gDl;Ba6;Fn$(S5P}7l~er6Yp$Sn5Sk@z!}e7hhVjS(xAS^-#Vgf;@TFDbPzD7Cge7dxUfeH_=(KC>fAKWzdh z+W|BjqsciP<1^o<);sI`4@xx_r`JjCz^Xk$2Lae_3hZMFtfSAx_o;0Y%E=w)GvBAS zl{EpOZKDQ+3QPRc_wuNxXuV&G$(;O5gv(jw$-7hQcU80os4VCl> zmy`|c6H>>CaK6BCgNTmq91yV0lQZG?bWp0*aG<_UY zKT?v>Pn*EW_A$iax|~ygA7eeWW{>gYXKZOUrL1INxspsrY9k>zt)!#@fHx3fkU;QR zO7IySa34t;+3Ry761=H z7%EVHoKk*_QXcMR1!9{}&h%_jf!NA&g%F1~bA%&&<~k;Q89o~Bk*JcaR+950Sen8| z8p@@S09k=BN}#!g(tME8tn|6Kj_KFZ%)yTFnd_K-?Kg787-wE{##KJX+L{eeGHxS{ z1<29mY6}^cPy@wK=2sYZe9zgesf%t(WcQ# z7BYmb?guMP0jsG9(}XN|2L*OJ1vbOdrpalkX-y+Xb{^U^4lYb+Sy$Ay%y0x6XExKv zSebc)%q3lRhv;O!V=)UbWrP|b3$CL?Z=ysMA7h(oMRd?+Vzwvh9LoC^!<2*)3oEfu zV?}HZAJ5A$%5O`pkFkYK0@Z|@X8Rrn4m9L9tIzD#!OhaZnnsRmJ}C{X3X|EPjfD9OW($1gx;iv`E9FR3S_n*y2#bVVwT!a5gtA)f zb8%gro;J?t0-w3APXEMYlXXdH+ocH@Y?k=UH@ekXlM8`lDZ)iU9$HMfoKLwd^SQBV zLaQ&3F3#jqpZP{N{?+7>bzZT3B|Cvc5UWjgVrrRb5(j~&ynQ4^+0wj!fis{n?bovr`+yv zdF}%nAZQfLv~q%XX3l-sDovJ$_8_-5Sl;DhtW-;p-dU`OrIlnnq20!m{_ohaAz81! z1}<#?*t-!n3Unt@x)UhfO+LmhrS0gPc1^NRJ_mj;?)86dJy*BjNaGgVM+SCu4;fn- zNSgureuM{vGN6*u9!+U)adTkDHldvBLu6pbR%Rm1zC^Hl)v>LC@L`Hjsnu3EkVi~< z1oR$7*eYb$;S}L8ituq)5!xk`BYc7)w3C?#53L|L#z6R_&wMFzSYu4CkA(EQCp`sj z+Yp`>;0>nmPN(pm^||;`q$P=0P> zq^wS*tlspwxHXG&YB|2Q&_C3;I%}Ii)V3Sf(IEOZY4BLDi}8rsXncY64p8nycvs-r zmGV51@_gUT29Hx(In579gU3nP1eUgq$Kwr_fA^U$hGxEjADk9Rpw%UP2#6mc>=Hm-y(dcp)}`CT2hpU zQjybYH<9C)XCcGH_~1}`x#-M zK+Z?Wc`3R5Zq~_K(m1AHNS&;GV1miMfozw-PBy?C@G(Y~DU&IajNLdh<`5+2$MQjh zLcefk?ay@i;LmjVpr5hZX(#W$&vc=9tTs~DkW~AchcZp#Y>u<{`x#5xW>M$gG;dDU zO>f&=+ugW10l!%#nd`GtNJFS0nZ#n97Pt!%LXmbW$U(XER(wxyMN8Oot6^!MQqJ`V zzgZ>O>zY8(HjAHPP%QRm&I63anz~j%)*7LW!0k)Q?F-7St>5K&0HlqRI@+H(4}ec{ z#ipmh<`_R?UaUEj+JQxTgbumV~jlf?`!&#Siw#(jn8HSJdo73ua*Act|A$5ZN&InzEOz}Qt@E&E*)t|Xk zFt=k@WM>qlkpnu(Z%(UQ6(+N+iy_+wsMKI~vfms5(Az#ECZ!UeNpPHPqei&^#3uOkU{(ke!6LGKs69y zkdV8crM#Y@yaxMSJoDHtot)ble)G&@JC(`r&>qbG2EQ{&VTQS4oFg?ll1eKvEcyes zAqYbSc8^nbk5P8R-7L(kY2@6_CWV<*(FA6;LnZ?aW+Onv=oCvM@z)B3Q39ncl+uHg zQYCIRsrGVOAjRl2q2;+sqX%j_p4@EK2 z@8Y)6$PQ|YV3Ob5HhPRg8j0B#MRxt5!3K=UesckUUO!l-yQC>#GZkT)kXP=YfNrON zX82uP0N{{R4(&X@xd6aHn5$fMrU7!M-&_D-8FVsdE~QzZC?nJed2JmpSoBSxYg^fjFz7Dvn_G|T1v7b~F9gh`2p0)N7gM6=Q=-fKE^a+8 zrjk><)NgJ*E^2Z`uEHR9ncrLwg~oxoRz|uUz?LJd5U4d!YH3RCO1~Q~5oq};GliVk zRep0lROaWoqIHfz>uS=!GAGii<}1ml+R2hu0@o^p)dI76$}CEmt#Pw|WtUD)?mE)H zvQy=XU!}qCdeSJ&I2|Wg9uF&HSm`GD2UPqki8pWqkwlJ#XEuG-Q;)iXr+TBmy^BM zZyv355OJ=cRvS?7!`#6bWkDL-<}_sPs;98 z%I-}!rCdI5DSli4u!=U&!>B!NklHllgNRCSH0Nzf7cLjo7DZvvd z!S~(l$cd@s^gbXRIZ@LDa<&5uGYxWoC*xY^22ECKs^g)#N;(zPwjuct+&)6sCBW-Q z;T=oi?RIlq%Qm5$-zQ{T%U0F|gtnPaHV}SFN<&gk{%xa4S;=%@SQ-dC8c&arS^lHm8><59NLeh zlC>&w#Y{1n{Y1+-bqfNlQz@S<$6`t}CG7>UpAq&6)O?hhmr~pBYB?vQl5_iomUDup z3FK_cxjKW~0g~JFKH->#dL@Y?r&$2&=nx76!Zv(+={mZ-bRAv5&GjZ)zg15or{)ik z^(GcY6PVc+Y!QQ5Ai!7$ttpgIASC4w)^4=`F$tka!1e>h_C3YcGT_Fxd(O$^0S%(W-<(e1Nf5S{_!14Am2qJAqJVgf0T6_bI0LD5kD~%u$e>cCC!WaYQEt7^}9X zy9sz~bJ9Em&&dIEHpkdIY-};kFaY!qn6vwqMFm5X@pLpI4FHjW2!n*&^DM>k48<}y;NtAQZ9+M$GXm!9zOBqe zn0*)AZh^!C1L2tgbNisG8f;wr{Er=;D!fW+&+jTkK;N!U~V5o zK5PmkyVXsN2BZ-Ib9IxoMWtwmHID?V3WQMtuq_nWgA`b0z{S-~4oT(k#stjOO%B3b zf&8rjvMP}IE&*0tN@D?S9Kv{k+$Kuy9!hRvz~y%dkT#BLQXunP0(_DyHj525lLO}5 zyxvI|9ak6DPXU~%2-5^YcThsNQ$jNWF3!zorjTuJV4fOdewHgjOASJG0rOQ2v~b6(FF_kbIacNXraJ3rHc3TY~X3X(8Y=A}rDfneESIl+Y!V&|)_WaXoDu&jq9q z*FQ1Y99oO?GK0+$+Sk*^$D|9vWhuf%LiSlq;haz5EOWK5rzeinxs>+x^p8wD*|#?B z8dA#*JeQG%ROSv-!;+Et>P|?~<>0g&VTAyzfx=2tSXa8)ka9>WM|TxzNI3{|1@duu@6OVL2^JH-O%a2x|p|3Pl*E2-mqeQfiY-&hKV2Qfed05xnA+g^aCd zj1{sI8S`Gq*tLu?e<5S|`}pc1rA$3(sDK4t-#7W0dv|{Ghu|d}i|^gv^0Phr=X`PX zW&iffk6t|b#?{9?aN4J9cfR@Fw)fZW=yzo2!j*?5PyhMCHA|lPXhEy1p9?Ig>b|G< z5vxDBz)jxGj-^yt_t|?ws$XE-cbn}@rm$ZJfXpnbxp}DirBqfQ%CcH@f%u0Dq zJn5fV8HwS4LmMK|urzbLGCu+dUI=f|q6H4C$@nS0A#YIJXhl)5wvaL45KOJl8&kIm zrfzdGwIOdz-7T2f=wxbhA!Du7CsF%BUdB)H{rZXpMS}N$rr{Pw&I8mA752>_ud~rST}RY z;PLmI@bQXg+ZBBK-kPE(R(AYDWsjRr+xWMmIvn%-1^;?hdH=lKzH?T+8v66;a~?S} z`Nu)`eKxrGFHiUV-TbQiHsAkLYVhu(rr!IRZ9ocTT4E=8dVJ1ylQ+OfgTE zZP#-yedezVC;Yze)`vQr){gBu?UyZo`eGnUd)xNA>mPsJxn!pI)#7FICT>`L)yD4s z+~4}uKW{qit|NZA>+wHyiO#vQf6?gw^Zazw$hon{x=dYm=YSE%#eSIg((2pg)7c~Y zl(&w3<-@=3{#U4E`}*UDTs-lX-+X=IOWluoZs(EzxMN74K^=WNpV)EAfWHgUNF_c$yBGjG1XZx)y2tFx4bdcT`<+d$y7<+m?{-a^>#8fAa6_!6if|r zGIdtom>MFO8tPWQ_WubtPNqK08&e+%rgmwjgr4u7Y)v(L zGwCzkl+jH3-04nz<8fLi@U8wO#yWxToXG6W8!|uZrVKLsoX8*ph{KWHPvsyXs@|(7uc~skfZaMRw z)}{9z_J4hz{c2X{x}Mj!`@D3+y^ptCAL!NfoyA+@+l%*4z3Pp3%RU}G@QUH(fj$2? z?UIv@8hr2eAFjJNe*FtSjTpQ8`sv|a?QR+V!S{1}oYH2*roSks{P33+z8QBH->sV} zeR9C0P5s7{6>M}ewK-c;&7S@4*G(DO?*XUm_ekEDdQ>pA)#*+>l{cog38tQQx>GOY zjj8Q|sTZA0y_PqoUKdR5a5D8y-k91cn0nXA)Q5Rv>LbC_F3nVtwxrIlFKgeEH>N%l zOnvTjr@qM>Q{M`vzH>6QH(OK9-lF(fH)XUa_GzYsW)faW$dmaFpD^FybDHnS8&i^C zs>sPyt87g*dw;66Zp!FSwQ(}lE?ZO0-k@!-n=%@-9h^*c%GT6^6IOk4daDuLHoe+z z*FbOjq^?uY)rt{wNsp7$=g zIPvWRKi$!N$BUhhIOCGa>&s4fdvN=~KW-5oR&uddpFX*C~qVJR8 zr?^|TrkXwbb=OT9*{_Gwohr%JRI_KlQr(o1{dzl@8jv@p1`4JIIhi^uZ%hplObvB1 zH8O8ZRS2d=Ihh)pH>So3rp9Zg^j5n5Q#>VaOidL`O>??av$8eS?CS(%-ITFTpvKA6 z>}*XndyyW|O&LY{94AwWY)v(L*JGY;%IJC|HB&;@V_~+Yn!QEQsGBlc6pNhh)P+8$ zrB+MzFEOSgFLEMtdA4MlJr6I}O&NK3g%g>Td1GpoU~09KsT=af)Qy6vwNBY@ecqV5 zRWNm%)1BIoH>U0uOl@>Bwb`+>xnKVhqqKRz>2^PoH)I~wO&O)lRwpt~<&CLrf~lvS zOudjdrnU>FUUV|`TDGQ|y&3SjZpvr|>~J#mPPV3+y$0W@n=+oMcb!aq=vdl(q<@J~ z+U#=rl0A7t<}=-tLFRKOQ{QB3s@Z!|-|D7}p44|vruJrQs@e1K&$=n&PVLi737rm1 zyk#}t(d>7sz^~1B7V zri`h94w@<9nd+3Ssb^}hqZK;T$<)YfO*Q+2S)rRU?$jtJQ)BbS)HuP^c&BG- zO5T{7Dwvw)bf;!HmNv5fB}Qpe<3wh5-jIptri?s1$B9fLTT{(m+RW2U8Kq6q$<)GZ zO*MOI)2N#=?$jbDQy1oqsilIci=0edo;RkJ3#L{$nOd1QrdA22Ry&!xA#Y6GD41I7 zWNLlhn7UOkb(@o^4S8egZo$+>CsUiVHT8r1_mj_$9#*lqW@YaOTfO{hw^;T0z7Z$> zbYT6_<->nG<&1Er?r(26{4e8HEuYx?ic#;a@Lqnx*DE)_I^grgo8RvK;&%`A`ODTP zT5K*YxM5q1_G`AS?EYBYxNFj5{WetEpW;WdHP!4xK#%IC zj3J<{PIv05Y)v(L<-1KcWmLXTJDGaHu>rYV{}Q7C`J(nE!sx_nc|+!P-IPIQhZC81 zvNhH04al9kDWd`Tu9K+`vo+Q1dH5sUlyRqaIhop%H>N%lOnvTT>YKbV^{rs)J10|n zvo+Q1&(zPlDdU;i=VXcnvYhW|_GhXfAiUoZaGLMP8&i^Cs>sPyt87g*d-iLsn=-Or z8z)okvNhH0*{{8B$|%x1IGO5{t*K_eQ=N5F#+~ZoWU5=Xrkedub=OT9cdCbzsS+H$ zYxYWAnz; zIKk9-CsR}M#?(~7)HEkkv+~B2ESRcsGBrDIOhp7!bDT^i^2XFW!Bo=8)I!I4p;7-5 zqjFiKeTh)HT$ndxmg=UAdf_4`GMDF#spW#H6;7sB=8dUUf~nO`rf`~lR?Fdfq@$UeGdgU diff --git a/DataClient/obj/Debug/net5.0/DataClient.dll b/DataClient/obj/Debug/net5.0/DataClient.dll index d82d1d2ad1a2f5a4e30376fb2b84ca0010c0d956..2d146cb4a1b75b87d0d608d329fbab2cc9010af8 100644 GIT binary patch delta 9622 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 delta 8836 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 diff --git a/DataClient/obj/Debug/net5.0/DataClient.pdb b/DataClient/obj/Debug/net5.0/DataClient.pdb index c7e8e3d5dda932cac8b4a3bbaf226663401de352..87e5fb8ac550d88ec84d4d93fb2cdfb9ab50bc2d 100644 GIT binary patch delta 4008 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 diff --git a/DataClients/DataClients.csproj b/DataClients/DataClients.csproj index 187f5c3..14d3c4c 100644 --- a/DataClients/DataClients.csproj +++ b/DataClients/DataClients.csproj @@ -7,6 +7,8 @@ 0 + D:\GIT\ASCKU_PC\DataClients\DataClients.xml + TRACE diff --git a/DataClients/obj/Debug/netstandard2.0/DataClients.csproj.CoreCompileInputs.cache b/DataClients/obj/Debug/netstandard2.0/DataClients.csproj.CoreCompileInputs.cache index 2f65ae3..c3bbc9e 100644 --- a/DataClients/obj/Debug/netstandard2.0/DataClients.csproj.CoreCompileInputs.cache +++ b/DataClients/obj/Debug/netstandard2.0/DataClients.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -dcd43f965ba9bd3497fc087ead8b4421f1313830 +871cac96c3ed0d819a49dc12bad5bc0845a6eb38 diff --git a/DataClients/obj/Debug/netstandard2.0/DataClients.csprojAssemblyReference.cache b/DataClients/obj/Debug/netstandard2.0/DataClients.csprojAssemblyReference.cache index da845a50e587025cd2586d3d5ce20a48defc74ff..02d63d690f31d53a495b743abc62b8e01d6b8471 100644 GIT binary patch literal 86061 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 literal 227760 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 - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - $(UserProfile)\.nuget\packages\ - C:\Users\google\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder - PackageReference - 5.9.0 - - - - - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - \ No newline at end of file diff --git a/STPClient/obj/STPClient.csproj.nuget.g.targets b/STPClient/obj/STPClient.csproj.nuget.g.targets deleted file mode 100644 index 53cfaa1..0000000 --- a/STPClient/obj/STPClient.csproj.nuget.g.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - \ No newline at end of file diff --git a/STPClient/obj/project.assets.json b/STPClient/obj/project.assets.json deleted file mode 100644 index 49cb284..0000000 --- a/STPClient/obj/project.assets.json +++ /dev/null @@ -1,444 +0,0 @@ -{ - "version": 3, - "targets": { - "net5.0": { - "Microsoft.Extensions.Configuration.Abstractions/5.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "5.0.0" - }, - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/5.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0" - }, - "compile": { - "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} - }, - "runtime": { - "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { - "type": "package", - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/5.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "5.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", - "Microsoft.Extensions.Logging.Abstractions": "5.0.0", - "Microsoft.Extensions.Options": "5.0.0" - }, - "compile": { - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/5.0.0": { - "type": "package", - "compile": { - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Options/5.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "5.0.0", - "Microsoft.Extensions.Primitives": "5.0.0" - }, - "compile": { - "lib/net5.0/Microsoft.Extensions.Options.dll": {} - }, - "runtime": { - "lib/net5.0/Microsoft.Extensions.Options.dll": {} - } - }, - "Microsoft.Extensions.Primitives/5.0.0": { - "type": "package", - "compile": { - "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} - }, - "runtime": { - "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Newtonsoft.Json/13.0.1": { - "type": "package", - "compile": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/netstandard2.0/Newtonsoft.Json.dll": {} - } - }, - "NLog/4.7.10": { - "type": "package", - "compile": { - "lib/netstandard2.0/NLog.dll": {} - }, - "runtime": { - "lib/netstandard2.0/NLog.dll": {} - } - }, - "NLog.Extensions.Logging/1.7.2": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "5.0.0", - "Microsoft.Extensions.Logging": "5.0.0", - "NLog": "4.7.9" - }, - "compile": { - "lib/net5.0/NLog.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/net5.0/NLog.Extensions.Logging.dll": {} - } - } - } - }, - "libraries": { - "Microsoft.Extensions.Configuration.Abstractions/5.0.0": { - "sha512": "ETjSBHMp3OAZ4HxGQYpwyGsD8Sw5FegQXphi0rpoGMT74S4+I2mm7XJEswwn59XAaKOzC15oDSOWEE8SzDCd6Q==", - "type": "package", - "path": "microsoft.extensions.configuration.abstractions/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net461/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512", - "microsoft.extensions.configuration.abstractions.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection/5.0.0": { - "sha512": "Rc2kb/p3Ze6cP6rhFC3PJRdWGbLvSHZc0ev7YlyeU6FmHciDMLrhoVoTUEzKPhN5ZjFgKF1Cf5fOz8mCMIkvpA==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.DependencyInjection.dll", - "lib/net461/Microsoft.Extensions.DependencyInjection.xml", - "lib/net5.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net5.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/5.0.0": { - "sha512": "ORj7Zh81gC69TyvmcUm9tSzytcy8AVousi+IVRAI8nLieQjOFryRusSFh7+aLk16FN9pQNqJAiMd7BTKINK0kA==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net461/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.abstractions.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.Logging/5.0.0": { - "sha512": "MgOwK6tPzB6YNH21wssJcw/2MKwee8b2gI7SllYfn6rvTpIrVvVS5HAjSU2vqSku1fwqRvWP0MdIi14qjd93Aw==", - "type": "package", - "path": "microsoft.extensions.logging/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.Logging.dll", - "lib/net461/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.5.0.0.nupkg.sha512", - "microsoft.extensions.logging.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.Logging.Abstractions/5.0.0": { - "sha512": "NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==", - "type": "package", - "path": "microsoft.extensions.logging.abstractions/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net461/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512", - "microsoft.extensions.logging.abstractions.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.Options/5.0.0": { - "sha512": "CBvR92TCJ5uBIdd9/HzDSrxYak+0W/3+yxrNg8Qm6Bmrkh5L+nu6m3WeazQehcZ5q1/6dDA7J5YdQjim0165zg==", - "type": "package", - "path": "microsoft.extensions.options/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.Options.dll", - "lib/net461/Microsoft.Extensions.Options.xml", - "lib/net5.0/Microsoft.Extensions.Options.dll", - "lib/net5.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.0/Microsoft.Extensions.Options.dll", - "lib/netstandard2.0/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.5.0.0.nupkg.sha512", - "microsoft.extensions.options.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Microsoft.Extensions.Primitives/5.0.0": { - "sha512": "cI/VWn9G1fghXrNDagX9nYaaB/nokkZn0HYAawGaELQrl8InSezfe9OnfPZLcJq3esXxygh3hkq2c3qoV3SDyQ==", - "type": "package", - "path": "microsoft.extensions.primitives/5.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/net461/Microsoft.Extensions.Primitives.dll", - "lib/net461/Microsoft.Extensions.Primitives.xml", - "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.dll", - "lib/netcoreapp3.0/Microsoft.Extensions.Primitives.xml", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.5.0.0.nupkg.sha512", - "microsoft.extensions.primitives.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "Newtonsoft.Json/13.0.1": { - "sha512": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==", - "type": "package", - "path": "newtonsoft.json/13.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/netstandard1.3/Newtonsoft.Json.dll", - "lib/netstandard1.3/Newtonsoft.Json.xml", - "lib/netstandard2.0/Newtonsoft.Json.dll", - "lib/netstandard2.0/Newtonsoft.Json.xml", - "newtonsoft.json.13.0.1.nupkg.sha512", - "newtonsoft.json.nuspec", - "packageIcon.png" - ] - }, - "NLog/4.7.10": { - "sha512": "rcegW7kYOCjl7wX0SzsqpPBqnJ51JKi1WkYb6QBVX0Wc5IgH19Pv4t/co+T0s06OS0Ne44xgkY/mHg0PdrmJow==", - "type": "package", - "path": "nlog/4.7.10", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/monoandroid44/NLog.dll", - "lib/monoandroid44/NLog.xml", - "lib/net35/NLog.dll", - "lib/net35/NLog.xml", - "lib/net40-client/NLog.dll", - "lib/net40-client/NLog.xml", - "lib/net45/NLog.dll", - "lib/net45/NLog.xml", - "lib/netstandard1.3/NLog.dll", - "lib/netstandard1.3/NLog.xml", - "lib/netstandard1.5/NLog.dll", - "lib/netstandard1.5/NLog.xml", - "lib/netstandard2.0/NLog.dll", - "lib/netstandard2.0/NLog.xml", - "lib/sl4/NLog.dll", - "lib/sl4/NLog.xml", - "lib/sl5/NLog.dll", - "lib/sl5/NLog.xml", - "lib/wp8/NLog.dll", - "lib/wp8/NLog.xml", - "lib/xamarinios10/NLog.dll", - "lib/xamarinios10/NLog.xml", - "nlog.4.7.10.nupkg.sha512", - "nlog.nuspec" - ] - }, - "NLog.Extensions.Logging/1.7.2": { - "sha512": "0y1QziAUCdePQc4itPOQF3xDcs0iE9NHlIK0hE0eA0+Ef6E9dnJDPveNu7w2ckYaDfJIFHpOoLK8sZmNEyiBCw==", - "type": "package", - "path": "nlog.extensions.logging/1.7.2", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "N.png", - "lib/net451/NLog.Extensions.Logging.dll", - "lib/net451/NLog.Extensions.Logging.xml", - "lib/net461/NLog.Extensions.Logging.dll", - "lib/net461/NLog.Extensions.Logging.xml", - "lib/net5.0/NLog.Extensions.Logging.dll", - "lib/net5.0/NLog.Extensions.Logging.xml", - "lib/netcoreapp3.0/NLog.Extensions.Logging.dll", - "lib/netcoreapp3.0/NLog.Extensions.Logging.xml", - "lib/netstandard1.3/NLog.Extensions.Logging.dll", - "lib/netstandard1.3/NLog.Extensions.Logging.xml", - "lib/netstandard1.5/NLog.Extensions.Logging.dll", - "lib/netstandard1.5/NLog.Extensions.Logging.xml", - "lib/netstandard2.0/NLog.Extensions.Logging.dll", - "lib/netstandard2.0/NLog.Extensions.Logging.xml", - "nlog.extensions.logging.1.7.2.nupkg.sha512", - "nlog.extensions.logging.nuspec" - ] - } - }, - "projectFileDependencyGroups": { - "net5.0": [ - "NLog >= 4.7.10", - "NLog.Extensions.Logging >= 1.7.2", - "Newtonsoft.Json >= 13.0.1" - ] - }, - "packageFolders": { - "C:\\Users\\google\\.nuget\\packages\\": {}, - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}, - "C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}, - "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} - }, - "project": { - "version": "0.0.3", - "restore": { - "projectUniqueName": "D:\\GIT\\ASCKU_PC\\STPClient\\STPClient.csproj", - "projectName": "DataClient", - "projectPath": "D:\\GIT\\ASCKU_PC\\STPClient\\STPClient.csproj", - "packagesPath": "C:\\Users\\google\\.nuget\\packages\\", - "outputPath": "D:\\GIT\\ASCKU_PC\\STPClient\\obj\\", - "projectStyle": "PackageReference", - "fallbackFolders": [ - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages", - "C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\", - "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" - ], - "configFilePaths": [ - "C:\\Users\\google\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" - ], - "originalTargetFrameworks": [ - "net5.0" - ], - "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net5.0": { - "targetAlias": "net5.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - } - }, - "frameworks": { - "net5.0": { - "targetAlias": "net5.0", - "dependencies": { - "NLog": { - "target": "Package", - "version": "[4.7.10, )" - }, - "NLog.Extensions.Logging": { - "target": "Package", - "version": "[1.7.2, )" - }, - "Newtonsoft.Json": { - "target": "Package", - "version": "[13.0.1, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48" - ], - "assetTargetFallback": true, - "warn": true, - "frameworkReferences": { - "Microsoft.NETCore.App": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.201\\RuntimeIdentifierGraph.json" - } - } - } -} \ No newline at end of file diff --git a/STPClient/obj/project.nuget.cache b/STPClient/obj/project.nuget.cache deleted file mode 100644 index 6b5a519..0000000 --- a/STPClient/obj/project.nuget.cache +++ /dev/null @@ -1,19 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "EmbwZ7SwMJWgbFue8nyHBdE4ncOyGFZrHWPrhJnnAGQ3ZcXtnfZ3crT7OVc5RbuLASujwv+C2eky/VDZVjvtGg==", - "success": true, - "projectFilePath": "D:\\GIT\\ASCKU_PC\\STPClient\\STPClient.csproj", - "expectedPackageFiles": [ - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.0\\microsoft.extensions.dependencyinjection.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.0\\microsoft.extensions.primitives.5.0.0.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\newtonsoft.json\\13.0.1\\newtonsoft.json.13.0.1.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\nlog\\4.7.10\\nlog.4.7.10.nupkg.sha512", - "C:\\Users\\google\\.nuget\\packages\\nlog.extensions.logging\\1.7.2\\nlog.extensions.logging.1.7.2.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file diff --git a/SupportClasses/obj/Debug/netstandard2.0/SupportClasses.csprojAssemblyReference.cache b/SupportClasses/obj/Debug/netstandard2.0/SupportClasses.csprojAssemblyReference.cache index bfdce2436c6af487196cd63161454acdb5da2665..4d66f8fa0ab543a1732373f4798bf79ce6f80cc6 100644 GIT binary patch literal 81796 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∾Quwnh%H%SEqZ?R#AsH}7~$3h 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 literal 221159 zcmeHQ2bdGp+CE`7Wr7;8cfqdU!cs&)R9Fy^DoasmW|P?^ZZ=saSzs+-#|BugyuiT}lC ztxk-wnPXE4Et|_W=4*zvrP9foN%35BuBI-lsXe<*QMFtun;BBuzoxdPcTMk}-Rj!X z`8G`*l2P08T0Gse+l01;bSg1gZJ(5FRx?8ydiQPY-#DPLwl>+ncf4;rh#%{2{~Pt~ zxxCs^pO5ENpp?c`S}pun)#m)Gn!0Q{ttRrRY$jK;Pdqm}A8$yjD78|>7^_BDB{aks zi;l_0lY7S#`K%T$^65NUZLiC=w8k}6i{QHTsYBH2(Q11xG$o#HQ*(?}v0$)sWW!=P z#%sw`CZ0C_%{Tk)w&#UW#*}Kt*o^_klpqR)pR2}SmH2mH*?Cr~DU;RIx_C}yfj}4h z!;ctap)g}?e%+wy6SQoT7H{dccPg#srYE!cjGCXGOEym**EUkk?;TI48{&!Py|d}0 zs!h+R`CLApNyfEgO*++}#kKb7eQJ8w^qt;-n@PX#Q`398rZ!G5QktkX7NxC8rqiJa zV@#_XG<|YT)pFB^CRo*#vH$VMMvbolo#IbVjpq}yRju&5 z3S%to*zZo7t*P;3D$`Vas=+kM7;AM;=TYMezuK8GHrp|t!{hmQOl7I*BYk(UcU(}giM&#|AG*p|tsTGX0)RZGRwsYBw(!8QBliqBV9#@J!*-rlKd zLwz>Utme7O>oUfU3bbKyR$#~54aUODz}N#podlZjy(*+wfH>bP#Ajy#@LZA>OMRbZ^~qI`BWlTGeOHH)Et+6!(xVWroKW&pUtS5 z{Mc+#P1lT=t7h`U;yE=rG}oR<6olBQm|z0KT}wl15=Wz#&NZ_XH->uw?$lgi8~(B8t))*tn7T{e@~ z;)!Aw-_p_BTga8evx&AAHIpy!+{#g&Mhm3y2em%0=~=UzyX`Ugx$e#wJI2MdjRx5` zH9s$_HIK?PX0;aHfPlreW{e%~-g8d60I8N@b-4{=Y>s_#Zlu66}YD6&?+x5-+?ivI#zGt22aqvz9VC-#j&5#E8}r( zEvkk_5gx3aFpjh4f3hW)$ZF|SL*X}eF51?a2A7dK>$LXPJO)5oXSdf3O*dt=RDN~~ zr`dxsmRa*Oi=z^#E%au!nXP&<#+JC4IQ9E$Ey)Be)so7m=BiwXT^M7HjtOCAOgvjP zj&?0*1E?2ctlcqILX&<{d#hTP&CFG`e6dpK?P%M847Um61+|Q^oMW_CQ4#lHjO88s z;X+$}qT1A!j%y?4>&ciuzkS`U4}@Efr@9|w>>$UuPgQx&>|cDMU8--zQNUdpW5>Ff zyXa_reXE)%j2x-Sg5U!fW6h2UZgYosbM)!94rmY8Qgcg>3cgm*CSM(Vj>&qXmwU{US%I=rqSqxIiwxs zZWC>M!@+8zIIDo4-?w6eVTDy5D8gt*s}cP%US)rFj9XnVA$g5ujGgUb2G_+HmC37G zwzXc>=B5&APXBvxq;wo(>^K*TXPtf#x~b!x9YLeRSrZszS;v}AdLu%37WQ*=D#BWa z!gdoGV@J4nb4QJ@8I{YX<9Rh%pU-OXCO+#_?{Xss?I<#pUzbklb2F3NUH?>A=ryUW zwK)4Wx%kXE-Bq`YsZMdZ%cAEWYce)gbxd`)GBU?})A3Yshsy0vfWI687*otvwRr&X-p<1NYq9UtJ9myS$xYXP1y`!?Ot0Z%#zRhP{q+B8kiFf&}P zPe+ZfnVe~fXW~t2k}n>r&uePDrI7z;GR9JlRdSQGcqSJwuAD`6Gt1H2tS6Rz;+bT+ zI7xAkqZO(=xf$0hROh>*XejZ7F-eOj)G?`CUdO{IUe2&Yx(Au{bh7~k-mzwD_&pAh%dv-myyffpqMSB@b$=VoWO^!92 zhqkt2fhxAM;6a}2^t?*x?!i2_8aZV3lU@Fv@2K8nRSfiQcX^enuu$;8R4ev%6pC_) z%j05tKDE}}5am#po0-KCx_t^YiP`opl;to-M`n$*GC@ma5~|0h zcWZCk2JJ#e_X~QRqb*rsI&rC^4W$xuxu-bV=_`!zw4^Qj=}vXDgS5)3>@;^LD~Gpd;w`C!(N2fO zPIq*uA9@?z-hb(n8!ioJ8IH0x#m{hb(h8|-qB^Hd%@wzYp6Te)GxPBpKUdY#g?;^n z`+AnkVwYHva<-$pdAhV#UwCeD*1)AF9IVfCcSEMNQGf!R@A3?R zu+&rN_g>)gnHr`6`Jarf3>UgAi;?Xt?T5M?pJu(t(RS;qZ^<%8hXKsd9lrkLVs{5V z#QR^c#3k;Z9Av3;E_HPB(w6dN`s40U&!~8ok2qCR{CjcL>E-Sw#X>z~X;fa}@+dGJ zq^Qrw6U~K19fgPSN_Y1eKnr;Q_$o&yZYg^Z*SE1>?e6@kwK;N)%Z~s}gu*=XwJt5P z5jQ4W=jik;n%YxU`$7Ke-F@ik12|l5XyfNh-QaG6wD9-|o!c87tqIKWDzfzSCTBN7 z*dFSJcIeISZl)`AYxiqYwRW86St!9RE)N;mYq59Xq?){1T#tLJ%VTJCao=q&k62P0 z7AnB{!jh80&AHvtVV+g4CHpsHY?fp5{l&vM@2FsPBdk%rvtoTPVG!glN9!M2;fhBE z-0f};Kw2t&kE5&bsn5*n?p~LNob>c3OwruuZo(TizGgzIwYXmVen(ddQrU$@{sVgV z%cYSgVbuva7#UUZgN}|i==a^)%RuV~zx|NQPa!J2aq$)vZJ~6Vadg7N&UASGVLA6B zjxIB?Y4SYkX!{cPRNC6~Sg}>@>_CI{;S$O(`>mc}jGgS_atL9p&+b^+ zCta(2%!3S`DvtO#^HkUmu3AnDf7;R1FXUUg%I_JM7e`oU0O&dR&pJ9`tfzgUx_{2) z=f4Aw!t;&}c#Fp`yx{JhV_|vmi;h=vef>S()EXqXAZU!OTzW7|HV zpS$Z4^I0Ghe_uGdbk}C_Y8Sk#4&GG0MEDBfYlLqQzD4*B;d_K15Pn4XFTzg<%MpG? z_yu7F!mkLwA^eW;2g08SemjUu!6!j=eIA#_9Nj<7YtHVE4y zY=^Kt!VU;KBJ6~)GeQr9o(Q`j)FAXi=#5Z|&6I11rtgkunn zMK}&&5yJ5ZCm@`Na1z4F2#XPxAS^{V1>sbL(-2Na_!q(%2xlUkg>W{)ISA(>oQH5e z!UYHyB3y*94B=vgOAszaxD4TPgewrPM7Rp!YJ_VLu0^;G;d+D{5DG7+ya|808Q~U$ zTM=$UxE3A@!u<#jAUufh5W>R+u1L`HCZz>ms49B((RaNFvh>|4$%O@_6GQg`iIRczsA9@i(q7VfJa`t*aW}9!T%A#s12lI zyvf0DiD1+k68LQnen$kOc9FpEa`1a17_|_<`&@gsS?2dS_yZA)+6v$sI^|68haCKo z2u7_2@MG`oa;ouce9Xb0h+x!yQkg&H;Lk)bYDs_>{L)|+<8u!FLIk5Wm9G3H2Y)4k zQR@OcbrVwNuQ~V|5scay;AJcBHH+~r2Y)AmQHx8(_@0A*5W%SJCGd|N{9h4_Rsq1x zeTW)Aaqw~xjMf9duN_JV{>;I@h+wobq++b#;9o^BS|bwpHxB+?1f$g=f&bv(KSeNF zHvr%K->j+gUmX0m2u3RiV2cOwuI6Yo#5xHX39Ti7KYey*^ASZti$+78L@-)a0MFa! zB(oS*99%7e(fR^-@Ux*EtUIFgE z@P1Q`4LEp15sX%@bmfgWcw-Ta*02QLgo8H~!Duy0;LSLAa}kWzwFKURgSQmHXoXAQ ztvI-w2u5pN0(a-&twk_e^#K38Y?>+EHXOXI2uAB)y7G1$yuAoUF9BdnM%saccND?s zO#nRbjswkN?8L!4i(vFRq+;~o;GQBFy%Pz%3kTPTVDw@na4!z-ErQY80oamcYB{)% z2u806;2rO|&m`EFgZqhK^qv6TU z7`;z`*KSLi1V?c2-Xa*iRO!kiId~rtjNYsS9>u}?ieU75CGcnt9wUO$J1&6VpElcQ zKab_$aUvMKXn-v(^YI)!K?I|>4X~vi+>e7NieU80r83uZ@FWq8-n#^z%)wJcFnaj_ zTbweLgZCG~7!3f}(lS4QgAWwJ7&VZJF^z+#i(rf{NZ=V9JW~W?6hZ>e;^2csFh(l? zwzQw)9NZv+F{%OZsB4#)k7$B}lOh;0 z!5B>e*iyr$IQU=@j8PYW9~$<6S>|RAPK#iS&H!v_i?(nux|Wv42}W@MwzOoj9Na2` zG1?=6=Wwtlf-x#2fpZ+37r_`kDuAg6+c@bMxTqj>;Z^2P}qe4+@(s2{+V#`Z}Ze6k3} z=pewBM|3d2QMFjZ$KBV)wl!H$Z!5D1>*kY?wIruaYj8RFc7^idazeF%bFD399 z9DJq-#waJimTKZG4nA81V>A?CO9gZe2cIi~F={Fm<2(*NUj$=x72t!Xlf-xd2VW?H zF$xRtmV0VuM!JZDmx*AE)&l(EAc8T94X|Yh?nVy2 zNd#lG8(>SFax(|tB7!k04zQ&jyp@A*6Tuigm&$xQ2mf0HW0YM2-@(CmieQY!18nJ} z-^Iaqi(rh}OIN;!gYOl=7~Pk^_i^z3A{es(0Pp(DgXZ)600%!Pf-zelUHKsnepm!! zRsmp(yC31;M@2AZ9{{$rpC9Ak$3-w^DFC*Nsy)HMPl{m7W=Lgzii4jP!I<@sz|U~- zvmzL?BLG`6(sLaAya>iDige`{IQT^ojM)}|ElK7j4t`k#V^&7G@+%ztstCsH4ZxP+ z+1EJubrFnN9)Pb5lV{@%4*rh_#%z#Oj5j&>EfI`aBMJOA2frhNF}oyz-{s)|ZF5sXB=8-@FyY|vtIyPZ1pJzex0!M}@O%vu6$X{!Cf!GDTi%x+5Hzc~1B5sX<-smv=mm{kd#8qAggY#BKT02K{& z62X{Nm5Nct!PO!dv#%03$iX2Ij9FTMEgi8i2S-FOW^)0y4B#jn92LQs^_8yNnS<97 z!I&ME%DgrQuOosniwv-(B@^S|E+QDS%>cJ9KfrwIx^nQkA{evM0KeS)f!RA=kAv42 z!I-_4%De#wZzzH>%MGwax{Ww^V-bwmaDeZBn#|N}!oi!0V9c6J#n_C4Hy6Q}U6;UH zaPXEQ7_;yITP8BL;^1x~7_;>NTiSKqIe2Rkj9GnvE%PbcaPYPw7_N*U-id>E7Qt9`0Pu|MNw>5I2lo`gSe*c{C4KF}!8IZns~DtW z^y1*&A{eV3q$}5Qa32wjRT0va`*LtU5scLn09)oX`*ZNFA{eVI0Je;84B+71L@-uk zNW~b)!GlCFR&4-m>30w2;N3+qR(D8O9>T$Uh+wP&0r->dWR8AM4&F-yW3@=(%CsXk zl!J$fV5};Uic!bG!$mMwpGe>l9K5#(#wryFJd%U=5y4o^0U`w6~S2b0`QSz zXPAj`GzX6n!B`z56=N(1j}yUIMI(X7bMOQajMX+0cs~xFD1xyn2VhHMyPkt5iD0bW zk*++MgQtjKtnvZa(uA1G!TXC~tOk;13aFjluo;KMn1fe6MbIDm(p@{p};8WRq$`Jg0`6)%MnSN(;tw^?5Cv%GG08VHE$ewQZ=D zn60E*TH5kB)+nN>Erl~>Ss;uq31d}Ng%v@pQ=n6)b&5M-iig5SB7sQ%;$PKeGmWXH zHZ5K_5TUqyF{S48Keq3~i`PnVIcl2Kse~A-HHKfw1e0v~JSOggeEv;g#Yw=3v zRzc;IDlBY8IIW6dofQ9nyqu!C<Sa0KqgOJUucxny&%acv{j{NC|&x*?uu-aDI4s#-64 z9$PxqpvATJUVX46v{yr0DxIX?_o?aKOH&(rN%~>uPc(F96=Rd6?|ODC-jE^vYHDlx z)b#Gzt*$MdZ`0Hv8MQ61#nU~zO=xRKrxK&p_DR`hH8Z54ci+bTjRP8MYm@zZ$NS=i zm(jJ(s$y)M@eF7xy>4&(Uk9!`U_iWoqW`Y71N-(r5v5?(JD^uj8}4k7+5Y!vM^G})5M z^s33UHL3Ytt?@*2yh+VbyZw)Lv@J1r=0#PE%~};PQ%S4_FW02XvMR=cSOV^wYG`^5 z)mvUS)x}keZCHHv$f>~bTysvj1WvjX;WEii)2N*eq;|Tpim|-ob`r|UjdWENV+Y!k zv0A9MwnG(?kc_Z5<7y~@oe^mN1wz+A9mBfHwfN8L5U!ULn@APgk1BRk6=U;>VlFih z_^E@@(9KnhjWIY-p;n_o5X6QMKhOAirdWC3QpMQ1#fPl0?Y=JC(vr<6x56y9A>1xG zW?$-DdzYW3qXBFh<1#){#n^hq z-@^F>`o?_aQ3&`L!sC*P1F4F;Q5B!6V(h32s7Q;>MSQx7u_-phtQwZvSd0d-mCjG# zegZEh@Mo$R+se+ff6h=SJ7UtRx#GO`21n;M0pJ^dL7{n$x1s?EA2q7^i~yPDaWmZ z0`f}e?KMB_hhEk@a0qr>`wsCPQgq0>Rg85nIz&Ix(0au0zPW5hc@LI(AK?SZH(OEP zY)O6daTQ|=9rsP?VskfrQpH&EA1MmeP`M)+pF$oSRKVNGpH(roLGicI*qo~BrzI+% zL(MM`zLX^0kV?7%mGqk`#*V2_OW7;$Ty8#*v;$RTJYW1tuV%7S06=V8JfZ|(Vm6b3OtHudw)xw;6;O{@kT-slMkh!$# zYR1weNjWqyr^V+LUl11!1*;j`ub32yUs!$8vB_tfvHlQ<<5(P?eZtj@ZL0rJD&CaI z=JKgTu4aOkO{lq?5`kC>LR3=hXR6q8s@U4qICYUo=2Bj_VZbxcI@OHLC{2@UyE^j& zI6=ryL4FDdiQLg@mFbwyZL^4Yi4XWvktZBQ)?e>;8hbtRFC>+DZGug(~X1<@A$|SS%a>^zUbW?=QBvn75s(wsW-Ll#`bmvm? zDi)f{xfQ7ZieFfDE4KoO25=Y|m#iC+tk{iHxPF}~6Y<^z%^LjC_?^s=G7IP;UXJ>>Sl6zjI?s2@QjkK1W$>P?z zf`VmwRXaOpsr0U9EQm7-efRk8DY~bYxX1DaF{KZT(-)ziL+8tqtB-z7MvWKW-dsU{oE*6@r zHSpJ63yrsmFaX`r7oMvYw<)rr;LV$ z#vqK9d~^%-(aqFH6RO= zdy4LvPO2n*$t(YZTA$ZanI>fh3^WsAmgJ&k)I}Fj7d5z2CE1pkyD34cBwLu(Rpqvf zl_W&LA^E&@tdeYG>A)zBkgy41wxr`(RL3)^j?Ln5v`cMdOWC=iX_B8TUt5(dJ3mDO z*k{LOY^i2!i(;c33o*v2`FUBbc~qt`tF;t%8Y>w{nMG)o^ju2yTtfBCRpTAn?)N$D zNpNBF)r=jqO0rbp)fjXwY@g-=w^iHj=SsDxnlcxn&O?|lDZ7X&dmL5v&}znxt$?y* zhZjoEB|WT~u>*>d3IM8Q@3Nbs(E#2^!L>ZRnz5*P|C9xgZXv=El70)Reha96M^`h} zUYQ58FmQQHHDhB<7FL-$)&-X5#-jnei-XH_EJ=+RG^m*n*W&54npTd3R*Mjhmjs(f z1)EC+JE=mc(NcD<-O1IAO)Y9?`P!;txh=P7052)wDlV=z7XTNAUY0<&r3j};;$^9L z87kiCLjCMgwNenL@VNb}+B^sVe@m5GofL;Rv~Z=)s5VzBTHoTRoC&$kLO5H}tchyY zNHsgJx-u&jt%c|Eolh!b>-Sb6`*vvAr`^~U-d^K(6#R}tv7>MS8TLhEW&-*K7s5gp zAuN-8G>iIZCiT&!)r_@}n$DTIIlYkFFPD)~Ui};Dl+`#c;c|4V@%kp;ExucdZn>hG zv5kri0)0irxV9EmOC@s3l`zaz2vYR1|eca2zB?w;$b%>xregw;jm zHgS|2;3B-&%y*IRqN0m#tY$3Il1pT@bgDtQ368lL;TFj@W2tS%P}|&I%~+#zw$V$+ zee&;W#zyOZWi>{}dQfshOt}Nbz&reWWBA4>8spAt#&#%HFUH_zoz~u(&o*iC*4gbf zhEzG_E?DMngnK0445z-SqrSOc9L{m3mG)1i=e~NNnz4gB$d}r#Px<4z55jhM8>VkN z<5^n0BM$?fKLqQcYU{o-eN!19kbW2zdj#Q8$!CM9&jwMSJyFfrT<7YiqG>RnXellC z)sxkXO)CYVMk@1YM(ojk3S!_*v3ykKX_C71rlhrG6SP!IDxaFG=9Fik=CcUTNs{)V zlGaj5U#w>A%nFP|{}Uaq`Aa01{nNjox1hFzV>vd1utB_g*Uw{q9xFBX#2)+4*W&7W|P@%Yv1UVHLc7-M5Nwm7-NXsb*}O zV&x+2a-7uOs@7#Qb5$*`YRadu&SwapOa9rI`e!5RpRcMJJCZi;oavXYs^q*5`WgdE z9pFi;rSc~>m2Y6REqtr3$(IRu{ZQs_$>KfpH3;O)I^{dq>wAPBB#*_Y$JU`9`$(9Zq~wcRbxSOFTM49DrWihe>AwApQHR7 zW#*_ZL31VdRJB3r3iqswu%2Y0Z>WX7rWV>T$k=Sh^U+kbxaeS`pt*2+s#?~v19{Fs z*%*X(F!IbMLHqYIYzlEUL)ctW=wqtTM^vG$fTSLZe5Vn=He4A?d7S(cxAY+T^fQU<4mSDj%_l~4KECIBp z@Q$rhmY>sTu!o<*{S$?btYpJ;^c3>)f;h}yA{UswkO^x&vHPUXbbkj>>H;A?m9Ksjr3x zts6(38LhV~FgMk(pn3R<9m?vc+OjQG2Tf{?7WMF;c@CAnqemG5@%Ba-DJgg-Rqzg~ z;J(3%oI|CTn#(vkXr4o*e`A%dT;-yHzJ_XJf~(k=G8V#(Ll`fqcN10bMylS#AY;c> zpaY^Wp40c$a2e}^PH$C-2KpOvP70bY8xfjth5yW@@K$tXGBllnFjW%vDk|)iRM-Q9 zjGa;eVM`O?5>E@7uOBImwLZJ$Zhwdd2l$n!Ux}KP==30CAwJTs%z&e2BFvI(wT#;8 zB5JD!Jid;1=n9+M6G6sC@xrbdJ19xCD+l_P@GW6lLJj`YZXmLxz7ck5LYOUi<}B)& zGpT2qgTmo1&NMRZcLSNF=dMZz|7kan`7f-tE4Kxuv_PxDMzx;_ng`?SFG9&e(^iBz zlCVptu#2g%`Cvs3#<#o~r7h^tn^B^HA%WrmMV8x zg(fPkh38M?;X(7bA?x?n=WjL6#@f?RazXH)P7z%QEssDrQWA6l74&c_=rKXYPO3n2 z)AqnnuIsU+YiSD;gK<5oBz>aRL2X0m3h&nRDQ1OML~0mvIMavsq(A;k$!^m6O@^tmXYpVagZxz!jS9fdz~ zT7>H)_taDOOr-9)G3dtI)=N)ea6{eX;&g{{Gdwoh_n7Z7(_^=gbpy6_)19k=GzPc;u#(UwFyWyy@zN36cnU1m2!J&uX0YDR*M7b>^YyD_hFkCKmOM1>HMr|_gf}FM?MN-Q1GU&& zqQ#sUnE$8JbBn!AX1M?9Ur^7Le@2}04w^}mecSoAGi~=SnQ11+aF98$_h7U45k8Q- zwiWf-megw>2irt7!s%2a2 zRc&r6q2~0zr*FFY9QuBN@TDa3hE(JYsL0<08CzC?>HLlpUzSj4;kC>lVGyH&p?{OD?K=@I*7397z=;jUmy%;Ott6vd*lgt&O<_c1C{TX!SZ8F6|a_js> z_i7Zsv0A0v_3p~wXot=4-Qv5&bj!*hW1AE+wZ3wbG{RU2r{*AZ3Q4Et{63CjE z*5|WYyh&Bog>LI1tS^c8H5KnGD&9sR#*VK*!&oN3HQktGB^hHCw%n`~4I~UvHwl?b zxv_41s@hPWO*E_dTuog%g?HF*3Q0FZ*j&=}W2);%RM)LSm08Md%YjSVEoANzwuP-J zbyY*%?jgpy7Og%do^DeowY8>IWoxLp4Z^mPq;FG6-=dQ45Mu0z3OuT2!MTn*hRmby z&F{((&t@hl8fY@a+bKlfy|pvs>VeQx((Dzg*~?V3UP2SY=~)Z?&0Acl-k~-AGOlPK zWe8LoGPnNfV;3wtAjM4|9^+o6>DfbLj?rEyrfKX+&{+1@fHQg;_Zv8EdwLXny zFUt%x8)6R(nNw=!Cb4up)sj;NLEOOzyGsf`LKS|PD!gY%*wNx|*75|BzcR-LsUI+vxz($&?6Lja2r8i*g{Gl=GeB zJIQp?G}4GB3%61&s-{ebg=QeklzenC_0clwqj-q1yyJskLRq1y-z%oOshF%A$)TL!jY1B7EtpXPR(I{r9V=y2ac zzJ*K+Eh0-V#-uWHY9_?Bcsi}7mE+-^6A(_64Ae#ql&1z-?8?#$OG&wXmXM_vmao^4 zd6vRF3w`tW<}uB4N{F$Yi!C?HIXLS4JfFLpq{S2Jm{cyWW>if%6>d5W;dIGTX=_g6aSP?zFQ)jJ0%}wbg&+uFz4=hX0QA{pb77^xrul>+1&g$>&>@bK$S^ z5YCrOmY^nUpeDNr54GdHCM>c-A-R#3g{*HEz&F$_t8pyQ#h`w)F`RQrh_TMb5SgYb zmqMS*5H6QQI*^KV02S$~kadrkOUpCrvRZMW)zu-!#t|M=t=?t#Eu(>B4W+ILneWsi zBW}vI(CRvb>m|V^Qo;74g54CV%scf+$@!ypGwGa@FRl8OJ$e`oEHVVVCB)dKV^aw& zo69!lYo?|$ef!Xb@wY<5+YoM-gxr@3If@E-XNa*A++68bngJK|t`K80N`tJzmOWG$ zIKj~MZnB!8urti&RlWB>)_W1|le8U1wH->eeK1s+mlc*^!S#KJjC_{>QjJ$**-+pl zL*s|ZsJC@d1=()+2=sjv;W0_%K~&^{ROBZsH0oW723PqhGU{ClNo6j78A&v_*l)Y} zZ8x*+_B2`XSm>|QcaA>;dp(QroaC`S)MK^OV=smnYjeB}Cl;1F=_RthQAAJ&twx*f zWk|8qNLH_e%r{KvoNCDbc8IZVLV5KyP<)l){w-ZcH62Ng|4 zhB^pt4f$$0WI4-d5d0istV{8Cjm3}3FA#7A!mpBwVX9(?s`y99ddRX%18qjJxsrd9 zZH>lPR`FJ2$mkqHxxYwPV4|AKwrPb!mkL{;l)s_fN(2@b4^mk9D>+Ev?_bG53RU6C zY$yRgvB|}%i+s6eG>ir=GW6RpY*|*kcPgzGf0i7bvk`RM7-17h z%+IKppHeY54_9niu`La*>=t3mvSM2#mAU+8el&2gA@i1D#-c@Gr>YIgRuHorLU&2g z_o$-pQbo57Ti;>tQX^!lT0ARYyD(#8O%_&}I<}6~?zMuK`W2;LQJNLy_Tkc}80-Mc z?1-?FJrR-D7|5s zT7*85Z=R#Rd6xR7f7sDCHxz49CD@a5Z@uDLv{2J_S*43`{q4|UMp)IlS|j2-T{gI2xabRTQa(3T!`SNT0d zWfY{j*61DX8(#HP+Gxl*24SqE=`B>#o2jM~!Y;4SE7s>FC)f51yD+&H4PNhOEkA3S zS!*Jx>CLxTDD|+@B!tP5r>>!%x|(`we^+XHvzWZ5KY-Nq=65s~tw!tkK+wO@$VJn_ z=GhIS#uwHvX=)Ddb*MQo)r#RVWja)wfiP2&?qVw4GAdm>%-G2lSVCh@f(zRaHfJX7 zaa81vCj0>d;{6l-cdZ@Rx1ZX3w}FhYXy9f;;6&Iw%~l^Ox2)Mwl8{zKXq5Clhw6Ja z)i)Kc%xSi^9Jss(ht1P$ZDCe*J2rx7r|zwWy3J&k1q0_()rNfv)0XDMvyz6iEeIJ& z-&3i+r%-+8ge$Wsy95iautw%xN&u}Im%CLt8ob@FR{d(#tX6Yj^Q3cQ) z@wAeMz1k4wN*+6bdhB@WvG%YVZ(ERy%guC1*nHc9j9D{2QVvDO`VQYqzL!id9TsM6 zgJSOqS)5G09u5mFKv*dG=m_egh15q!g&E5^-kr7Pj-w-wINgO!}9TOK6lcP>tW`+s3zzX`3_2 ztn2W2KCYYvtDKE+j^vj{>KB#z<$PCWT~R=8lncnLEB=;ND&=qCS1ttQ2aJ09A~Nh@ zG_DJOQ0wzrD$}GagHRVETq3D8gQ_*1s&#pVhCOUKa6zvi!ydLUtHR~4Fn-9-KYso( z^UsxG#@5l7=cO{q?7WeCdG5jIrFHso1xe(2)9bIjiIuQrn3FJLMvWN(csG7 zLFP3}A+1uE+c%2_9y4UVGyK1u#B~?Mz8m2lN%7%S@j9yb{b9z=slcQ{hmYoZAY6f? zxuSt5jQj8)S$T~8&ksT3hY=o;bl#onJecbIcx6@|V=B4On16z-Jl?-Wcw9S{8Eoba zf=~Gss9%Aa73h;;#Y?Yu!n+Zj zKQ&M&IQP;EVaD`L9;;w!trE&@q$)3>qx_8TGv8;X&t4Mhq?ci(R}fy6{M3W`X=m!E zH^Pj~cD#{lR6+l7q6$*p1mWk5+WIZhOEy<}(8I3YhD`4uyenz7HPxy+)#`%^^^$El z@HF%x=_T93tO=;>Hfit$Kl%8{$4ovSg~>5NWN$m)wxXiJSNtUACowaL{X|+&2LZu-OuS}PG2ixZb_UHPq(R)+FH}9vNnvi4njX!~4^_fTvXsGSm*qBK6NhXv1YZ+t8`Vq#0Z~LC{J!5)i zgNV5bdDQrtQMqh7o>!Cg`K%UiQk4y1n~e}Qmb~*h_0DJ1JDWw^ScNPXmwRaQh`9<` z#+2bDyGGL%@Y1`!mwYdoUfMEZp1V@m!`YHH4s+cK9_ohBT{6;p)JX4ABW)XT`6AJbt7_?ZYpa@6>fxSA2$LlXT|+H&HMP+G5$gfN&a6IN8#VkiQo|3|;`36OCb|WCI#is2FjJE9Vk+e_DrLMvHM~rK zOWQzdco}0Aw)|xZ-}-6FPg7=^N<_>zuoOn&@Qx@Y2`{M#jgq0xp@uq}8Y&fGEaQ0f zZj_R{=HLip^~Ho_d}TFD*;%L=6PrKV6zT^n)Z+$vH|ZldcVj7=#v(8-t7HoeP#%cpWZ6j*6A0d9zx z$LEQy4&_Ejb`!$Ql5XRuZeyu#w?!)Rrcbf>T+Z9c)VheUYFc(Z9|%-2_Dq1WKP1Q^HK+fv-B0BtmEXUryz~Hk^dQ1Rl9~3PW*S1x z^r$eT<4hAt%rQI*J?3~8QXWTxDCoP$ZxERcq9-DZ)fV%QKIkgEb6Ed-?9J6$3du=% z64rVO;c3ZV{i(nDQGY!r_V}GKSjTyA>phP}$p5nj)_Senrh)PT^g}hln+GqF!Pmlc zg0aB*C8+%}!Yh*GJ*nh9sN}C#XzQE|<{c&WB)G8eN6dGW*yF4U_p9mMvs+zT zI^U+LLo#YxUW=!DcAL=FkWM8=tL>Ar&1%MOPe?S-*%0`H2xA+Qn`wPN$%l~jBZQA7 zZ8xXdZbr5JEW+5L3bbYMFj~sbW&J$D*tAj^`w3yWq+e&MUzF;%BEr~0qMu7sy@g5=>mj&|zdEeDzazG?NkB?h2(yuqgw|Ee_B*YUhpP>3 zP0D(Za(#piBt5^PdVWdu+*qkh`&}wO*LD-d+$JwU1XatGH5%B&kaSa}^zP`*pylQW zTS$U_Ln8VLQoDZ&63RNgcJLVqLW9Ov)Dv%MG-XVs7CT5!Q56_F&@93S+@7d>8pHGF{X| z`KPxD_k@dfL8y_e^b)nwi_}WBLjS`dE45|vsTS34e6EjTE{C**SxwcU4vEb>0F=HE zWh6I94S3S-AqVA#`Ic%GvME9Mxz z^?R$B<+qo*8$#}`m?sL_-oKi?3-e8RRm&+upz0n7drHziNTq#%N;^!c%!z{kM2CxA zrOfayKO@)6pr|$#<9UF4J8z;F;pM zT||9!A@xy0VXVpV@zYV`xnq(FV`GdWQ*V@Cvnwj-_AqMqM#Wq< zLZ^f3vYAAirm2~{(gc-eBcvp$&ZJVEL8VG7m031oPl5~DLh5#V92I#rR+L8ryBG>* zlz%vuA`59-5#~txE}{A^ruycUN^jOPPuAe-wkd8LR1ppK@)NtC*v-T~m-J7lsq0(S zL<(&vHL1*lyXGUbOBOqhTI^VAvBO-MEh|xG?y18|WGq6?nzG7nGcABHwMN!jsF>$a zP153-Ts(m_`Z?tYsCXp8QIeF0Qz;LlQXZ>RX43{OI#={K#oS6nzqQI(?$B8@*w@ca zes(gm)1p<*Iv)=ooq%wnWTrN1raU#%Vui7}j<-VT;74JOocm{q3v2rx`BRD_mjGr)R&P? zGfk6Zuf@gi&?N|$N=BMajWmrK=?aChLtV}6W|6szt|ZGt?WtKkRqoCT6C_OupW*vv;klxra9wFuWqs@79gCsI{!R4Q|LP)QzK>YEhv@Su`V ztJ>u^ONaOw%+FwE2D_QqO>b;iHw5k9l2&ek({4q$O|si)YPWr<-R=-t18y#pz&gId zd2x3VbCo1W%~e}|*ZD4pv!{{D?k25OOv_^1JXSxY+t7nn?tz~7BHSm5I*f`sl#2Rb zg<7jJ0j}>uq_rwzsIaTk?i%W6EkA3SS?ghiu}#hMFs7z5ef!X}1s{Q{9z}ReveqDK zt%1~9Pb!Y?6)Rm{?xd#_#%7cTS*=v|@ZQsy60P&?AFI_ND|R_lv}nzgQ4C> z_&{>iR@7BnQdfN}?kaP$OKL9Z<~IAp^)=ASr_gGY(Lw!;%$QqO;?>2|Dt2h+l+U5@ z7YJWULT^Zg-hc}IO@&tUmSDjJ|CY?5mjKfAwmMthM;jV{r!cl%aqX6H?CXfRY9>D{ zo>P-UbM2Xg@;y}k0pUkU>UF5pYg4J0D~$cC0(&S{O@=G}v%*-aL*%W(m%k}BIM%OJ z{7S{FRDLNj?LH}+P3M#qFx#&Pze$b@QO5Y#6zZ+mgCXr3zq$U<+ObH-#it zqQGNOgwB%DmQ$nsM2)si)Qz?YX|o2r}o}$ zAY)AF0$J*fws_a5xgXr}4y2l?@qA*oswwM2%=Hk~mlXY)D*6>wbfYL^Csm*cZp(p7 zym8drA#Mw^DqL>niUue9StpJ#kEp-4iZV9O@#zG8 zb%42`lv}A=)I3Z{#!w%XzaCTR4mqY8nQH5(Icl)#7KpM9)Z7+fJ4w>FsHAUFNq3A^ zX4GKSWVqlvx!nAU1`qI)n4iSVB(`(Zd{xf)hJ)1ve|w?Q11{@{u#051m#NiWqE_o2 zb>mezq@3JEwNZ0_3;B}ftJT=psPusX(~N}GH_BMoVwY)XYinILlUL{Gm3|PbKf?)!MTKkqKr+FNKpmL&-l^c3_t1kNykh&gQMocXZuJrH&`MpdcuLK%sJYC!BtdGf@)ry$br?{YH&Bz+N8MOl zXe}yt)TF3+M4Yt8oAg~#)oD3NfMx%O4)I9%N_q_0iDrG9<+aKWoNy96shL=+f zr$;Mu;#vt7T;3T`^F;6xK&#GWk6H#)L*tobOn9Q&m{tqN8_>n%vmow42ysc_3#q~v zP=%8f8WXnV!1Yzhn6NF3s$2ef>(OA7Ujz6xfLQ}Hk{SS8gr=$u_1Q$Tn$Iasu+?mY zl;o{5skhFc-b%Yt16Yg7E!0A40PFWw@06RFlnh!>Dc?W7e@y>mqvmn7`hf;YD@-#7 zL6e-bm^$ZV>YTPHV=a!)r09j@o|zjpPp8$tSwn7_2e&l)Zt>k>x@CUU?$rr=ONP=8 z!yJNesN|YssB4aY(xKE!hfpgmidtXY=F9+@ZHc*`jwhWUTi6;h)d>(KYjiVDj54;3 z{Yv;r?X7BEHZxb%@N$=vpynTyjPOHF-nXn1KLWS#nYLv0Y4iKlZ zugQE@Qb62 zolt?4XW4YY-%ZTrz9j0xyMCjAHbd7-|MzG6GN^nx!WEL#2T-Z^r&3=XW$gS4Nd3P& z?AKK2VUGsp88_tGC}W+Ah8rHw$Cc}#^z{fgNOJE-<(@$0zFBA^x%AFul$bxsw?r8m zM|jY*(81T++RSc5gYACZ?AOg^-Fz#V-V(E_{z9SKV4m9%{w+CZ6m`%()IoPe-FUri zi86B!-AyL5N&v04DtpNI9(3Oi^{wSw%e2I$xnMxKkZ5V z^l+51IgSq-(}HpnJwn#7(r?$0a~_3r4)>koJI8d+V`Kvh9y#IA#>ZiuClH>L{4;?1 zXIJWh8Q`n`zok|bgc z6>%3T;;T`{j;ly7q_8&7C_WeUH8L(Q60}O%p|g7X);2Wu-L3zw@nqj!`>B2VGsdEU zBMmuUCuXXojg4pGO{%8656M43_)yY)ORD=8RQFG!l{u7J zFMZDVQ;`Q3{8O@8yCl@Abh+nEL<7efN`Dq*Y-_#inTj`MvblUJkt>}2Jw?@U4)~}{ zV^;YbGJk>arKI(SRO=0>*55=KJGBBSWED)f+TTVQE1qq>DzH`WvY+hWBEQY!w|UGq z&vzufS=Y7FGxxuT+kQa!QL@}R)N*T6%Pn_h>q*H{b9?b7fKbDj8hC-by)15FIQ@r?G(r{LFDMdOnwxQnCZqLM9QVD(Ag`&VsQH0KtrIu4m{X{LbPG`pQjt>(GW##^f5&sAP zt9{BoT2krKnX%X@Rg5iTjCEq$GFE*AWB+1|g*q{Y|DISsw3byP1qE36rQfGMdc&JP zTv~I?HL)B1TKmf{{yO-ZrHlTknwvg)%sHoRdCTC>&wcZ?cOH88+?RJ;N{KF}6hTR0jVutSyyJDzhf4b5rPUF~(RV5{UqcbKJlc zpV&E`k>XrYiokhQj6n{N!bc|+Tvo-{ZGoal^o^_|)r_j85;aI6^=kg0+G*3wcQq6w ztErzI*VJUq&|FS!X-KzY}R&ehaqHS&Pg_D3hWoMRhj;4}diF5cD% z)@8*tRg2WcTjPmTzMWOGNDr|HHU-xIAq0saSKy;`?acoWyTmj1{8H(jUnbo1A}1EO z8l)tu*LsHPbrRL<2~~?{Z}kkR+ayxAmmn3m+xGt5>lv!|NmTDARPoUt)!3t+A@!I< z>T!XTo^xZ*dWO_<5~=3}Qu>_=ykh%MzE;Ip7gFCC6;SMT{nB?FGJVP>{XRG$@P=?{ z{S$b{_R{ZpM#cAas(Q;L@PR-TISZe_r?yl-_YBo9B&uHuR1Ft=?-^1*NThx&MQVj- zNc}32`b{9ETRXPWGo+ASEPa4LpxWB-)jxqywOu0!t$uHGcNB?glu)%ag1UHyR9A`A zx`Y%y`a>Dm$oBqi;u)%&N>n!!sOq0sch8X8S|YU#A!T_eck&FWoh4E|2r0`$+1vJ^ z?Bf}#eI=^>N>LqXOLeeksO~ON9U@RQS}Jwbr5drr^@|vd*b%}-^iOQGXOtPElQNpC zV+B%1b9JKaLomrRR3}SRrwCMy`evFf)ft|lI#Z%LOQ5Ph?}4N()ke=yZIY`kXkB{I)#w3cQ#x~iR$NsDy=&M-`G<9&NEcMm#F?gsN!SP z5I@^eUEvw3ze-epBUCMS^>16MEa;UERUjzN6?6)ka|NJk+|@8hNlhHZGgPAz)y{+} zeSl+KJws|;iPU-mDg6`J*!KQy>KUq=NmMr{RH-XtTYHAoHWI0A2`PMxw$9F;A=N`7 z)l(p4B$Zm*hqA9{sP>bn_7|ucZJj~3RCo6b)gcnqJp`(26?09X&X(#3&rsc4qB>Hb zs^8VvSkI6eCy^R2kkVZln;a}P*E2=Gh|vw5DqKYW#AcMd$V}-Xvr1efkhFc08a*R= zlTOv>%gz?4>Q7Rj#g=N;GgMn8s&fRY`X@HeGo6Ig_tCZOJt| zef?M07w)-!@RjTQedT?ZZk;}O@qp-UoLO3#CZC z<{472OQhZ)q>#mo3iln`hw?qoP<>yb`T?Pek6sG}KDDL#xo4<;AyNHOpsJ^w*!P|x z^@Bv}M}d@)R92L%T7T6qVpOfa2^Y~nfxm4Z0v7VjtUySb6$qKL0{G|;K_CoLQd?T_ z4ArPawX;Cg$YNb=sjll8s_RKq*B7YjcQv-DXGm=(k=nczsjWLos^aavZFEvbdvDuP zq;?LK8mjA|U&P2)J%x+tpID!cDpT?1VPBn;(LC%YkkV`7*dWi48Z438T_C0Bpx7|a zkgAhN4JV{WE!|kzqFACE+?0!pV+mY(d#;$lwtVm1yXul5WCeg zq;8W)-7b(avi?1uA$6}r>OMjWPqv<#V~==-)T0uq#|SBWj63y=XGlFOk$R4hvgDwb zK}zZ%yy_XMuSry2Csgs#({1b>&yadoBK002h5Khbl%IHp)Ta`u&j=~%w7}Q459PO> zq57Rf_4`s(m)lbP#WPe_NK}6ns2bJx-<~10QX<8|_A?K$P}nQeDdDg)!~FHO*Mg0wp2%Z zhUyrJ>ev!gWA&aPHAx~hnUJ!$@<7}BH$7ZxK6i$GX=4m(Cb=|yG-An;7g42)Gzu5d zKe4oDL~qea83S1vffR(tCzkgNsWyq!+!CY$huS_#hkJ(V0*UHEfvVn<2^?cf^*GN^ zT_jOGo=~OvA-2Rbq?SsgPANeuaE9&uJF8^AI$OWAk@U_Xm!_Y=J>hF`jmnXGmQwk-A18rGEl9+TOpLJwx>tiR!HaRihTV%QK|zmPp+rkTM?1hf13G zVf`Y8i60RzqJLsfc}AJ1by9|1pAksu$^>4teX?IJsn;v|r47Aa6)vrR0&m)0`fbms z_>NB1Q1M-Xs$rUsJwxgfiPWbhNCm#Ky?@_$hU&Kx)$atVx(i~z6jHy|TomW5I}5#Qcs*?q(Mix8Jmg;oRP@N%BoheY&tKnGE zGo)0BRHH!3xPQ&I_pik>R5KFQtU%RBHEktR^IZKRMrxiXTtxrG4)=^Q3v^OO5?&~f z(jS7@v7RAyoJ497A%$CQ*mbdING*{_EhVJz(NDgMo#7c$XG)~b5=a?$>H^P@x=L-k6D>Q#g)K1OrrdRwYDdWPyv64jdps>Y*whi6FLDUrHM zAf?~G*aMy+^`J!RA%T>Brvi`LK9o;-hU!xi)u&5QeZiLMOP-Z?jc{rG6XHeNkaaWzHVeJ6|Ro&XLA)X<%heT>m zft3De#720A)ZP-Qk%Sa&?!?A=hSWHT)ObP)ALC9<_6(^h5~-;IDLvf=rh}AJUC#6j z)makNg9ugnPzF?6s!g7uI$NTeB2@7)S_WCqkZP4k%@IiHk7{h5XGqPLNVS(B6V zP##gTWpJc^X`^LulyGVN6Fc5BdYzz?GTHzq3Z(QWJFwJNuTwok^)!j<>4YlHSFv+E zL+V_K)OmyyK1L;av1dqKB9XdOAZ7GDud;n8uPJHbYxPSTCcaL%wEl_R;u*be)kzs9 zzKxK=ldWg+z+JX_-QyXm_exanBUCNV`y-wq^{7PZF@cnE|DLwJf6sb`>T?p+=LM>G zT=5CKVoUWk&rp3`qWT7*3YrGhcWkM?=NYQ+OH@A~RPoVkp}?oMR6q9&)h{HfUkX%p zug1Rj45=R^Qa=i$^j2VOg=a|pDv|n4AZ7UPZ`+5GMLRh2Q1Lv~4T^>nI6GirT-s-DGSn|g-SW)i8* z2`M;0Cl%;!d;hla4ApHVs@oB&)CI8~o*~s!BDIS^N>9y!KDPI-pJ%A{m#FSasM1F@ zw!3FY4UtIgK}gYuGEirG|3-L*>fRF7k)^1Pv86h$WGysazqC;cO(2)XqhZuSlWi|O z)iWyYuTwQ@p#ub}dcuy)@(ihiBvNrg3Lm{K7Hjehso4^#lt4As@ zos`iC`nN#Js9Nu_eX{TK4AuK3st=T+`lv0{$2~*!35n{HrKmngO|$&Ytz;ijfmOJ!^XMqm3^b@!s<0oqMc1^7=>A9zQ=43C_4W_M%R;_JQ4|T)*qM z{(+YSs`@APMn_3ie3RdKuirc*WS`g0#f3m8tmGcu^wYn2`!t;Hs))FwWZR@n)=ysO-ZE1~bs)n4faUz?^rIM;PQO(D-CN&>#NUM9N<4r68cLh5CA2~JFcmMzZ diff --git a/Test2/Program.cs b/Test2/Program.cs index dafaa7f..c58b2ec 100644 --- a/Test2/Program.cs +++ b/Test2/Program.cs @@ -14,11 +14,15 @@ namespace Test2 { class Program { + static bool cycle = true; static void Main(string[] args) { LogConf(); - T3(); - Console.WriteLine("Hello World!"); + var t = new Task(() => T1()); + t.Start(); + Console.ReadKey(); + cycle = false; + //Console.WriteLine("Hello World!"); } static void LogConf() { @@ -52,6 +56,28 @@ namespace Test2 } static void T1() + { + var t = new NETClient("10.10.45.151", 1070); + while (cycle) + { + var arr = t.Full_Server_Time(); + Console.WriteLine(arr.ToString("yyyy.MM.dd HH.mm.ss")); + Task.Delay(1000).Wait(); + } + } + + static void OLD4() + { + var t = new NETClient("10.10.45.151", 1070); + var task1 = new Task(() => t.Full_Download(new DateTime(2021, 06, 04), 33, 1)); + var task2 = new Task(() => t.Full_Download(new DateTime(2021, 06, 04), 34, 1)); + task1.Start(); + task1.GetAwaiter().GetResult(); + task2.Start(); + task2.GetAwaiter().GetResult(); + } + + static void OLD1() { var t = new NETClient("10.10.45.151", 1070); var task = new Task(() => t.Full_Download_NH(new DateTime(2021, 06, 02), 12, 1)); @@ -69,7 +95,7 @@ namespace Test2 file.Write(res, 0, res.Length); } } - static void T3() + static void OLD2() { string[] tes = { "version", @@ -166,6 +192,26 @@ namespace Test2 } } } + static void OLD3() + { + var rnd = new Random(); + var t = new NETClient("10.10.45.151", 1070); + string[] a = null; + int c = 0; + for (var i = 0; i < 8; i++) + { + if (a == null || a.Length == 0) + a = t.Full_Dir_Browse(); + else + a = t.Full_Dir_Browse(a[c]); + Console.WriteLine((i + 1).ToString() + " test:"); + if (a != null) + foreach (var e in a) Console.WriteLine(e); + else + Console.WriteLine("NULL"); + c = (a == null) ? 0 : rnd.Next(0, a.Length); + } + } } } diff --git a/Test2/bin/Debug/net5.0/DataClient.dll b/Test2/bin/Debug/net5.0/DataClient.dll index d82d1d2ad1a2f5a4e30376fb2b84ca0010c0d956..2d146cb4a1b75b87d0d608d329fbab2cc9010af8 100644 GIT binary patch delta 9622 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 delta 8836 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 diff --git a/Test2/bin/Debug/net5.0/DataClient.pdb b/Test2/bin/Debug/net5.0/DataClient.pdb index c7e8e3d5dda932cac8b4a3bbaf226663401de352..87e5fb8ac550d88ec84d4d93fb2cdfb9ab50bc2d 100644 GIT binary patch delta 4008 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 + + + DataClient + + + + + Статус процесса выполнения запроса. + Предполагается использовать только на больших + загрузках и в ассинхронных задачах + + + + Коды для работы с СТП. + + + IP адрес СТП. + + + Порт СТП. + + + Количество попыток переподключения. + + + Время в секундах между попытками переподключения. + + + Основной конструктор класса NetClient. Ip-адрес - 127.0.0.1; Порт - 1070; + + + Конструктор класса NetClient с параметрами.Ip-адрес сервера.Порт сервера. + + + Получение неопределенного количество байт с сервера. Количество ограничено максимальным значением типа UInt.Открытый сетевой поток.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. + Соединение с сервером закрыто. + + Стрим недоступен для Чтения. + + Сервер сбросил соединение. + + + + Получение определенного количество байт с сервера.Открытый сетевой поток.Кол-во получаемых байт.Время ожидания между проверками буфера.Количество проверок буфера.Массив байт. Может быть меньше заданного количества. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + Сервер сбросил соединение. + + + + Отправка массива байт на СТП.Открытый сетевой поток.Массив байт.Результат отправки. + Размер байт не должен равняться нулю. + + Стрим недоступен для записи. + + + + Формирование массива байт на отправку.Код комманды. Конвертируется в 4 байта. (0x00 0x00 0x00 0x00)Передаваемая строка.Байты перед передаваемой строкой.Байты после передаваемой строкой.Массив байт для отправки на СТП. + + + Открытие соединения к серверу.Информирует только о подключении к серверу. Исключения опускает.Состояние подключения. + + + Проверка подключения.Состояние подключения. + + + Закрыть подключение. + + + Отправка массива байт на СТП.Массив байт для отправки.Результат отправки. + Размер байт не должен равняться нулю. + + Поток недоступен для записи. + + + + Получение неизвестного количество байт.Возвращает null, если что-то пошло не так.Массив байт. + + + Получение определенного количество байт.Количество байт.Возвращает null, если что-то пошло не так.Массив байт определенного размера. Может массив быть меньше, если в буфере не будет достаточно данных. + + + Внутренняя функция для создания подключения.Возвращает флаг необходимости закрытия соединения. + Не получилось соединиться с сервером. + + + + Внетренняя функция для закрытия соединения.Флаг о необходимости закрыть соединение. + + + Внутренняя функция получения файлов.Код, который будет отправлен на сервер.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Массив байт, соответствующий запрашиваемому файлу. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Дата. Из неё формируется строка в формате YYYMMDD.Номер печи. 00 - общецеховые параметры.Индекс файла. От 0 до 15.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Обработанный массив байт. + Неверный код, для получения файла. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение файла данных (байтами) с СТП.Название команды.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив байт, соответствующий этой команде. Может вернуть null. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + Получение структуры файлов и папок в запрашиваемой директории.Путь, структуру которого надо отобразить.Выполняет автоподключение, если оно не установлено. Не все ошибки описаны в документации.Массив строк. Полные пути к файлам и папкам. Может вернуть null. + Неверный флаг окончания строки. + Неверный флаг во время получения файла. + + Предыдущий запрос не закончен. + Поток недоступен для записи. + + Не получилось соединиться с сервером. + + + + + Класс для связи с СТП. Содержит все инструменты, для получения данных. + + + + Номер сервера, используемого по умолчанию. + + + Массив серверов, инициализированных в экземпляре класса. + + + Получение номера сервера по его названию. + Название сервера. + Номер сервера в списке серверов. + + + Получение название сервера по его номеру. + Номер сервера в списке серверов. + Название сервера. + + + Проверка параметров серевера перед их добавлением в список. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Добавление сервера в список серверов. + Название сервера + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его номеру. + Номер сервера в списке серверов. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Изменение сервера в списке серверов по его названию. + Название сервера. + IP адресс сервера. + Порт сервера. + Путь к архиву. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его номеру. + Номер сервера в списке серверов. + Результат выполнения функции. + + + Удаление сервера из списка серверов по его названию. + Название сервера. + Результат выполнения функции. + + + Чтение конфигурационнного файла и установка параметров по умолчанию. + + + Создание экземпляра класса. + + + Создание экземпляра класса с указанием конфигурационного файла. + Путь к файлу конфигурации. + + + diff --git a/Test2/bin/Debug/net5.0/Test2.dll b/Test2/bin/Debug/net5.0/Test2.dll index 66f9e023d411815c661787153d16f5af765ec99b..a50aeed4cdb8b443d6535ec1a950368a24cf618b 100644 GIT binary patch delta 4969 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 delta 755 zcmYk4OGuPa6vuz(-tYSyb$ZN1Fd32K*nGw$*i!|2Sc2GNHJLpSM`aK}6thi>8kZ3v z$+t-`lb|4i!Uwi=V-QiRpuj>bYgvm3q(u+zop0gY-1Gn6|2gM>&%L)gS3B+=D!dX% z-GoU6EkG)J?P~vE-w42}0>^OeS-vXBnYgvR&FES*Ox8f^4TqshCkkfmoPX5{M)VYiS|k z3&Xzf**8wj5`r2*Beoap0MrKDW@~86m^B{a5`g^sFsiTLHeDGUW2T5n5vSIN3jTiZu56fl!WA_&x zJUp0wSLc5FRDbs8{(I+_X4mGHoqm<@rjq}dhU#obZeo7@-29Ku(~J3Mx96^u{7EG% zjJdcL%9QeO6&_W}JcBCi7LY`6CsXMvkUhanrnmH>`BNTJA587*-sFhLWi>kHfV2hC N+NY%+aJVrI{{hE%Y*GLK diff --git a/Test2/bin/Debug/net5.0/ref/Test2.dll b/Test2/bin/Debug/net5.0/ref/Test2.dll index baa4471169156bc21fc64c2f5b6c0622f0195a33..8660f4ba4e39b89317d82c46d0970a9e15778687 100644 GIT binary patch delta 938 zcmZ{jO-NKx6vuz(&df_^1{<}+GKx{iDdjb$PWUxAD5D~wrABHn$|Na>R-=JLDFk9) zl)P|V1SR3Bp}7;Kw=td(S(Ed+uEbEmS{VDnE5U z`ktKaP>xT+kOz3P;$nRH)rEq(IP_>?1VWzWV6lGz{6J|OjyOS8?F>qf_kjhp0(s7B zsgeTcvsB7~w54_>u>EdM-OFsoR$Vt6;%hG-rVHKQ0~G^(e0M`Y`yB&a?RwDz8_pZ6a$c(*vOD!| z-FN{YrY5*d3m-(sU{NMMWwB&9%MaO4mC|~@QJ(TbET&~gEPkT7Zn$mOWc0hnZ&X`i zF*J|<-6z=+FEQ1vbdjhjC8mV{AEl0Z6S;x`I>1BT&5$0vt1IZrns@JjY&r{w$Ve#6nCo|7ZBWD4&c7h3LdXWW>t}iGS1IqQ^7DcRg7R$%L+D4Jj14qHEgo`b$uM^epBuUtvg7(~ zb-AJL*+IJZ+}uF5>C+z4g2HX?mpT3BXhR}VlL*rsO(qiU6RE3{qjPPOqp4K=zr;u) zO#fJF=Cn?v`Rw%N*~zh}PEN1pJrXOHoSB%Oaw6Vaf8BCt!yC-^yR4!XmsJ#VzIfjj mUCP~fZ8x;vx*RM~<8f!x*O?BhaY+~WcRgw;VqVB{c;7E=0H8_$ delta 766 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 delta 755 zcmYk4OGuPa6vuz(-tYSyb$ZN1Fd32K*nGw$*i!|2Sc2GNHJLpSM`aK}6thi>8kZ3v z$+t-`lb|4i!Uwi=V-QiRpuj>bYgvm3q(u+zop0gY-1Gn6|2gM>&%L)gS3B+=D!dX% z-GoU6EkG)J?P~vE-w42}0>^OeS-vXBnYgvR&FES*Ox8f^4TqshCkkfmoPX5{M)VYiS|k z3&Xzf**8wj5`r2*Beoap0MrKDW@~86m^B{a5`g^sFsiTLHeDGUW2T5n5vSIN3jTiZu56fl!WA_&x zJUp0wSLc5FRDbs8{(I+_X4mGHoqm<@rjq}dhU#obZeo7@-29Ku(~J3Mx96^u{7EG% zjJdcL%9QeO6&_W}JcBCi7LY`6CsXMvkUhanrnmH>`BNTJA587*-sFhLWi>kHfV2hC N+NY%+aJVrI{{hE%Y*GLK diff --git a/Test2/obj/Debug/net5.0/ref/Test2.dll b/Test2/obj/Debug/net5.0/ref/Test2.dll index baa4471169156bc21fc64c2f5b6c0622f0195a33..8660f4ba4e39b89317d82c46d0970a9e15778687 100644 GIT binary patch delta 938 zcmZ{jO-NKx6vuz(&df_^1{<}+GKx{iDdjb$PWUxAD5D~wrABHn$|Na>R-=JLDFk9) zl)P|V1SR3Bp}7;Kw=td(S(Ed+uEbEmS{VDnE5U z`ktKaP>xT+kOz3P;$nRH)rEq(IP_>?1VWzWV6lGz{6J|OjyOS8?F>qf_kjhp0(s7B zsgeTcvsB7~w54_>u>EdM-OFsoR$Vt6;%hG-rVHKQ0~G^(e0M`Y`yB&a?RwDz8_pZ6a$c(*vOD!| z-FN{YrY5*d3m-(sU{NMMWwB&9%MaO4mC|~@QJ(TbET&~gEPkT7Zn$mOWc0hnZ&X`i zF*J|<-6z=+FEQ1vbdjhjC8mV{AEl0Z6S;x`I>1BT&5$0vt1IZrns@JjY&r{w$Ve#6nCo|7ZBWD4&c7h3LdXWW>t}iGS1IqQ^7DcRg7R$%L+D4Jj14qHEgo`b$uM^epBuUtvg7(~ zb-AJL*+IJZ+}uF5>C+z4g2HX?mpT3BXhR}VlL*rsO(qiU6RE3{qjPPOqp4K=zr;u) zO#fJF=Cn?v`Rw%N*~zh}PEN1pJrXOHoSB%Oaw6Vaf8BCt!yC-^yR4!XmsJ#VzIfjj mUCP~fZ8x;vx*RM~<8f!x*O?BhaY+~WcRgw;VqVB{c;7E=0H8_$ delta 766 zcmZ9K&r8#B7{_1F$L*VLOQ&nn50SPJGaO%*CK0I^I&wwKm_|~hwj=~8Yj#M&?G$xU z$LCZ;T|7i|s79T-1P%l*o;r^Hg6dEg4-%ix*9d$L@8|uzKRmoYym`v0a@X3^c(l~G z%U*paPEgX|00B?@k*U1B+WayDIU`I%m%kE=gvt;C${Fa;F_qGjk_-Iy14DqLKT5ZR zbX}6tR&~^lgrB{NtPO9jW?wHI&!rP@!qryaPdUnV#`75k6n@5sAmsN?rhO1L{K7%BEDl+zio-VyYK!kJMy+13{GfU#4yQ}hCBPxo zsf