diff --git a/code-generation/language-c/pom.xml b/code-generation/language-c/pom.xml
index c9cd0412002..fd86a7a9873 100644
--- a/code-generation/language-c/pom.xml
+++ b/code-generation/language-c/pom.xml
@@ -62,7 +62,6 @@
org.apache.plc4x.plugins:plc4x-maven-plugin:${plc4x-code-generation.version}
org.apache.plc4x.plugins:plc4x-code-generation-protocol-base:${plc4x-code-generation.version}
org.apache.plc4x.plugins:plc4x-code-generation-types-base:${plc4x-code-generation.version}
- org.apache.plc4x.plugins:plc4x-code-generation-types-base:${plc4x-code-generation.version}
*/pom.xml
diff --git a/code-generation/language-c/src/main/resources/templates/c/data-io-template.c.ftlh b/code-generation/language-c/src/main/resources/templates/c/data-io-template.c.ftlh
index f3235a1ea73..e9203670466 100644
--- a/code-generation/language-c/src/main/resources/templates/c/data-io-template.c.ftlh
+++ b/code-generation/language-c/src/main/resources/templates/c/data-io-template.c.ftlh
@@ -179,7 +179,11 @@ plc4c_return_code ${helper.getCTypeName(type.name)}_parse(plc4x_spi_context ctx,
return new PlcStruct(${field.name});
<#break-->
<#case "STRING">
+ <#if (parserArguments?filter(parserArgument->parserArgument.name=="stringLength"))?has_content>
*data_item = plc4c_data_create_string_data(stringLength, ${manualField.name});
+ <#else>
+ *data_item = plc4c_data_create_string_data(strlen(value), ${manualField.name});
+ #if>
<#break>
<#default>
*data_item = plc4c_data_create_${case.name?lower_case}_data(${manualField.name});
diff --git a/code-generation/language-go/pom.xml b/code-generation/language-go/pom.xml
index a452077012a..cc2f201576c 100644
--- a/code-generation/language-go/pom.xml
+++ b/code-generation/language-go/pom.xml
@@ -62,7 +62,6 @@
org.apache.plc4x.plugins:plc4x-maven-plugin:${plc4x-code-generation.version}
org.apache.plc4x.plugins:plc4x-code-generation-protocol-base:${plc4x-code-generation.version}
org.apache.plc4x.plugins:plc4x-code-generation-types-base:${plc4x-code-generation.version}
- org.apache.plc4x.plugins:plc4x-code-generation-types-base:${plc4x-code-generation.version}
*/pom.xml
diff --git a/plc4c/drivers/plc4x/include/plc4c/driver_plc4x_static.h b/plc4c/drivers/plc4x/include/plc4c/driver_plc4x_static.h
index 4a6d28aadae..1e6cdc2bc65 100644
--- a/plc4c/drivers/plc4x/include/plc4c/driver_plc4x_static.h
+++ b/plc4c/drivers/plc4x/include/plc4c/driver_plc4x_static.h
@@ -36,6 +36,8 @@ extern "C" {
uint8_t plc4c_spi_evaluation_helper_str_len(char* str);
+char* plc4c_plc4x_read_write_parse_string(plc4c_spi_read_buffer* io, char* encoding);
+
#ifdef __cplusplus
}
#endif
diff --git a/plc4c/drivers/plc4x/src/driver_plc4x_static.c b/plc4c/drivers/plc4x/src/driver_plc4x_static.c
index 9eff0971454..fda73bf88bd 100644
--- a/plc4c/drivers/plc4x/src/driver_plc4x_static.c
+++ b/plc4c/drivers/plc4x/src/driver_plc4x_static.c
@@ -30,3 +30,31 @@ uint8_t plc4c_spi_evaluation_helper_str_len(char* str) {
return strlen(str);
}
+char* plc4c_plc4x_read_write_parse_string(plc4c_spi_read_buffer* io, char* encoding) {
+ if (strcmp(encoding, "UTF-8") == 0) {
+ // Read the max length (which is not interesting for us.
+ uint8_t length;
+ plc4c_return_code res = plc4c_spi_read_unsigned_byte(io, 8, &length);
+ if (res != OK) {
+ return NULL;
+ }
+ char* result = malloc(sizeof(char) * (length + 1));
+ if (result == NULL) {
+ return NULL;
+ }
+ char* curPos = result;
+ for(int i = 0; i < length; i++) {
+ uint8_t val;
+ plc4c_return_code res = plc4c_spi_read_unsigned_byte(io, 8, &val);
+ if (res != OK) {
+ return NULL;
+ }
+ *curPos = (char) val;
+ curPos++;
+ }
+ *curPos = '\0';
+ return result;
+ } else if (strcmp(encoding, "UTF-16") == 0) {
+ }
+ return "";
+}
diff --git a/plc4c/drivers/s7/include/plc4c/driver_s7_encode_decode.h b/plc4c/drivers/s7/include/plc4c/driver_s7_encode_decode.h
index 28da28458b2..b771f5bed90 100644
--- a/plc4c/drivers/s7/include/plc4c/driver_s7_encode_decode.h
+++ b/plc4c/drivers/s7/include/plc4c/driver_s7_encode_decode.h
@@ -27,6 +27,12 @@ extern "C" {
#include "plc4c/driver_s7.h"
#include "s7_var_request_parameter_item.h"
+struct plc4c_s7_read_write_s7_var_request_parameter_item_field {
+ plc4c_s7_read_write_s7_var_request_parameter_item* parameter_item;
+ char* s7_address_any_encoding_of_string;
+};
+typedef struct plc4c_s7_read_write_s7_var_request_parameter_item_field plc4c_s7_read_write_s7_var_request_parameter_item_field;
+
uint16_t plc4c_driver_s7_encode_tsap_id(
plc4c_driver_s7_device_group device_group, uint8_t rack, uint8_t slot);
diff --git a/plc4c/drivers/s7/include/plc4c/driver_s7_static.h b/plc4c/drivers/s7/include/plc4c/driver_s7_static.h
index 2b52cec337e..05ba1d9cc88 100644
--- a/plc4c/drivers/s7/include/plc4c/driver_s7_static.h
+++ b/plc4c/drivers/s7/include/plc4c/driver_s7_static.h
@@ -48,9 +48,9 @@ uint16_t plc4c_s7_read_write_s7msec_to_int(plc4c_spi_read_buffer* io);
plc4c_return_code plc4c_s7_read_write_int_to_s7msec(plc4c_spi_write_buffer* writeBuffer, uint16_t value);
-char* plc4c_s7_read_write_parse_s7_string(plc4c_spi_read_buffer* io, int32_t stringLength, char* encoding);
+char* plc4c_s7_read_write_parse_s7_string(plc4c_spi_read_buffer* io, int32_t stringLength, char* encoding, char* stringEncoding);
-char* plc4c_s7_read_write_parse_s7_char(plc4c_spi_read_buffer* io, char* encoding);
+char* plc4c_s7_read_write_parse_s7_char(plc4c_spi_read_buffer* io, char* encoding, char* stringEncoding);
time_t plc4c_s7_read_write_parse_tia_time(plc4c_spi_read_buffer* io);
diff --git a/plc4c/drivers/s7/src/driver_s7_encode_decode.c b/plc4c/drivers/s7/src/driver_s7_encode_decode.c
index af2bf2765eb..ffce43616a9 100644
--- a/plc4c/drivers/s7/src/driver_s7_encode_decode.c
+++ b/plc4c/drivers/s7/src/driver_s7_encode_decode.c
@@ -23,6 +23,7 @@
#include
#include
#include
+#include "plc4c/driver_s7_encode_decode.h"
uint16_t plc4c_driver_s7_encode_tsap_id(
plc4c_driver_s7_device_group device_group, uint8_t rack, uint8_t slot) {
@@ -114,6 +115,7 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
// Parser logic
char* cur_pos = address;
char* last_pos = address;
+ char* string_encoding = NULL;
// - Does it start with "%"?
if (*cur_pos == '%') {
cur_pos++;
@@ -247,6 +249,19 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
*(num_elements + len) = '\0';
}
+ if (*cur_pos == '|') {
+ // Next comes the num_elements
+ cur_pos++;
+ last_pos = cur_pos;
+ while (*cur_pos != '\0') {
+ cur_pos++;
+ }
+ len = cur_pos - last_pos;
+ string_encoding = malloc(sizeof(char) * (len + 1));
+ strncpy(string_encoding, last_pos, len);
+ *(string_encoding + len) = '\0';
+ }
+
////////////////////////////////////////////////////////////////////////////
// Now parse the contents.
////////////////////////////////////////////////////////////////////////////
@@ -261,6 +276,7 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
free(data_type);
free(string_length);
free(num_elements);
+ free(string_encoding);
free(s7_item);
return NO_MEMORY;
}
@@ -283,6 +299,7 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
free(data_type);
free(string_length);
free(num_elements);
+ free(string_encoding);
free(any_address);
free(s7_item);
return INVALID_ADDRESS;
@@ -320,15 +337,50 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
// TODO: THis should be moved to "driver_s7_packets.c->plc4c_return_code plc4c_driver_s7_create_s7_read_request"
if (any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_TIME ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_LINT ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_ULINT ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_LWORD ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_LREAL ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_REAL ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_LTIME ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_DATE ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_TIME_OF_DAY ||
+ any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_DATE_AND_TIME) {
+ any_address->s7_address_any_transport_size = plc4c_s7_read_write_transport_size_BYTE;
+ any_address->s7_address_any_number_of_elements =
+ plc4c_s7_read_write_transport_size_length_in_bytes(plc4x_spi_context_background(), &(any_address->s7_address_any_transport_size)) *
+ any_address->s7_address_any_number_of_elements;
+ } else if (any_address->s7_address_any_transport_size ==
plc4c_s7_read_write_transport_size_STRING) {
+ any_address->s7_address_any_transport_size = plc4c_s7_read_write_transport_size_BYTE;
if (string_length != NULL) {
any_address->s7_address_any_number_of_elements =
- strtol(string_length, 0, 10) *
+ (strtol(string_length, 0, 10) +2) *
any_address->s7_address_any_number_of_elements;
- } else if (any_address->s7_address_any_transport_size ==
- plc4c_s7_read_write_transport_size_STRING) {
+ } else {
+ any_address->s7_address_any_number_of_elements =
+ 256 * any_address->s7_address_any_number_of_elements;
+ }
+ } else if (any_address->s7_address_any_transport_size ==
+ plc4c_s7_read_write_transport_size_WSTRING) {
+ any_address->s7_address_any_transport_size = plc4c_s7_read_write_transport_size_BYTE;
+ if (string_length != NULL) {
+ any_address->s7_address_any_number_of_elements =
+ (strtol(string_length, 0, 10) +2) * 2 *
+ any_address->s7_address_any_number_of_elements;
+ } else {
any_address->s7_address_any_number_of_elements =
- 254 * any_address->s7_address_any_number_of_elements;
+ 512 * any_address->s7_address_any_number_of_elements;
}
} else if (any_address->s7_address_any_transport_size ==
plc4c_s7_read_write_transport_size_TOD) {
@@ -396,8 +448,12 @@ plc4c_return_code plc4c_driver_s7_encode_address(char* address, void** item) {
free(read_buffer);
free(raw_data);
}
+ plc4c_s7_read_write_s7_var_request_parameter_item_field* s7_item_field;
- *item = s7_item;
+ s7_item_field = malloc(sizeof(plc4c_s7_read_write_s7_var_request_parameter_item_field));
+ s7_item_field->parameter_item = s7_item;
+ s7_item_field->s7_address_any_encoding_of_string = string_encoding;
+ *item = s7_item_field;
return OK;
}
diff --git a/plc4c/drivers/s7/src/driver_s7_packets.c b/plc4c/drivers/s7/src/driver_s7_packets.c
index 31a72434e1c..553a987d3e3 100644
--- a/plc4c/drivers/s7/src/driver_s7_packets.c
+++ b/plc4c/drivers/s7/src/driver_s7_packets.c
@@ -713,9 +713,9 @@ plc4c_return_code plc4c_driver_s7_create_s7_read_request(
plc4c_s7_read_write_s7_var_request_parameter_item* updated_item_address;
item = cur_item->value;
-
+ plc4c_s7_read_write_s7_var_request_parameter_item_field* field = item->address;
// Get the item address from the API request.
- parsed_item_address = item->address;
+ parsed_item_address = field->parameter_item;
// Create a copy of the request item...
updated_item_address = malloc(sizeof(plc4c_s7_read_write_s7_var_request_parameter_item));
@@ -723,14 +723,14 @@ plc4c_return_code plc4c_driver_s7_create_s7_read_request(
return NO_MEMORY;
}
updated_item_address->_type = parsed_item_address->_type;
- updated_item_address->s7_var_request_parameter_item_address_address =
+ updated_item_address->s7_var_request_parameter_item_address_address =
malloc(sizeof(plc4c_s7_read_write_s7_address));
if (updated_item_address->s7_var_request_parameter_item_address_address == NULL) {
return NO_MEMORY;
}
// Memcpy inplace of fields assignment, as all fields where assigned
memcpy(updated_item_address->s7_var_request_parameter_item_address_address,
- parsed_item_address->s7_var_request_parameter_item_address_address,
+ parsed_item_address->s7_var_request_parameter_item_address_address,
sizeof(plc4c_s7_read_write_s7_address));
// In case of TIME values, we read 4 bytes for each value instead.
@@ -855,7 +855,10 @@ plc4c_return_code plc4c_driver_s7_create_s7_write_request(
// Get the item address from the API request.
item = list_item->value;
parsed_item = item->item;
- parsed_param = parsed_item->address;
+
+ plc4c_s7_read_write_s7_var_request_parameter_item_field* field = parsed_item->address;
+
+ parsed_param = field->parameter_item;
parsed_value = item->value;
// Make a copy of the param
diff --git a/plc4c/drivers/s7/src/driver_s7_sm_read.c b/plc4c/drivers/s7/src/driver_s7_sm_read.c
index abc8d59f648..6aa23f8b8ee 100644
--- a/plc4c/drivers/s7/src/driver_s7_sm_read.c
+++ b/plc4c/drivers/s7/src/driver_s7_sm_read.c
@@ -203,6 +203,7 @@ plc4c_return_code plc4c_driver_s7_parse_read_response(
plc4c_data* data_item;
plc4c_response_value_item* response_value_item;
char* data_protocol_id;
+ char* string_encoding;
uint16_t num_elements;
int32_t string_length;
uint8_t* byte_array;
@@ -225,11 +226,13 @@ plc4c_return_code plc4c_driver_s7_parse_read_response(
// Get the protocol id for the current item from the corresponding
// request item. Also get the number of elements, if it's an array.
- request_address = request_item->address;
+ plc4c_s7_read_write_s7_var_request_parameter_item_field* field = request_item->address;
+ request_address = field->parameter_item;
transport_size = request_address->s7_var_request_parameter_item_address_address->s7_address_any_transport_size;
num_elements = request_address->s7_var_request_parameter_item_address_address->s7_address_any_number_of_elements;
data_protocol_id = plc4c_s7_read_write_transport_size_get_data_protocol_id(transport_size);
-
+ string_encoding = field->s7_address_any_encoding_of_string;
+
if (transport_size == plc4c_s7_read_write_transport_size_STRING) {
// TODO: This needs to be changed to read arrays of strings.
string_length = num_elements;
@@ -257,12 +260,12 @@ plc4c_return_code plc4c_driver_s7_parse_read_response(
all_data_item = plc4c_data_create_list_data(all_list);
free(all_list);
for (idx = 0; idx < num_elements ; idx++) {
- plc4c_s7_read_write_data_item_parse(plc4x_spi_context_background(), read_buffer, data_protocol_id, string_length, &data_item);
- plc4c_utils_list_insert_head_value(all_data_item->data.list_value, (void*)data_item);
+ plc4c_s7_read_write_data_item_parse(plc4x_spi_context_background(), read_buffer, data_protocol_id, string_length, string_encoding, &data_item);
+ plc4c_utils_list_insert_head_value(&all_data_item->data.list_value, (void*)data_item);
}
data_item = all_data_item;
} else {
- plc4c_s7_read_write_data_item_parse(plc4x_spi_context_background(), read_buffer, data_protocol_id, string_length, &data_item);
+ plc4c_s7_read_write_data_item_parse(plc4x_spi_context_background(), read_buffer, data_protocol_id, string_length,string_encoding, &data_item);
}
// Create a new response value-item
diff --git a/plc4c/drivers/s7/src/driver_s7_static.c b/plc4c/drivers/s7/src/driver_s7_static.c
index 42dc91f2edf..dff33e5bb6b 100644
--- a/plc4c/drivers/s7/src/driver_s7_static.c
+++ b/plc4c/drivers/s7/src/driver_s7_static.c
@@ -53,7 +53,7 @@ uint16_t plc4c_s7_read_write_s7msec_to_int(plc4c_spi_read_buffer* io) {
char* plc4c_s7_read_write_parse_s7_string(plc4c_spi_read_buffer* io,
int32_t stringLength,
- char* encoding) {
+ char* encoding, char* stringEncoding) {
if (strcmp(encoding, "UTF-8") == 0) {
// Read the max length (which is not interesting for us.
uint8_t maxLen;
@@ -89,7 +89,7 @@ char* plc4c_s7_read_write_parse_s7_string(plc4c_spi_read_buffer* io,
}
char* plc4c_s7_read_write_parse_s7_char(plc4c_spi_read_buffer* io,
- char* encoding) {
+ char* encoding, char* stringEncoding) {
if (strcmp(encoding, "UTF-8") == 0) {
char* result = malloc(sizeof(char) * 2);
if (result == NULL) {
diff --git a/plc4c/generated-sources/plc4x/src/plc4x_value.c b/plc4c/generated-sources/plc4x/src/plc4x_value.c
index f2ca4e097c8..a1a15c69939 100644
--- a/plc4c/generated-sources/plc4x/src/plc4x_value.c
+++ b/plc4c/generated-sources/plc4x/src/plc4x_value.c
@@ -235,6 +235,20 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_value_parse(plc4x_spi_context ctx
*data_item = plc4c_data_create_string_data(16, value);
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_STRING) { /* STRING */
+
+ // Manual Field (value)
+ char* value = (char*) (plc4c_plc4x_read_write_parse_string(readBuffer, "UTF-8"));
+
+ *data_item = plc4c_data_create_string_data(strlen(value), value);
+
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_WSTRING) { /* STRING */
+
+ // Manual Field (value)
+ char* value = (char*) (plc4c_plc4x_read_write_parse_string(readBuffer, "UTF-16"));
+
+ *data_item = plc4c_data_create_string_data(strlen(value), value);
+
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_TIME) { /* TIME */
// Simple Field (milliseconds)
@@ -452,6 +466,12 @@ plc4c_return_code plc4c_plc4x_read_write_plc4x_value_serialize(plc4x_spi_context
if(_res != OK) {
return _res;
}
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_STRING) { /* STRING */
+
+ // Manual Field (value)
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_WSTRING) { /* STRING */
+
+ // Manual Field (value)
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_TIME) { /* TIME */
// Simple field (milliseconds)
@@ -590,6 +610,20 @@ uint16_t plc4c_plc4x_read_write_plc4x_value_length_in_bits(plc4x_spi_context ctx
// Simple field (value)
lengthInBits += 16;
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_STRING) { /* STRING */
+
+ // Manual Field (value)
+ {
+ char* _value = data_item->data.string_value;
+ lengthInBits += (((plc4c_spi_evaluation_helper_str_len(_value)) + (1))) * (8);
+ }
+ } else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_WSTRING) { /* STRING */
+
+ // Manual Field (value)
+ {
+ char* _value = data_item->data.string_value;
+ lengthInBits += (((plc4c_spi_evaluation_helper_str_len(_value)) + (1))) * (16);
+ }
} else if(valueType == plc4c_plc4x_read_write_plc4x_value_type_TIME) { /* TIME */
// Simple field (milliseconds)
diff --git a/plc4c/generated-sources/s7/include/data_item.h b/plc4c/generated-sources/s7/include/data_item.h
index 32893bb96b7..26527f78bf9 100644
--- a/plc4c/generated-sources/s7/include/data_item.h
+++ b/plc4c/generated-sources/s7/include/data_item.h
@@ -28,12 +28,12 @@
// Code generated by code-generation. DO NOT EDIT.
-plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc4c_spi_read_buffer* readBuffer, char* dataProtocolId, int32_t stringLength, plc4c_data** data_item);
+plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc4c_spi_read_buffer* readBuffer, char* dataProtocolId, int32_t stringLength, char* stringEncoding, plc4c_data** data_item);
-plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx, plc4c_spi_write_buffer* writeBuffer, char* dataProtocolId, int32_t stringLength, plc4c_data** data_item);
+plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx, plc4c_spi_write_buffer* writeBuffer, char* dataProtocolId, int32_t stringLength, char* stringEncoding, plc4c_data** data_item);
-uint16_t plc4c_s7_read_write_data_item_length_in_bytes(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength);
+uint16_t plc4c_s7_read_write_data_item_length_in_bytes(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength, char* stringEncoding);
-uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength);
+uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength, char* stringEncoding);
#endif // PLC4C_S7_READ_WRITE_DATA_ITEM_H_
diff --git a/plc4c/generated-sources/s7/src/data_item.c b/plc4c/generated-sources/s7/src/data_item.c
index c0e09c4108a..25a7d3fd49a 100644
--- a/plc4c/generated-sources/s7/src/data_item.c
+++ b/plc4c/generated-sources/s7/src/data_item.c
@@ -31,7 +31,7 @@
// Code generated by code-generation. DO NOT EDIT.
// Parse function.
-plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc4c_spi_read_buffer* readBuffer, char* dataProtocolId, int32_t stringLength, plc4c_data** data_item) {
+plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc4c_spi_read_buffer* readBuffer, char* dataProtocolId, int32_t stringLength, char* stringEncoding, plc4c_data** data_item) {
uint16_t startPos = plc4c_spi_read_get_pos(readBuffer);
uint16_t curPos;
plc4c_return_code _res = OK;
@@ -215,37 +215,29 @@ plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc
} else if(strcmp(dataProtocolId, "IEC61131_CHAR") == 0) { /* CHAR */
- // Simple Field (value)
- char* value = "";
- _res = plc4c_spi_read_string(readBuffer, 8, "UTF-8", (char**) &value);
- if(_res != OK) {
- return _res;
- }
+ // Manual Field (value)
+ char* value = (char*) (plc4c_s7_read_write_parse_s7_char(readBuffer, "UTF-8", stringEncoding));
*data_item = plc4c_data_create_char_data(value);
} else if(strcmp(dataProtocolId, "IEC61131_WCHAR") == 0) { /* CHAR */
- // Simple Field (value)
- char* value = "";
- _res = plc4c_spi_read_string(readBuffer, 16, "UTF-16", (char**) &value);
- if(_res != OK) {
- return _res;
- }
+ // Manual Field (value)
+ char* value = (char*) (plc4c_s7_read_write_parse_s7_char(readBuffer, "UTF-16", stringEncoding));
*data_item = plc4c_data_create_char_data(value);
} else if(strcmp(dataProtocolId, "IEC61131_STRING") == 0) { /* STRING */
// Manual Field (value)
- char* value = (char*) (plc4c_s7_read_write_parse_s7_string(readBuffer, stringLength, "UTF-8"));
+ char* value = (char*) (plc4c_s7_read_write_parse_s7_string(readBuffer, stringLength, "UTF-8", stringEncoding));
*data_item = plc4c_data_create_string_data(stringLength, value);
} else if(strcmp(dataProtocolId, "IEC61131_WSTRING") == 0) { /* STRING */
// Manual Field (value)
- char* value = (char*) (plc4c_s7_read_write_parse_s7_string(readBuffer, stringLength, "UTF-16"));
+ char* value = (char*) (plc4c_s7_read_write_parse_s7_string(readBuffer, stringLength, "UTF-16", stringEncoding));
*data_item = plc4c_data_create_string_data(stringLength, value);
@@ -390,7 +382,7 @@ plc4c_return_code plc4c_s7_read_write_data_item_parse(plc4x_spi_context ctx, plc
return OK;
}
-plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx, plc4c_spi_write_buffer* writeBuffer, char* dataProtocolId, int32_t stringLength, plc4c_data** data_item) {
+plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx, plc4c_spi_write_buffer* writeBuffer, char* dataProtocolId, int32_t stringLength, char* stringEncoding, plc4c_data** data_item) {
plc4c_return_code _res = OK;
if(strcmp(dataProtocolId, "IEC61131_BOOL") == 0) { /* BOOL */
@@ -501,18 +493,10 @@ plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx,
}
} else if(strcmp(dataProtocolId, "IEC61131_CHAR") == 0) { /* CHAR */
- // Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 8, "UTF-8", (*data_item)->data.char_value);
- if(_res != OK) {
- return _res;
- }
+ // Manual Field (value)
} else if(strcmp(dataProtocolId, "IEC61131_WCHAR") == 0) { /* CHAR */
- // Simple field (value)
- _res = plc4c_spi_write_string(writeBuffer, 16, "UTF-16", (*data_item)->data.char_value);
- if(_res != OK) {
- return _res;
- }
+ // Manual Field (value)
} else if(strcmp(dataProtocolId, "IEC61131_STRING") == 0) { /* STRING */
// Manual Field (value)
@@ -607,11 +591,11 @@ plc4c_return_code plc4c_s7_read_write_data_item_serialize(plc4x_spi_context ctx,
return OK;
}
-uint16_t plc4c_s7_read_write_data_item_length_in_bytes(plc4x_spi_context ctx, plc4c_data* data_item, char* data_protocol_id, int32_t string_length) {
- return plc4c_s7_read_write_data_item_length_in_bits(ctx, data_item, data_protocol_id, string_length) / 8;
+uint16_t plc4c_s7_read_write_data_item_length_in_bytes(plc4x_spi_context ctx, plc4c_data* data_item, char* data_protocol_id, int32_t string_length, char* string_encoding) {
+ return plc4c_s7_read_write_data_item_length_in_bits(ctx, data_item, data_protocol_id, string_length, string_encoding) / 8;
}
-uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength) {
+uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc4c_data* data_item, char* dataProtocolId, int32_t stringLength, char* stringEncoding) {
uint16_t lengthInBits = 0;
if(strcmp(dataProtocolId, "IEC61131_BOOL") == 0) { /* BOOL */
@@ -678,26 +662,20 @@ uint16_t plc4c_s7_read_write_data_item_length_in_bits(plc4x_spi_context ctx, plc
lengthInBits += 64;
} else if(strcmp(dataProtocolId, "IEC61131_CHAR") == 0) { /* CHAR */
- // Simple field (value)
+ // Manual Field (value)
lengthInBits += 8;
} else if(strcmp(dataProtocolId, "IEC61131_WCHAR") == 0) { /* CHAR */
- // Simple field (value)
+ // Manual Field (value)
lengthInBits += 16;
} else if(strcmp(dataProtocolId, "IEC61131_STRING") == 0) { /* STRING */
// Manual Field (value)
- {
- char* _value = data_item->data.string_value;
- lengthInBits += (plc4c_spi_evaluation_helper_str_len(_value)) + (2);
- }
+ lengthInBits += (((stringLength) + (2))) * (8);
} else if(strcmp(dataProtocolId, "IEC61131_WSTRING") == 0) { /* STRING */
// Manual Field (value)
- {
- char* _value = data_item->data.string_value;
- lengthInBits += (((plc4c_spi_evaluation_helper_str_len(_value)) * (2))) + (2);
- }
+ lengthInBits += (((stringLength) + (2))) * (16);
} else if(strcmp(dataProtocolId, "IEC61131_TIME") == 0) { /* TIME */
// Simple field (milliseconds)
diff --git a/plc4c/generated-sources/s7/src/transport_size.c b/plc4c/generated-sources/s7/src/transport_size.c
index b681e48047f..50978d3c977 100644
--- a/plc4c/generated-sources/s7/src/transport_size.c
+++ b/plc4c/generated-sources/s7/src/transport_size.c
@@ -1093,28 +1093,28 @@ plc4c_s7_read_write_data_transport_size plc4c_s7_read_write_transport_size_get_d
return plc4c_s7_read_write_data_transport_size_INTEGER;
}
case plc4c_s7_read_write_transport_size_LINT: { /* '0x0C' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_ULINT: { /* '0x0D' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_REAL: { /* '0x0E' */
- return plc4c_s7_read_write_data_transport_size_REAL;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_LREAL: { /* '0x0F' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_CHAR: { /* '0x10' */
return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_WCHAR: { /* '0x11' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_STRING: { /* '0x12' */
return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_WSTRING: { /* '0x13' */
- return -1;
+ return plc4c_s7_read_write_data_transport_size_BYTE_WORD_DWORD;
}
case plc4c_s7_read_write_transport_size_TIME: { /* '0x14' */
return -1;
@@ -1154,9 +1154,6 @@ plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_first_
case plc4c_s7_read_write_transport_size_INT: /* '0x06' */{
return plc4c_s7_read_write_transport_size_INT;
}
- case plc4c_s7_read_write_transport_size_REAL: /* '0x0E' */{
- return plc4c_s7_read_write_transport_size_REAL;
- }
case plc4c_s7_read_write_transport_size_LWORD: /* '0x05' */{
return plc4c_s7_read_write_transport_size_LWORD;
}
@@ -1363,10 +1360,10 @@ plc4c_s7_read_write_transport_size plc4c_s7_read_write_transport_size_get_base_t
return plc4c_s7_read_write_transport_size_INT;
}
case plc4c_s7_read_write_transport_size_LINT: { /* '0x0C' */
- return plc4c_s7_read_write_transport_size_INT;
+ return -1;
}
case plc4c_s7_read_write_transport_size_ULINT: { /* '0x0D' */
- return plc4c_s7_read_write_transport_size_INT;
+ return -1;
}
case plc4c_s7_read_write_transport_size_REAL: { /* '0x0E' */
return -1;
diff --git a/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml b/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
index 8d76a5ce141..97aab67eb6d 100644
--- a/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/s7/DriverTestsuite.xml
@@ -441,7 +441,7 @@
240
true
- 10
+ 2
@@ -450,7 +450,7 @@
50
1
0
- 10
+ 2
14
0
@@ -508,7 +508,7 @@
240
true
- 0
+ 2
@@ -517,7 +517,7 @@
50
3
0
- 10
+ 2
2
6
@@ -613,7 +613,7 @@
240
true
- 10
+ 2
@@ -622,7 +622,7 @@
50
1
0
- 10
+ 2
14
0
@@ -680,7 +680,7 @@
240
true
- 0
+ 2
@@ -689,7 +689,7 @@
50
2
0
- 10
+ 2
0
0
diff --git a/plc4go/internal/s7/Reader.go b/plc4go/internal/s7/Reader.go
index a0c3aca9455..15b5fd76fd1 100644
--- a/plc4go/internal/s7/Reader.go
+++ b/plc4go/internal/s7/Reader.go
@@ -210,13 +210,16 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.S7Message, readRequ
for i, tagName := range readRequest.GetTagNames() {
tag := readRequest.GetTag(tagName).(PlcTag)
payloadItem := payloadItems[i]
-
+ stringLength := uint16(254)
+ if s7StringTag, ok := tag.(PlcStringTag); ok {
+ stringLength = s7StringTag.stringLength
+ }
responseCode := decodeResponseCode(payloadItem.GetReturnCode())
// Decode the data according to the information from the request
log.Trace().Msg("decode data")
responseCodes[tagName] = responseCode
if responseCode == model.PlcResponseCode_OK {
- plcValue, err := readWriteModel.DataItemParse(context.Background(), payloadItem.GetData(), tag.GetDataType().DataProtocolId(), int32(tag.GetNumElements()))
+ plcValue, err := readWriteModel.DataItemParse(context.Background(), payloadItem.GetData(), tag.GetDataType().DataProtocolId(), int32(stringLength), tag.GetStringEncoding())
if err != nil {
return nil, errors.Wrap(err, "Error parsing data item")
}
diff --git a/plc4go/internal/s7/Tag.go b/plc4go/internal/s7/Tag.go
index 9dac0237543..bb0edd83838 100644
--- a/plc4go/internal/s7/Tag.go
+++ b/plc4go/internal/s7/Tag.go
@@ -39,27 +39,30 @@ type PlcTag interface {
GetMemoryArea() readWriteModel.MemoryArea
GetByteOffset() uint16
GetBitOffset() uint8
+ GetStringEncoding() string
}
type plcTag struct {
- TagType TagType
- MemoryArea readWriteModel.MemoryArea
- BlockNumber uint16
- ByteOffset uint16
- BitOffset uint8
- NumElements uint16
- Datatype readWriteModel.TransportSize
+ TagType TagType
+ MemoryArea readWriteModel.MemoryArea
+ BlockNumber uint16
+ ByteOffset uint16
+ BitOffset uint8
+ NumElements uint16
+ Datatype readWriteModel.TransportSize
+ StringEncoding string
}
-func NewTag(memoryArea readWriteModel.MemoryArea, blockNumber uint16, byteOffset uint16, bitOffset uint8, numElements uint16, datatype readWriteModel.TransportSize) PlcTag {
+func NewTag(memoryArea readWriteModel.MemoryArea, blockNumber uint16, byteOffset uint16, bitOffset uint8, numElements uint16, datatype readWriteModel.TransportSize, stringEncoding string) PlcTag {
return plcTag{
- TagType: S7Tag,
- MemoryArea: memoryArea,
- BlockNumber: blockNumber,
- ByteOffset: byteOffset,
- BitOffset: bitOffset,
- NumElements: numElements,
- Datatype: datatype,
+ TagType: S7Tag,
+ MemoryArea: memoryArea,
+ BlockNumber: blockNumber,
+ ByteOffset: byteOffset,
+ BitOffset: bitOffset,
+ NumElements: numElements,
+ Datatype: datatype,
+ StringEncoding: stringEncoding,
}
}
@@ -68,16 +71,17 @@ type PlcStringTag struct {
stringLength uint16
}
-func NewStringTag(memoryArea readWriteModel.MemoryArea, blockNumber uint16, byteOffset uint16, bitOffset uint8, numElements uint16, stringLength uint16, datatype readWriteModel.TransportSize) PlcStringTag {
+func NewStringTag(memoryArea readWriteModel.MemoryArea, blockNumber uint16, byteOffset uint16, bitOffset uint8, numElements uint16, stringLength uint16, datatype readWriteModel.TransportSize, stringEncoding string) PlcStringTag {
return PlcStringTag{
plcTag: plcTag{
- TagType: S7StringTag,
- MemoryArea: memoryArea,
- BlockNumber: blockNumber,
- ByteOffset: byteOffset,
- BitOffset: bitOffset,
- NumElements: numElements,
- Datatype: datatype,
+ TagType: S7StringTag,
+ MemoryArea: memoryArea,
+ BlockNumber: blockNumber,
+ ByteOffset: byteOffset,
+ BitOffset: bitOffset,
+ NumElements: numElements,
+ Datatype: datatype,
+ StringEncoding: stringEncoding,
},
stringLength: stringLength,
}
@@ -142,6 +146,10 @@ func (m plcTag) Serialize() ([]byte, error) {
return wb.GetBytes(), nil
}
+func (m plcTag) GetStringEncoding() string {
+ return m.StringEncoding
+}
+
func (m plcTag) SerializeWithWriteBuffer(writeBuffer utils.WriteBuffer) error {
if err := writeBuffer.PushContext(m.TagType.GetName()); err != nil {
return err
diff --git a/plc4go/internal/s7/TagHandler.go b/plc4go/internal/s7/TagHandler.go
index 6c2bc99cb06..d7f21cce66b 100644
--- a/plc4go/internal/s7/TagHandler.go
+++ b/plc4go/internal/s7/TagHandler.go
@@ -57,11 +57,11 @@ func NewTagHandler() TagHandler {
return TagHandler{
addressPattern: regexp.MustCompile(`^%(?P.)(?P[XBWD]?)(?P\d{1,7})(.(?P[0-7]))?:(?P[a-zA-Z_]+)(\[(?P\d+)])?`),
//blockNumber usually has its max hat around 64000 --> 5digits
- dataBlockAddressPattern: regexp.MustCompile(`^%DB(?P\d{1,5}).DB(?P[XBWD]?)(?P\d{1,7})(.(?P[0-7]))?:(?P[a-zA-Z_]+)(\[(?P\d+)])?`),
- dataBlockShortPattern: regexp.MustCompile(`^%DB(?P\d{1,5}):(?P\d{1,7})(.(?P[0-7]))?:(?P[a-zA-Z_]+)(\[(?P\d+)])?`),
- dataBlockStringAddressPattern: regexp.MustCompile(`^%DB(?P\d{1,5}).DB(?P[XBWD]?)(?P\d{1,7})(.(?P[0-7]))?:(?PSTRING|WSTRING)\((?P\d{1,3})\)(\[(?P\d+)])?`),
- dataBlockStringShortPattern: regexp.MustCompile(`^%DB(?P\d{1,5}):(?P\d{1,7})(.(?P[0-7]))?:(?PSTRING|WSTRING)\((?P\d{1,3})\)(\[(?P\d+)])?`),
- plcProxyAddressPattern: regexp.MustCompile(`[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}`),
+ dataBlockAddressPattern: regexp.MustCompile(`^%DB(?P\d{1,5}).DB(?P[XBWD]?)(?P\d{1,7})(.(?P[0-7]))?:(?P[a-zA-Z_]+)(\[(?P\d+)])?(\|(?P[a-z0-9A-Z_-]+))?`),
+ dataBlockShortPattern: regexp.MustCompile(`^%DB(?P\d{1,5}):(?P\d{1,7})(.(?P[0-7]))?:(?P[a-zA-Z_]+)(\[(?P\d+)])?(\|(?P[a-z0-9A-Z_-]+))?`),
+ dataBlockStringAddressPattern: regexp.MustCompile(`^%DB(?P\d{1,5}).DB(?P[XBWD]?)(?P\d{1,7})(.(?P[0-7]))?:(?PSTRING|WSTRING)\((?P\d{1,3})\)(\[(?P\d+)])?(\|(?P[a-z0-9A-Z_-]+))?`),
+ dataBlockStringShortPattern: regexp.MustCompile(`^%DB(?P\d{1,5}):(?P\d{1,7})(.(?P[0-7]))?:(?PSTRING|WSTRING)\((?P\d{1,3})\)(\[(?P\d+)])?(\|(?P[a-z0-9A-Z_-]+))?`),
+ plcProxyAddressPattern: regexp.MustCompile(`[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}-[0-9A-F]{2}(\|(?P[a-z0-9A-Z_-]+))?`),
}
}
@@ -119,8 +119,15 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
if (transferSizeCode != 0) && (dataType.ShortName() != transferSizeCode) {
return nil, errors.Errorf("Transfer size code '%d' doesn't match specified data type '%s'", transferSizeCode, dataType)
}
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if dataType == readWriteModel.TransportSize_WSTRING || dataType == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
- return NewStringTag(memoryArea, 0, byteOffset, bitOffset, numElements, stringLength, dataType), nil
+ return NewStringTag(memoryArea, 0, byteOffset, bitOffset, numElements, stringLength, dataType, stringEncoding), nil
} else if match := utils.GetSubgroupMatches(m.dataBlockStringShortPattern, tagAddress); match != nil {
dataType, ok := readWriteModel.TransportSizeByName(match[DATA_TYPE])
if !ok {
@@ -157,8 +164,14 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
}
numElements = uint16(parsedNumElements)
}
-
- return NewStringTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, stringLength, dataType), nil
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if dataType == readWriteModel.TransportSize_WSTRING || dataType == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
+ return NewStringTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, stringLength, dataType, stringEncoding), nil
} else if match := utils.GetSubgroupMatches(m.dataBlockAddressPattern, tagAddress); match != nil {
dataType, ok := readWriteModel.TransportSizeByName(match[DATA_TYPE])
if !ok {
@@ -204,8 +217,14 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
if (transferSizeCode != 0) && (dataType.ShortName() != transferSizeCode) {
return nil, errors.Errorf("Transfer size code '%d' doesn't match specified data type '%s'", transferSizeCode, dataType)
}
-
- return NewTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, dataType), nil
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if dataType == readWriteModel.TransportSize_WSTRING || dataType == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
+ return NewTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, dataType, stringEncoding), nil
} else if match := utils.GetSubgroupMatches(m.dataBlockShortPattern, tagAddress); match != nil {
dataType, ok := readWriteModel.TransportSizeByName(match[DATA_TYPE])
if !ok {
@@ -246,8 +265,14 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
}
numElements = uint16(parsedNumElements)
}
-
- return NewTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, dataType), nil
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if dataType == readWriteModel.TransportSize_WSTRING || dataType == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
+ return NewTag(memoryArea, blockNumber, byteOffset, bitOffset, numElements, dataType, stringEncoding), nil
} else if match := utils.GetSubgroupMatches(m.plcProxyAddressPattern, tagAddress); match != nil {
addressData, err := hex.DecodeString(strings.ReplaceAll(tagAddress, "[-]", ""))
if err != nil {
@@ -261,7 +286,13 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
if (s7AddressAny.GetTransportSize() != readWriteModel.TransportSize_BOOL) && s7AddressAny.GetBitAddress() != 0 {
return nil, errors.New("A bit offset other than 0 is only supported for type BOOL")
}
-
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if s7AddressAny.GetTransportSize() == readWriteModel.TransportSize_WSTRING || s7AddressAny.GetTransportSize() == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
return NewTag(
s7AddressAny.GetArea(),
s7AddressAny.GetDbNumber(),
@@ -269,6 +300,7 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
s7AddressAny.GetBitAddress(),
s7AddressAny.GetNumberOfElements(),
s7AddressAny.GetTransportSize(),
+ stringEncoding,
), nil
} else if match := utils.GetSubgroupMatches(m.addressPattern, tagAddress); match != nil {
dataType, ok := readWriteModel.TransportSizeByName(match[DATA_TYPE])
@@ -313,8 +345,14 @@ func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
if (dataType != readWriteModel.TransportSize_BOOL) && bitOffset != 0 {
return nil, errors.New("A bit offset other than 0 is only supported for type BOOL")
}
-
- return NewTag(memoryArea, 0, byteOffset, bitOffset, numElements, dataType), nil
+ stringEncoding := match["stringEncoding"]
+ if stringEncoding == "" {
+ stringEncoding = "UTF-8"
+ if dataType == readWriteModel.TransportSize_WSTRING || dataType == readWriteModel.TransportSize_WCHAR {
+ stringEncoding = "UTF-16"
+ }
+ }
+ return NewTag(memoryArea, 0, byteOffset, bitOffset, numElements, dataType, stringEncoding), nil
}
return nil, errors.Errorf("Unable to parse %s", tagAddress)
}
diff --git a/plc4go/internal/s7/Writer.go b/plc4go/internal/s7/Writer.go
index cd33c379e7e..85bef3fa253 100644
--- a/plc4go/internal/s7/Writer.go
+++ b/plc4go/internal/s7/Writer.go
@@ -231,7 +231,7 @@ func serializePlcValue(tag model.PlcTag, plcValue values.PlcValue) (readWriteMod
if s7StringTag, ok := tag.(*PlcStringTag); ok {
stringLength = s7StringTag.stringLength
}
- data, err := readWriteModel.DataItemSerialize(plcValue, s7Tag.GetDataType().DataProtocolId(), int32(stringLength))
+ data, err := readWriteModel.DataItemSerialize(plcValue, s7Tag.GetDataType().DataProtocolId(), int32(stringLength), s7Tag.GetStringEncoding())
if err != nil {
return nil, errors.Wrapf(err, "Error serializing tag item of type: '%v'", s7Tag.GetDataType())
}
diff --git a/plc4go/internal/simulated/Reader_test.go b/plc4go/internal/simulated/Reader_test.go
index 41e9bace88b..59007c53891 100644
--- a/plc4go/internal/simulated/Reader_test.go
+++ b/plc4go/internal/simulated/Reader_test.go
@@ -145,7 +145,7 @@ func TestReader_Read(t *testing.T) {
},
args: args{
fields: map[string]model.PlcTag{
- "test": s7.NewTag(model4.MemoryArea_DATA_BLOCKS, 1, 1, 0, 1, model4.TransportSize_BOOL),
+ "test": s7.NewTag(model4.MemoryArea_DATA_BLOCKS, 1, 1, 0, 1, model4.TransportSize_BOOL, "UTF-8"),
},
fieldNames: []string{"test"},
},
diff --git a/plc4go/internal/simulated/Writer_test.go b/plc4go/internal/simulated/Writer_test.go
index 9f0b10e97bf..64af673d4f5 100644
--- a/plc4go/internal/simulated/Writer_test.go
+++ b/plc4go/internal/simulated/Writer_test.go
@@ -154,7 +154,7 @@ func TestWriter_Write(t *testing.T) {
},
args: args{
fields: map[string]model.PlcTag{
- "test": s7.NewTag(model4.MemoryArea_DATA_BLOCKS, 1, 1, 0, 1, model4.TransportSize_BOOL),
+ "test": s7.NewTag(model4.MemoryArea_DATA_BLOCKS, 1, 1, 0, 1, model4.TransportSize_BOOL, "UTF-8"),
},
values: map[string]values.PlcValue{
"test": values2.NewPlcBOOL(false),
diff --git a/plc4go/protocols/s7/readwrite/ParserHelper.go b/plc4go/protocols/s7/readwrite/ParserHelper.go
index 86cb61bb774..fc717c57f92 100644
--- a/plc4go/protocols/s7/readwrite/ParserHelper.go
+++ b/plc4go/protocols/s7/readwrite/ParserHelper.go
@@ -43,7 +43,11 @@ func (m S7ParserHelper) Parse(typeName string, arguments []string, io utils.Read
if err != nil {
return nil, errors.Wrap(err, "Error parsing")
}
- return model.DataItemParseWithBuffer(context.Background(), io, dataProtocolId, stringLength)
+ stringEncoding, err := utils.StrToString(arguments[2])
+ if err != nil {
+ return nil, errors.Wrap(err, "Error parsing")
+ }
+ return model.DataItemParseWithBuffer(context.Background(), io, dataProtocolId, stringLength, stringEncoding)
case "SzlId":
return model.SzlIdParseWithBuffer(context.Background(), io)
case "AlarmMessageObjectAckType":
diff --git a/plc4go/protocols/s7/readwrite/XmlParserHelper.go b/plc4go/protocols/s7/readwrite/XmlParserHelper.go
index a8374bea380..9d1a8e858be 100644
--- a/plc4go/protocols/s7/readwrite/XmlParserHelper.go
+++ b/plc4go/protocols/s7/readwrite/XmlParserHelper.go
@@ -52,7 +52,9 @@ func (m S7XmlParserHelper) Parse(typeName string, xmlString string, parserArgume
return nil, err
}
stringLength := int32(parsedInt1)
- return model.DataItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), dataProtocolId, stringLength)
+ // TODO: find a way to parse the sub types
+ var stringEncoding string
+ return model.DataItemParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), dataProtocolId, stringLength, stringEncoding)
case "SzlId":
return model.SzlIdParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)))
case "AlarmMessageObjectAckType":
diff --git a/plc4go/protocols/s7/readwrite/model/DataItem.go b/plc4go/protocols/s7/readwrite/model/DataItem.go
index a7879462c14..5aec9ab96c6 100644
--- a/plc4go/protocols/s7/readwrite/model/DataItem.go
+++ b/plc4go/protocols/s7/readwrite/model/DataItem.go
@@ -29,11 +29,11 @@ import (
// Code generated by code-generation. DO NOT EDIT.
-func DataItemParse(ctx context.Context, theBytes []byte, dataProtocolId string, stringLength int32) (api.PlcValue, error) {
- return DataItemParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), dataProtocolId, stringLength)
+func DataItemParse(ctx context.Context, theBytes []byte, dataProtocolId string, stringLength int32, stringEncoding string) (api.PlcValue, error) {
+ return DataItemParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), dataProtocolId, stringLength, stringEncoding)
}
-func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, dataProtocolId string, stringLength int32) (api.PlcValue, error) {
+func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, dataProtocolId string, stringLength int32, stringEncoding string) (api.PlcValue, error) {
readBuffer.PullContext("DataItem")
switch {
case dataProtocolId == "IEC61131_BOOL": // BOOL
@@ -162,16 +162,16 @@ func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, d
readBuffer.CloseContext("DataItem")
return values.NewPlcLREAL(value), nil
case dataProtocolId == "IEC61131_CHAR": // CHAR
- // Simple Field (value)
- value, _valueErr := readBuffer.ReadString("value", uint32(8), "UTF-8")
+ // Manual Field (value)
+ value, _valueErr := ParseS7Char(readBuffer, "UTF-8", stringEncoding)
if _valueErr != nil {
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
readBuffer.CloseContext("DataItem")
return values.NewPlcCHAR(value), nil
case dataProtocolId == "IEC61131_WCHAR": // CHAR
- // Simple Field (value)
- value, _valueErr := readBuffer.ReadString("value", uint32(16), "UTF-16")
+ // Manual Field (value)
+ value, _valueErr := ParseS7Char(readBuffer, "UTF-16", stringEncoding)
if _valueErr != nil {
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
@@ -179,7 +179,7 @@ func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, d
return values.NewPlcCHAR(value), nil
case dataProtocolId == "IEC61131_STRING": // STRING
// Manual Field (value)
- value, _valueErr := ParseS7String(readBuffer, stringLength, "UTF-8")
+ value, _valueErr := ParseS7String(readBuffer, stringLength, "UTF-8", stringEncoding)
if _valueErr != nil {
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
@@ -187,7 +187,7 @@ func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, d
return values.NewPlcSTRING(value), nil
case dataProtocolId == "IEC61131_WSTRING": // STRING
// Manual Field (value)
- value, _valueErr := ParseS7String(readBuffer, stringLength, "UTF-16")
+ value, _valueErr := ParseS7String(readBuffer, stringLength, "UTF-16", stringEncoding)
if _valueErr != nil {
return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
}
@@ -288,21 +288,23 @@ func DataItemParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, d
return nil, errors.New("unsupported type")
}
-func DataItemSerialize(value api.PlcValue, dataProtocolId string, stringLength int32) ([]byte, error) {
+func DataItemSerialize(value api.PlcValue, dataProtocolId string, stringLength int32, stringEncoding string) ([]byte, error) {
wb := utils.NewWriteBufferByteBased()
- if err := DataItemSerializeWithWriteBuffer(context.Background(), wb, value, dataProtocolId, stringLength); err != nil {
+ if err := DataItemSerializeWithWriteBuffer(context.Background(), wb, value, dataProtocolId, stringLength, stringEncoding); err != nil {
return nil, err
}
return wb.GetBytes(), nil
}
-func DataItemSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer, value api.PlcValue, dataProtocolId string, stringLength int32) error {
+func DataItemSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer, value api.PlcValue, dataProtocolId string, stringLength int32, stringEncoding string) error {
m := struct {
DataProtocolId string
StringLength int32
+ StringEncoding string
}{
DataProtocolId: dataProtocolId,
StringLength: stringLength,
+ StringEncoding: stringEncoding,
}
_ = m
writeBuffer.PushContext("DataItem")
@@ -388,24 +390,26 @@ func DataItemSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.Wri
return errors.Wrap(_err, "Error serializing 'value' field")
}
case dataProtocolId == "IEC61131_CHAR": // CHAR
- // Simple Field (value)
- if _err := writeBuffer.WriteString("value", uint32(8), "UTF-8", value.GetString()); _err != nil {
- return errors.Wrap(_err, "Error serializing 'value' field")
+ // Manual Field (value)
+ _valueErr := SerializeS7Char(writeBuffer, value, "UTF-8", m.StringEncoding)
+ if _valueErr != nil {
+ return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
case dataProtocolId == "IEC61131_WCHAR": // CHAR
- // Simple Field (value)
- if _err := writeBuffer.WriteString("value", uint32(16), "UTF-16", value.GetString()); _err != nil {
- return errors.Wrap(_err, "Error serializing 'value' field")
+ // Manual Field (value)
+ _valueErr := SerializeS7Char(writeBuffer, value, "UTF-16", m.StringEncoding)
+ if _valueErr != nil {
+ return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
case dataProtocolId == "IEC61131_STRING": // STRING
// Manual Field (value)
- _valueErr := SerializeS7String(writeBuffer, value, stringLength, "UTF-8")
+ _valueErr := SerializeS7String(writeBuffer, value, stringLength, "UTF-8", m.StringEncoding)
if _valueErr != nil {
return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
case dataProtocolId == "IEC61131_WSTRING": // STRING
// Manual Field (value)
- _valueErr := SerializeS7String(writeBuffer, value, stringLength, "UTF-16")
+ _valueErr := SerializeS7String(writeBuffer, value, stringLength, "UTF-16", m.StringEncoding)
if _valueErr != nil {
return errors.Wrap(_valueErr, "Error serializing 'value' field")
}
diff --git a/plc4go/protocols/s7/readwrite/model/StaticHelper.go b/plc4go/protocols/s7/readwrite/model/StaticHelper.go
index 0b588648e04..90110b20095 100644
--- a/plc4go/protocols/s7/readwrite/model/StaticHelper.go
+++ b/plc4go/protocols/s7/readwrite/model/StaticHelper.go
@@ -20,9 +20,10 @@
package model
import (
+ "time"
+
"github.com/apache/plc4x/plc4go/pkg/api/values"
"github.com/apache/plc4x/plc4go/spi/utils"
- "time"
)
func ParseTiaTime(io utils.ReadBuffer) (uint32, error) {
@@ -122,33 +123,46 @@ func SerializeTiaDateTime(io utils.WriteBuffer, value values.PlcValue) error {
return nil
}
-func ParseS7String(io utils.ReadBuffer, stringLength int32, encoding string) (string, error) {
+func ParseS7String(io utils.ReadBuffer, stringLength int32, defaultEncoding string, encoding string) (string, error) {
+ usedEncoding := defaultEncoding
+ if len(encoding) > 0 {
+ usedEncoding = encoding
+ }
var multiplier int32
- switch encoding {
+ switch usedEncoding {
case "UTF-8":
multiplier = 8
case "UTF-16":
multiplier = 16
}
- return io.ReadString("", uint32(stringLength*multiplier), encoding)
+ return io.ReadString("", uint32(stringLength*multiplier), usedEncoding)
}
-func SerializeS7String(io utils.WriteBuffer, value values.PlcValue, stringLength int32, encoding string) error {
+func SerializeS7String(io utils.WriteBuffer, value values.PlcValue, stringLength int32, defaultEncoding string, encoding string) error {
+ usedEncoding := defaultEncoding
+ if len(encoding) > 0 {
+ usedEncoding = encoding
+ }
var multiplier int32
- switch encoding {
+ switch usedEncoding {
case "UTF-8":
multiplier = 8
case "UTF-16":
multiplier = 16
}
- return io.WriteString("", uint32(stringLength*multiplier), encoding, value.GetString())
+ return io.WriteString("", uint32(stringLength*multiplier), usedEncoding, value.GetString())
}
-func ParseS7Char(io utils.ReadBuffer, encoding string) (uint8, error) {
- return io.ReadUint8("", 8)
+func ParseS7Char(io utils.ReadBuffer, defaultEncoding string, encoding string) (string, error) {
+ usedEncoding := defaultEncoding
+ if len(encoding) > 0 {
+ usedEncoding = encoding
+ }
+ return io.ReadString("value", uint32(8), usedEncoding)
}
-func SerializeS7Char(io utils.WriteBuffer, value values.PlcValue, encoding string) error {
+func SerializeS7Char(io utils.WriteBuffer, value values.PlcValue, defaultEncoding string, encoding string) error {
+ // TODO: This sort of looks wrong.
return io.WriteUint8("", 8, value.GetUint8())
}
diff --git a/plc4go/protocols/s7/readwrite/model/TransportSize.go b/plc4go/protocols/s7/readwrite/model/TransportSize.go
index 1d336711ac7..a89861aa229 100644
--- a/plc4go/protocols/s7/readwrite/model/TransportSize.go
+++ b/plc4go/protocols/s7/readwrite/model/TransportSize.go
@@ -1132,19 +1132,19 @@ func (e TransportSize) DataTransportSize() DataTransportSize {
}
case 0x0C:
{ /* '0x0C' */
- return 0
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x0D:
{ /* '0x0D' */
- return 0
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x0E:
{ /* '0x0E' */
- return DataTransportSize_REAL
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x0F:
{ /* '0x0F' */
- return 0
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x10:
{ /* '0x10' */
@@ -1152,7 +1152,7 @@ func (e TransportSize) DataTransportSize() DataTransportSize {
}
case 0x11:
{ /* '0x11' */
- return 0
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x12:
{ /* '0x12' */
@@ -1160,7 +1160,7 @@ func (e TransportSize) DataTransportSize() DataTransportSize {
}
case 0x13:
{ /* '0x13' */
- return 0
+ return DataTransportSize_BYTE_WORD_DWORD
}
case 0x14:
{ /* '0x14' */
@@ -1376,11 +1376,11 @@ func (e TransportSize) BaseType() TransportSize {
}
case 0x0C:
{ /* '0x0C' */
- return TransportSize_INT
+ return 0
}
case 0x0D:
{ /* '0x0D' */
- return TransportSize_INT
+ return 0
}
case 0x0E:
{ /* '0x0E' */
diff --git a/plc4j/api/pom.xml b/plc4j/api/pom.xml
index f4efa24820a..28dd1d940f2 100644
--- a/plc4j/api/pom.xml
+++ b/plc4j/api/pom.xml
@@ -42,6 +42,9 @@
com.fasterxml.jackson.annotation;resolution:=optional,
*
+
+ *
+
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java b/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
index fc5a3c8274d..e39c6a7f9be 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/DefaultPlcDriverManager.java
@@ -71,16 +71,21 @@ public DefaultPlcDriverManager(ClassLoader classLoader) {
* @throws PlcConnectionException an exception if the connection attempt failed.
*/
public PlcConnection getConnection(String url) throws PlcConnectionException {
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(this.classLoader);
PlcConnection connection;
- try {
+ if (this.classLoader == null) {
PlcDriver driver = getDriverForUrl(url);
connection = driver.getConnection(url);
- connection.connect();
- } finally {
- Thread.currentThread().setContextClassLoader(originalClassLoader);
+ } else {
+ final ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader(classLoader);
+ try {
+ PlcDriver driver = getDriverForUrl(url);
+ connection = driver.getConnection(url);
+ } finally {
+ Thread.currentThread().setContextClassLoader(originalClassLoader);
+ }
}
+ connection.connect();
return connection;
}
@@ -93,19 +98,29 @@ public PlcConnection getConnection(String url) throws PlcConnectionException {
* @throws PlcConnectionException an exception if the connection attempt failed.
*/
public PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException {
- ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(this.classLoader);
PlcConnection connection;
- try {
+ if (this.classLoader == null) {
PlcDriver driver = getDriverForUrl(url);
- connection = driver.getConnection(url, authentication);
- connection.connect();
- } finally {
- Thread.currentThread().setContextClassLoader(originalClassLoader);
+ connection = driver.getConnection(url);
+ } else {
+ final ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader(classLoader);
+ try {
+ PlcDriver driver = getDriverForUrl(url);
+ connection = driver.getConnection(url, authentication);
+ } finally {
+ Thread.currentThread().setContextClassLoader(originalClassLoader);
+ }
}
+ connection.connect();
return connection;
}
+ @Override
+ public PlcDriverManager getDriverManager() {
+ return this;
+ }
+
/**
* Returns the codes of all of the drivers which are currently registered at the PlcDriverManager
* @return Set of driver codes for all drivers registered
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcConnectionManager.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcConnectionManager.java
index 98511ad75a8..e8515ef5a5d 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcConnectionManager.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/PlcConnectionManager.java
@@ -41,5 +41,6 @@ public interface PlcConnectionManager {
* @throws PlcConnectionException an exception if the connection attempt failed.
*/
PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException;
+ PlcDriverManager getDriverManager();
}
diff --git a/plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcTag.java b/plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcTag.java
index 5cdbd794a6a..a0cf8e959d3 100644
--- a/plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcTag.java
+++ b/plc4j/api/src/main/java/org/apache/plc4x/java/api/model/PlcTag.java
@@ -47,6 +47,15 @@ public interface PlcTag {
*/
String getAddressString();
+ /**
+ * Returns the number of elements, that this tag would be parsed from.
+ *
+ * @return the number of elements representing this Tag
+ */
+ default int getNumberOfElements(){
+ return 1;
+ }
+
/**
* Returns the "datatype" of the response one can expect from this tag.
* I.e. The mapping between this string and the PlcValue datatype is handled in the ValueHandler class.
@@ -63,6 +72,10 @@ default PlcValueType getPlcValueType() {
return PlcValueType.NULL;
}
+ @JsonIgnore
+ default void setPlcValueType(PlcValueType plcValueType){
+ }
+
/**
* Returns the number of elements to expect of the response one can expect from this field.
*
diff --git a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/tag/DirectAdsTag.java b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/tag/DirectAdsTag.java
index 9ece366ea51..bacceba34ba 100644
--- a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/tag/DirectAdsTag.java
+++ b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/tag/DirectAdsTag.java
@@ -115,6 +115,7 @@ public String getPlcDataType() {
return adsDataTypeName;
}
+ @Override
public int getNumberOfElements() {
return numberOfElements;
}
diff --git a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
index 3336e548d16..25991d8f0b4 100644
--- a/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
+++ b/plc4j/drivers/canopen/src/main/java/org/apache/plc4x/java/canopen/api/conversation/canopen/SDODownloadConversation.java
@@ -44,7 +44,7 @@ public SDODownloadConversation(CANConversation delegate, int nodeId, int answerN
try {
WriteBufferByteBased writeBuffer = new WriteBufferByteBased(DataItem.getLengthInBytes(value, type, null), ByteOrder.LITTLE_ENDIAN);
DataItem.staticSerialize(writeBuffer, value, type, null, ByteOrder.LITTLE_ENDIAN);
- data = writeBuffer.getData();
+ data = writeBuffer.getBytes();
} catch (SerializationException e) {
throw new PlcRuntimeException("Could not serialize data", e);
}
diff --git a/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/tag/FirmataTag.java b/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/tag/FirmataTag.java
index 48f7cf4f0b6..1728abe3176 100644
--- a/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/tag/FirmataTag.java
+++ b/plc4j/drivers/firmata/src/main/java/org/apache/plc4x/java/firmata/readwrite/tag/FirmataTag.java
@@ -57,6 +57,7 @@ public int getAddress() {
return address;
}
+ @Override
public int getNumberOfElements() {
return quantity;
}
diff --git a/plc4j/drivers/knxnetip/pom.xml b/plc4j/drivers/knxnetip/pom.xml
index dda734fe8e4..a45c69463da 100644
--- a/plc4j/drivers/knxnetip/pom.xml
+++ b/plc4j/drivers/knxnetip/pom.xml
@@ -161,7 +161,7 @@
org.bouncycastle
- bcprov-jdk15on
+ bcprov-jdk18on
diff --git a/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpProtocolLogic.java b/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpProtocolLogic.java
index c3eaafba966..ba6688b099c 100644
--- a/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpProtocolLogic.java
+++ b/plc4j/drivers/knxnetip/src/main/java/org/apache/plc4x/java/knxnetip/protocol/KnxNetIpProtocolLogic.java
@@ -286,7 +286,7 @@ public CompletableFuture write(PlcWriteRequest writeRequest) {
try {
final WriteBufferByteBased writeBuffer = new WriteBufferByteBased(KnxDatapoint.getLengthInBytes(value, groupAddress.getType()));
KnxDatapoint.staticSerialize(writeBuffer, value, groupAddress.getType());
- final byte[] serialized = writeBuffer.getData();
+ final byte[] serialized = writeBuffer.getBytes();
dataFirstByte = serialized[0];
data = new byte[serialized.length - 1];
System.arraycopy(serialized, 1, data, 0, serialized.length - 1);
diff --git a/plc4j/drivers/opcua/pom.xml b/plc4j/drivers/opcua/pom.xml
index 23ac7aa6cb3..cb57d776c26 100644
--- a/plc4j/drivers/opcua/pom.xml
+++ b/plc4j/drivers/opcua/pom.xml
@@ -161,11 +161,11 @@
org.bouncycastle
- bcpkix-jdk15on
+ bcpkix-jdk18on
org.bouncycastle
- bcprov-jdk15on
+ bcprov-jdk18on
@@ -193,6 +193,16 @@
org.eclipse.milo
server-examples
+
+
+ org.bouncycastle
+ bcprov-jdk15on
+
+
+ org.bouncycastle
+ bcpkix-jdk15on
+
+
test
diff --git a/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/OpcuaNodeIdServices.java b/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/OpcuaNodeIdServices.java
index 197af70fe5a..51b95b69a7d 100644
--- a/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/OpcuaNodeIdServices.java
+++ b/plc4j/drivers/opcua/src/main/generated/org/apache/plc4x/java/opcua/readwrite/OpcuaNodeIdServices.java
@@ -28,6 +28,14 @@ public enum OpcuaNodeIdServices {
AccessLevelType((int) 15031L),
AccessRestrictionType((int) 95L),
AcknowledgeableConditionType((int) 2881L),
+ ActivateSessionRequest((int) 465L),
+ ActivateSessionRequest_Encoding_DefaultBinary((int) 467L),
+ ActivateSessionRequest_Encoding_DefaultJson((int) 15145L),
+ ActivateSessionRequest_Encoding_DefaultXml((int) 466L),
+ ActivateSessionResponse((int) 468L),
+ ActivateSessionResponse_Encoding_DefaultBinary((int) 470L),
+ ActivateSessionResponse_Encoding_DefaultJson((int) 15146L),
+ ActivateSessionResponse_Encoding_DefaultXml((int) 469L),
AdditionalParametersType((int) 16313L),
AdditionalParametersType_Encoding_DefaultBinary((int) 17537L),
AdditionalParametersType_Encoding_DefaultJson((int) 17547L),
@@ -36,16 +44,44 @@ public enum OpcuaNodeIdServices {
AddNodesItem_Encoding_DefaultBinary((int) 378L),
AddNodesItem_Encoding_DefaultJson((int) 15165L),
AddNodesItem_Encoding_DefaultXml((int) 377L),
+ AddNodesRequest((int) 486L),
+ AddNodesRequest_Encoding_DefaultBinary((int) 488L),
+ AddNodesRequest_Encoding_DefaultJson((int) 15167L),
+ AddNodesRequest_Encoding_DefaultXml((int) 487L),
+ AddNodesResponse((int) 489L),
+ AddNodesResponse_Encoding_DefaultBinary((int) 491L),
+ AddNodesResponse_Encoding_DefaultJson((int) 15168L),
+ AddNodesResponse_Encoding_DefaultXml((int) 490L),
+ AddNodesResult((int) 483L),
+ AddNodesResult_Encoding_DefaultBinary((int) 485L),
+ AddNodesResult_Encoding_DefaultJson((int) 15166L),
+ AddNodesResult_Encoding_DefaultXml((int) 484L),
AddReferencesItem((int) 379L),
AddReferencesItem_Encoding_DefaultBinary((int) 381L),
AddReferencesItem_Encoding_DefaultJson((int) 15169L),
AddReferencesItem_Encoding_DefaultXml((int) 380L),
+ AddReferencesRequest((int) 492L),
+ AddReferencesRequest_Encoding_DefaultBinary((int) 494L),
+ AddReferencesRequest_Encoding_DefaultJson((int) 15170L),
+ AddReferencesRequest_Encoding_DefaultXml((int) 493L),
+ AddReferencesResponse((int) 495L),
+ AddReferencesResponse_Encoding_DefaultBinary((int) 497L),
+ AddReferencesResponse_Encoding_DefaultJson((int) 15171L),
+ AddReferencesResponse_Encoding_DefaultXml((int) 496L),
AddressSpaceFileType((int) 11595L),
AggregateConfiguration((int) 948L),
AggregateConfiguration_Encoding_DefaultBinary((int) 950L),
AggregateConfiguration_Encoding_DefaultJson((int) 15304L),
AggregateConfiguration_Encoding_DefaultXml((int) 949L),
AggregateConfigurationType((int) 11187L),
+ AggregateFilter((int) 728L),
+ AggregateFilter_Encoding_DefaultBinary((int) 730L),
+ AggregateFilter_Encoding_DefaultJson((int) 15312L),
+ AggregateFilter_Encoding_DefaultXml((int) 729L),
+ AggregateFilterResult((int) 737L),
+ AggregateFilterResult_Encoding_DefaultBinary((int) 739L),
+ AggregateFilterResult_Encoding_DefaultJson((int) 15315L),
+ AggregateFilterResult_Encoding_DefaultXml((int) 738L),
AggregateFunction_AnnotationCount((int) 2351L),
AggregateFunction_Average((int) 2342L),
AggregateFunction_Count((int) 2352L),
@@ -216,6 +252,44 @@ public enum OpcuaNodeIdServices {
BrokerWriterGroupTransportDataType_Encoding_DefaultJson((int) 16524L),
BrokerWriterGroupTransportDataType_Encoding_DefaultXml((int) 16021L),
BrokerWriterGroupTransportType((int) 21136L),
+ BrowseDescription((int) 514L),
+ BrowseDescription_Encoding_DefaultBinary((int) 516L),
+ BrowseDescription_Encoding_DefaultJson((int) 15180L),
+ BrowseDescription_Encoding_DefaultXml((int) 515L),
+ BrowseDirection((int) 510L),
+ BrowseNextRequest((int) 531L),
+ BrowseNextRequest_Encoding_DefaultBinary((int) 533L),
+ BrowseNextRequest_Encoding_DefaultJson((int) 15186L),
+ BrowseNextRequest_Encoding_DefaultXml((int) 532L),
+ BrowseNextResponse((int) 534L),
+ BrowseNextResponse_Encoding_DefaultBinary((int) 536L),
+ BrowseNextResponse_Encoding_DefaultJson((int) 15187L),
+ BrowseNextResponse_Encoding_DefaultXml((int) 535L),
+ BrowsePath((int) 543L),
+ BrowsePath_Encoding_DefaultBinary((int) 545L),
+ BrowsePath_Encoding_DefaultJson((int) 15190L),
+ BrowsePath_Encoding_DefaultXml((int) 544L),
+ BrowsePathResult((int) 549L),
+ BrowsePathResult_Encoding_DefaultBinary((int) 551L),
+ BrowsePathResult_Encoding_DefaultJson((int) 15192L),
+ BrowsePathResult_Encoding_DefaultXml((int) 550L),
+ BrowsePathTarget((int) 546L),
+ BrowsePathTarget_Encoding_DefaultBinary((int) 548L),
+ BrowsePathTarget_Encoding_DefaultJson((int) 15191L),
+ BrowsePathTarget_Encoding_DefaultXml((int) 547L),
+ BrowseRequest((int) 525L),
+ BrowseRequest_Encoding_DefaultBinary((int) 527L),
+ BrowseRequest_Encoding_DefaultJson((int) 15184L),
+ BrowseRequest_Encoding_DefaultXml((int) 526L),
+ BrowseResponse((int) 528L),
+ BrowseResponse_Encoding_DefaultBinary((int) 530L),
+ BrowseResponse_Encoding_DefaultJson((int) 15185L),
+ BrowseResponse_Encoding_DefaultXml((int) 529L),
+ BrowseResult((int) 522L),
+ BrowseResult_Encoding_DefaultBinary((int) 524L),
+ BrowseResult_Encoding_DefaultJson((int) 15183L),
+ BrowseResult_Encoding_DefaultXml((int) 523L),
+ BrowseResultMask((int) 517L),
BuildInfo((int) 338L),
BuildInfo_Encoding_DefaultBinary((int) 340L),
BuildInfo_Encoding_DefaultJson((int) 15361L),
@@ -223,6 +297,30 @@ public enum OpcuaNodeIdServices {
BuildInfoType((int) 3051L),
Byte((int) 3L),
ByteString((int) 15L),
+ CallMethodRequest((int) 704L),
+ CallMethodRequest_Encoding_DefaultBinary((int) 706L),
+ CallMethodRequest_Encoding_DefaultJson((int) 15289L),
+ CallMethodRequest_Encoding_DefaultXml((int) 705L),
+ CallMethodResult((int) 707L),
+ CallMethodResult_Encoding_DefaultBinary((int) 709L),
+ CallMethodResult_Encoding_DefaultJson((int) 15290L),
+ CallMethodResult_Encoding_DefaultXml((int) 708L),
+ CallRequest((int) 710L),
+ CallRequest_Encoding_DefaultBinary((int) 712L),
+ CallRequest_Encoding_DefaultJson((int) 15291L),
+ CallRequest_Encoding_DefaultXml((int) 711L),
+ CallResponse((int) 713L),
+ CallResponse_Encoding_DefaultBinary((int) 715L),
+ CallResponse_Encoding_DefaultJson((int) 15292L),
+ CallResponse_Encoding_DefaultXml((int) 714L),
+ CancelRequest((int) 477L),
+ CancelRequest_Encoding_DefaultBinary((int) 479L),
+ CancelRequest_Encoding_DefaultJson((int) 15149L),
+ CancelRequest_Encoding_DefaultXml((int) 478L),
+ CancelResponse((int) 480L),
+ CancelResponse_Encoding_DefaultBinary((int) 482L),
+ CancelResponse_Encoding_DefaultJson((int) 15150L),
+ CancelResponse_Encoding_DefaultXml((int) 481L),
CartesianCoordinates((int) 18809L),
CartesianCoordinates_Encoding_DefaultBinary((int) 18818L),
CartesianCoordinates_Encoding_DefaultJson((int) 19067L),
@@ -233,7 +331,27 @@ public enum OpcuaNodeIdServices {
CertificateGroupType((int) 12555L),
CertificateType((int) 12556L),
CertificateUpdatedAuditEventType((int) 12620L),
+ ChannelSecurityToken((int) 441L),
+ ChannelSecurityToken_Encoding_DefaultBinary((int) 443L),
+ ChannelSecurityToken_Encoding_DefaultJson((int) 15131L),
+ ChannelSecurityToken_Encoding_DefaultXml((int) 442L),
ChoiceStateType((int) 15109L),
+ CloseSecureChannelRequest((int) 450L),
+ CloseSecureChannelRequest_Encoding_DefaultBinary((int) 452L),
+ CloseSecureChannelRequest_Encoding_DefaultJson((int) 15134L),
+ CloseSecureChannelRequest_Encoding_DefaultXml((int) 451L),
+ CloseSecureChannelResponse((int) 453L),
+ CloseSecureChannelResponse_Encoding_DefaultBinary((int) 455L),
+ CloseSecureChannelResponse_Encoding_DefaultJson((int) 15135L),
+ CloseSecureChannelResponse_Encoding_DefaultXml((int) 454L),
+ CloseSessionRequest((int) 471L),
+ CloseSessionRequest_Encoding_DefaultBinary((int) 473L),
+ CloseSessionRequest_Encoding_DefaultJson((int) 15147L),
+ CloseSessionRequest_Encoding_DefaultXml((int) 472L),
+ CloseSessionResponse((int) 474L),
+ CloseSessionResponse_Encoding_DefaultBinary((int) 476L),
+ CloseSessionResponse_Encoding_DefaultJson((int) 15148L),
+ CloseSessionResponse_Encoding_DefaultXml((int) 475L),
Communication((int) 24227L),
ComplexNumberType((int) 12171L),
ComplexNumberType_Encoding_DefaultBinary((int) 12181L),
@@ -258,14 +376,55 @@ public enum OpcuaNodeIdServices {
ContentFilterElement_Encoding_DefaultBinary((int) 585L),
ContentFilterElement_Encoding_DefaultJson((int) 15204L),
ContentFilterElement_Encoding_DefaultXml((int) 584L),
+ ContentFilterElementResult((int) 604L),
+ ContentFilterElementResult_Encoding_DefaultBinary((int) 606L),
+ ContentFilterElementResult_Encoding_DefaultJson((int) 15211L),
+ ContentFilterElementResult_Encoding_DefaultXml((int) 605L),
+ ContentFilterResult((int) 607L),
+ ContentFilterResult_Encoding_DefaultBinary((int) 609L),
+ ContentFilterResult_Encoding_DefaultJson((int) 15228L),
+ ContentFilterResult_Encoding_DefaultXml((int) 608L),
ContinuationPoint((int) 521L),
Counter((int) 289L),
+ CreateMonitoredItemsRequest((int) 749L),
+ CreateMonitoredItemsRequest_Encoding_DefaultBinary((int) 751L),
+ CreateMonitoredItemsRequest_Encoding_DefaultJson((int) 15323L),
+ CreateMonitoredItemsRequest_Encoding_DefaultXml((int) 750L),
+ CreateMonitoredItemsResponse((int) 752L),
+ CreateMonitoredItemsResponse_Encoding_DefaultBinary((int) 754L),
+ CreateMonitoredItemsResponse_Encoding_DefaultJson((int) 15324L),
+ CreateMonitoredItemsResponse_Encoding_DefaultXml((int) 753L),
+ CreateSessionRequest((int) 459L),
+ CreateSessionRequest_Encoding_DefaultBinary((int) 461L),
+ CreateSessionRequest_Encoding_DefaultJson((int) 15138L),
+ CreateSessionRequest_Encoding_DefaultXml((int) 460L),
+ CreateSessionResponse((int) 462L),
+ CreateSessionResponse_Encoding_DefaultBinary((int) 464L),
+ CreateSessionResponse_Encoding_DefaultJson((int) 15139L),
+ CreateSessionResponse_Encoding_DefaultXml((int) 463L),
+ CreateSubscriptionRequest((int) 785L),
+ CreateSubscriptionRequest_Encoding_DefaultBinary((int) 787L),
+ CreateSubscriptionRequest_Encoding_DefaultJson((int) 15337L),
+ CreateSubscriptionRequest_Encoding_DefaultXml((int) 786L),
+ CreateSubscriptionResponse((int) 788L),
+ CreateSubscriptionResponse_Encoding_DefaultBinary((int) 790L),
+ CreateSubscriptionResponse_Encoding_DefaultJson((int) 15338L),
+ CreateSubscriptionResponse_Encoding_DefaultXml((int) 789L),
CubeItemType((int) 12057L),
CurrencyUnit((int) 23501L),
CurrencyUnitType((int) 23498L),
CurrencyUnitType_Encoding_DefaultBinary((int) 23507L),
CurrencyUnitType_Encoding_DefaultJson((int) 23528L),
CurrencyUnitType_Encoding_DefaultXml((int) 23520L),
+ DataChangeFilter((int) 722L),
+ DataChangeFilter_Encoding_DefaultBinary((int) 724L),
+ DataChangeFilter_Encoding_DefaultJson((int) 15294L),
+ DataChangeFilter_Encoding_DefaultXml((int) 723L),
+ DataChangeNotification((int) 809L),
+ DataChangeNotification_Encoding_DefaultBinary((int) 811L),
+ DataChangeNotification_Encoding_DefaultJson((int) 15345L),
+ DataChangeNotification_Encoding_DefaultXml((int) 810L),
+ DataChangeTrigger((int) 717L),
DatagramConnectionTransportDataType((int) 17467L),
DatagramConnectionTransportDataType_Encoding_DefaultBinary((int) 17468L),
DatagramConnectionTransportDataType_Encoding_DefaultJson((int) 17476L),
@@ -316,6 +475,10 @@ public enum OpcuaNodeIdServices {
DataSetWriterTransportDataType_Encoding_DefaultXml((int) 15956L),
DataSetWriterTransportType((int) 15305L),
DataSetWriterType((int) 15298L),
+ DataTypeAttributes((int) 370L),
+ DataTypeAttributes_Encoding_DefaultBinary((int) 372L),
+ DataTypeAttributes_Encoding_DefaultJson((int) 15161L),
+ DataTypeAttributes_Encoding_DefaultXml((int) 371L),
DataTypeDefinition((int) 97L),
DataTypeDefinition_Encoding_DefaultBinary((int) 121L),
DataTypeDefinition_Encoding_DefaultJson((int) 15063L),
@@ -327,6 +490,10 @@ public enum OpcuaNodeIdServices {
DataTypeDescriptionType((int) 69L),
DataTypeDictionaryType((int) 72L),
DataTypeEncodingType((int) 76L),
+ DataTypeNode((int) 282L),
+ DataTypeNode_Encoding_DefaultBinary((int) 284L),
+ DataTypeNode_Encoding_DefaultJson((int) 15079L),
+ DataTypeNode_Encoding_DefaultXml((int) 283L),
DataTypeSchemaHeader((int) 15534L),
DataTypeSchemaHeader_Encoding_DefaultBinary((int) 15676L),
DataTypeSchemaHeader_Encoding_DefaultJson((int) 16151L),
@@ -337,19 +504,68 @@ public enum OpcuaNodeIdServices {
Date((int) 293L),
DateString((int) 12881L),
DateTime((int) 13L),
+ DeadbandType((int) 718L),
Decimal((int) 50L),
+ DecimalDataType((int) 17861L),
+ DecimalDataType_Encoding_DefaultBinary((int) 17863L),
+ DecimalDataType_Encoding_DefaultJson((int) 15045L),
+ DecimalDataType_Encoding_DefaultXml((int) 17862L),
DecimalString((int) 12878L),
DefaultBinary((int) 3062L),
DefaultInstanceBrowseName((int) 17605L),
DefaultXml((int) 3063L),
+ DeleteAtTimeDetails((int) 689L),
+ DeleteAtTimeDetails_Encoding_DefaultBinary((int) 691L),
+ DeleteAtTimeDetails_Encoding_DefaultJson((int) 15284L),
+ DeleteAtTimeDetails_Encoding_DefaultXml((int) 690L),
+ DeleteEventDetails((int) 692L),
+ DeleteEventDetails_Encoding_DefaultBinary((int) 694L),
+ DeleteEventDetails_Encoding_DefaultJson((int) 15285L),
+ DeleteEventDetails_Encoding_DefaultXml((int) 693L),
+ DeleteMonitoredItemsRequest((int) 779L),
+ DeleteMonitoredItemsRequest_Encoding_DefaultBinary((int) 781L),
+ DeleteMonitoredItemsRequest_Encoding_DefaultJson((int) 15335L),
+ DeleteMonitoredItemsRequest_Encoding_DefaultXml((int) 780L),
+ DeleteMonitoredItemsResponse((int) 782L),
+ DeleteMonitoredItemsResponse_Encoding_DefaultBinary((int) 784L),
+ DeleteMonitoredItemsResponse_Encoding_DefaultJson((int) 15336L),
+ DeleteMonitoredItemsResponse_Encoding_DefaultXml((int) 783L),
DeleteNodesItem((int) 382L),
DeleteNodesItem_Encoding_DefaultBinary((int) 384L),
DeleteNodesItem_Encoding_DefaultJson((int) 15172L),
DeleteNodesItem_Encoding_DefaultXml((int) 383L),
+ DeleteNodesRequest((int) 498L),
+ DeleteNodesRequest_Encoding_DefaultBinary((int) 500L),
+ DeleteNodesRequest_Encoding_DefaultJson((int) 15173L),
+ DeleteNodesRequest_Encoding_DefaultXml((int) 499L),
+ DeleteNodesResponse((int) 501L),
+ DeleteNodesResponse_Encoding_DefaultBinary((int) 503L),
+ DeleteNodesResponse_Encoding_DefaultJson((int) 15174L),
+ DeleteNodesResponse_Encoding_DefaultXml((int) 502L),
+ DeleteRawModifiedDetails((int) 686L),
+ DeleteRawModifiedDetails_Encoding_DefaultBinary((int) 688L),
+ DeleteRawModifiedDetails_Encoding_DefaultJson((int) 15283L),
+ DeleteRawModifiedDetails_Encoding_DefaultXml((int) 687L),
DeleteReferencesItem((int) 385L),
DeleteReferencesItem_Encoding_DefaultBinary((int) 387L),
DeleteReferencesItem_Encoding_DefaultJson((int) 15175L),
DeleteReferencesItem_Encoding_DefaultXml((int) 386L),
+ DeleteReferencesRequest((int) 504L),
+ DeleteReferencesRequest_Encoding_DefaultBinary((int) 506L),
+ DeleteReferencesRequest_Encoding_DefaultJson((int) 15176L),
+ DeleteReferencesRequest_Encoding_DefaultXml((int) 505L),
+ DeleteReferencesResponse((int) 507L),
+ DeleteReferencesResponse_Encoding_DefaultBinary((int) 509L),
+ DeleteReferencesResponse_Encoding_DefaultJson((int) 15177L),
+ DeleteReferencesResponse_Encoding_DefaultXml((int) 508L),
+ DeleteSubscriptionsRequest((int) 845L),
+ DeleteSubscriptionsRequest_Encoding_DefaultBinary((int) 847L),
+ DeleteSubscriptionsRequest_Encoding_DefaultJson((int) 15359L),
+ DeleteSubscriptionsRequest_Encoding_DefaultXml((int) 846L),
+ DeleteSubscriptionsResponse((int) 848L),
+ DeleteSubscriptionsResponse_Encoding_DefaultBinary((int) 850L),
+ DeleteSubscriptionsResponse_Encoding_DefaultJson((int) 15360L),
+ DeleteSubscriptionsResponse_Encoding_DefaultXml((int) 849L),
DeviceFailureEventType((int) 2131L),
DiagnosticInfo((int) 25L),
DiagnosticsLevel((int) 19723L),
@@ -377,6 +593,7 @@ public enum OpcuaNodeIdServices {
EccBrainpoolP384r1ApplicationCertificateType((int) 23541L),
EccCurve25519ApplicationCertificateType((int) 23542L),
EccCurve448ApplicationCertificateType((int) 23543L),
+ EccEncryptedSecret((int) 17546L),
EccNistP256ApplicationCertificateType((int) 23538L),
EccNistP384ApplicationCertificateType((int) 23539L),
ElementOperand((int) 592L),
@@ -428,10 +645,22 @@ public enum OpcuaNodeIdServices {
EUInformation_Encoding_DefaultBinary((int) 889L),
EUInformation_Encoding_DefaultJson((int) 15376L),
EUInformation_Encoding_DefaultXml((int) 888L),
+ EventFieldList((int) 917L),
+ EventFieldList_Encoding_DefaultBinary((int) 919L),
+ EventFieldList_Encoding_DefaultJson((int) 15348L),
+ EventFieldList_Encoding_DefaultXml((int) 918L),
EventFilter((int) 725L),
EventFilter_Encoding_DefaultBinary((int) 727L),
EventFilter_Encoding_DefaultJson((int) 15295L),
EventFilter_Encoding_DefaultXml((int) 726L),
+ EventFilterResult((int) 734L),
+ EventFilterResult_Encoding_DefaultBinary((int) 736L),
+ EventFilterResult_Encoding_DefaultJson((int) 15314L),
+ EventFilterResult_Encoding_DefaultXml((int) 735L),
+ EventNotificationList((int) 914L),
+ EventNotificationList_Encoding_DefaultBinary((int) 916L),
+ EventNotificationList_Encoding_DefaultJson((int) 15347L),
+ EventNotificationList_Encoding_DefaultXml((int) 915L),
EventNotifierType((int) 15033L),
EventQueueOverflowEventType((int) 3035L),
EventTypesFolder((int) 3048L),
@@ -461,6 +690,22 @@ public enum OpcuaNodeIdServices {
FilterOperand_Encoding_DefaultJson((int) 15206L),
FilterOperand_Encoding_DefaultXml((int) 590L),
FilterOperator((int) 576L),
+ FindServersOnNetworkRequest((int) 12190L),
+ FindServersOnNetworkRequest_Encoding_DefaultBinary((int) 12208L),
+ FindServersOnNetworkRequest_Encoding_DefaultJson((int) 15096L),
+ FindServersOnNetworkRequest_Encoding_DefaultXml((int) 12196L),
+ FindServersOnNetworkResponse((int) 12191L),
+ FindServersOnNetworkResponse_Encoding_DefaultBinary((int) 12209L),
+ FindServersOnNetworkResponse_Encoding_DefaultJson((int) 15097L),
+ FindServersOnNetworkResponse_Encoding_DefaultXml((int) 12197L),
+ FindServersRequest((int) 420L),
+ FindServersRequest_Encoding_DefaultBinary((int) 422L),
+ FindServersRequest_Encoding_DefaultJson((int) 15093L),
+ FindServersRequest_Encoding_DefaultXml((int) 421L),
+ FindServersResponse((int) 423L),
+ FindServersResponse_Encoding_DefaultBinary((int) 425L),
+ FindServersResponse_Encoding_DefaultJson((int) 15094L),
+ FindServersResponse_Encoding_DefaultXml((int) 424L),
FiniteStateMachineType((int) 2771L),
FiniteStateVariableType((int) 2760L),
FiniteTransitionVariableType((int) 2767L),
@@ -474,6 +719,22 @@ public enum OpcuaNodeIdServices {
FromState((int) 51L),
GeneralModelChangeEventType((int) 2133L),
GeneratesEvent((int) 41L),
+ GenericAttributes((int) 17607L),
+ GenericAttributes_Encoding_DefaultBinary((int) 17611L),
+ GenericAttributes_Encoding_DefaultJson((int) 15164L),
+ GenericAttributes_Encoding_DefaultXml((int) 17609L),
+ GenericAttributeValue((int) 17606L),
+ GenericAttributeValue_Encoding_DefaultBinary((int) 17610L),
+ GenericAttributeValue_Encoding_DefaultJson((int) 15163L),
+ GenericAttributeValue_Encoding_DefaultXml((int) 17608L),
+ GetEndpointsRequest((int) 426L),
+ GetEndpointsRequest_Encoding_DefaultBinary((int) 428L),
+ GetEndpointsRequest_Encoding_DefaultJson((int) 15100L),
+ GetEndpointsRequest_Encoding_DefaultXml((int) 427L),
+ GetEndpointsResponse((int) 429L),
+ GetEndpointsResponse_Encoding_DefaultBinary((int) 431L),
+ GetEndpointsResponse_Encoding_DefaultJson((int) 15101L),
+ GetEndpointsResponse_Encoding_DefaultXml((int) 430L),
GuardVariableType((int) 15113L),
Guid((int) 14L),
HAConfiguration((int) 11202L),
@@ -515,6 +776,10 @@ public enum OpcuaNodeIdServices {
HighlyManagedAlarmConditionClassType((int) 17219L),
HistoricalDataConfigurationType((int) 2318L),
HistoricalEventFilter((int) 11215L),
+ HistoryData((int) 656L),
+ HistoryData_Encoding_DefaultBinary((int) 658L),
+ HistoryData_Encoding_DefaultJson((int) 15270L),
+ HistoryData_Encoding_DefaultXml((int) 657L),
HistoryEvent((int) 659L),
HistoryEvent_Encoding_DefaultBinary((int) 661L),
HistoryEvent_Encoding_DefaultJson((int) 15273L),
@@ -523,8 +788,48 @@ public enum OpcuaNodeIdServices {
HistoryEventFieldList_Encoding_DefaultBinary((int) 922L),
HistoryEventFieldList_Encoding_DefaultJson((int) 15349L),
HistoryEventFieldList_Encoding_DefaultXml((int) 921L),
+ HistoryModifiedData((int) 11217L),
+ HistoryModifiedData_Encoding_DefaultBinary((int) 11227L),
+ HistoryModifiedData_Encoding_DefaultJson((int) 15272L),
+ HistoryModifiedData_Encoding_DefaultXml((int) 11219L),
+ HistoryReadDetails((int) 641L),
+ HistoryReadDetails_Encoding_DefaultBinary((int) 643L),
+ HistoryReadDetails_Encoding_DefaultJson((int) 15261L),
+ HistoryReadDetails_Encoding_DefaultXml((int) 642L),
+ HistoryReadRequest((int) 662L),
+ HistoryReadRequest_Encoding_DefaultBinary((int) 664L),
+ HistoryReadRequest_Encoding_DefaultJson((int) 15274L),
+ HistoryReadRequest_Encoding_DefaultXml((int) 663L),
+ HistoryReadResponse((int) 665L),
+ HistoryReadResponse_Encoding_DefaultBinary((int) 667L),
+ HistoryReadResponse_Encoding_DefaultJson((int) 15275L),
+ HistoryReadResponse_Encoding_DefaultXml((int) 666L),
+ HistoryReadResult((int) 638L),
+ HistoryReadResult_Encoding_DefaultBinary((int) 640L),
+ HistoryReadResult_Encoding_DefaultJson((int) 15260L),
+ HistoryReadResult_Encoding_DefaultXml((int) 639L),
+ HistoryReadValueId((int) 635L),
+ HistoryReadValueId_Encoding_DefaultBinary((int) 637L),
+ HistoryReadValueId_Encoding_DefaultJson((int) 15259L),
+ HistoryReadValueId_Encoding_DefaultXml((int) 636L),
HistoryServerCapabilities((int) 11192L),
HistoryServerCapabilitiesType((int) 2330L),
+ HistoryUpdateDetails((int) 677L),
+ HistoryUpdateDetails_Encoding_DefaultBinary((int) 679L),
+ HistoryUpdateDetails_Encoding_DefaultJson((int) 15279L),
+ HistoryUpdateDetails_Encoding_DefaultXml((int) 678L),
+ HistoryUpdateRequest((int) 698L),
+ HistoryUpdateRequest_Encoding_DefaultBinary((int) 700L),
+ HistoryUpdateRequest_Encoding_DefaultJson((int) 15287L),
+ HistoryUpdateRequest_Encoding_DefaultXml((int) 699L),
+ HistoryUpdateResponse((int) 701L),
+ HistoryUpdateResponse_Encoding_DefaultBinary((int) 703L),
+ HistoryUpdateResponse_Encoding_DefaultJson((int) 15288L),
+ HistoryUpdateResponse_Encoding_DefaultXml((int) 702L),
+ HistoryUpdateResult((int) 695L),
+ HistoryUpdateResult_Encoding_DefaultBinary((int) 697L),
+ HistoryUpdateResult_Encoding_DefaultJson((int) 15286L),
+ HistoryUpdateResult_Encoding_DefaultXml((int) 696L),
HistoryUpdateType((int) 11234L),
HttpsCertificateType((int) 12558L),
IBaseEthernetCapabilitiesType((int) 24167L),
@@ -555,6 +860,10 @@ public enum OpcuaNodeIdServices {
Index((int) 17588L),
InitialStateType((int) 2309L),
InputArguments((int) 3072L),
+ InstanceNode((int) 11879L),
+ InstanceNode_Encoding_DefaultBinary((int) 11889L),
+ InstanceNode_Encoding_DefaultJson((int) 15069L),
+ InstanceNode_Encoding_DefaultXml((int) 11887L),
InstrumentDiagnosticAlarmType((int) 18347L),
Int16((int) 4L),
Int32((int) 6L),
@@ -619,20 +928,78 @@ public enum OpcuaNodeIdServices {
MdnsDiscoveryConfiguration_Encoding_DefaultJson((int) 15106L),
MdnsDiscoveryConfiguration_Encoding_DefaultXml((int) 12893L),
MessageSecurityMode((int) 302L),
+ MethodAttributes((int) 358L),
+ MethodAttributes_Encoding_DefaultBinary((int) 360L),
+ MethodAttributes_Encoding_DefaultJson((int) 15157L),
+ MethodAttributes_Encoding_DefaultXml((int) 359L),
+ MethodNode((int) 276L),
+ MethodNode_Encoding_DefaultBinary((int) 278L),
+ MethodNode_Encoding_DefaultJson((int) 15077L),
+ MethodNode_Encoding_DefaultXml((int) 277L),
ModelChangeStructureDataType((int) 877L),
ModelChangeStructureDataType_Encoding_DefaultBinary((int) 879L),
ModelChangeStructureDataType_Encoding_DefaultJson((int) 15373L),
ModelChangeStructureDataType_Encoding_DefaultXml((int) 878L),
+ ModelChangeStructureVerbMask((int) 11941L),
ModellingRule_ExposesItsArray((int) 83L),
ModellingRule_Mandatory((int) 78L),
ModellingRule_MandatoryPlaceholder((int) 11510L),
ModellingRule_Optional((int) 80L),
ModellingRule_OptionalPlaceholder((int) 11508L),
ModellingRuleType((int) 77L),
+ ModificationInfo((int) 11216L),
+ ModificationInfo_Encoding_DefaultBinary((int) 11226L),
+ ModificationInfo_Encoding_DefaultJson((int) 15271L),
+ ModificationInfo_Encoding_DefaultXml((int) 11218L),
+ ModifyMonitoredItemsRequest((int) 761L),
+ ModifyMonitoredItemsRequest_Encoding_DefaultBinary((int) 763L),
+ ModifyMonitoredItemsRequest_Encoding_DefaultJson((int) 15327L),
+ ModifyMonitoredItemsRequest_Encoding_DefaultXml((int) 762L),
+ ModifyMonitoredItemsResponse((int) 764L),
+ ModifyMonitoredItemsResponse_Encoding_DefaultBinary((int) 766L),
+ ModifyMonitoredItemsResponse_Encoding_DefaultJson((int) 15328L),
+ ModifyMonitoredItemsResponse_Encoding_DefaultXml((int) 765L),
+ ModifySubscriptionRequest((int) 791L),
+ ModifySubscriptionRequest_Encoding_DefaultBinary((int) 793L),
+ ModifySubscriptionRequest_Encoding_DefaultJson((int) 15339L),
+ ModifySubscriptionRequest_Encoding_DefaultXml((int) 792L),
+ ModifySubscriptionResponse((int) 794L),
+ ModifySubscriptionResponse_Encoding_DefaultBinary((int) 796L),
+ ModifySubscriptionResponse_Encoding_DefaultJson((int) 15340L),
+ ModifySubscriptionResponse_Encoding_DefaultXml((int) 795L),
+ MonitoredItemCreateRequest((int) 743L),
+ MonitoredItemCreateRequest_Encoding_DefaultBinary((int) 745L),
+ MonitoredItemCreateRequest_Encoding_DefaultJson((int) 15321L),
+ MonitoredItemCreateRequest_Encoding_DefaultXml((int) 744L),
+ MonitoredItemCreateResult((int) 746L),
+ MonitoredItemCreateResult_Encoding_DefaultBinary((int) 748L),
+ MonitoredItemCreateResult_Encoding_DefaultJson((int) 15322L),
+ MonitoredItemCreateResult_Encoding_DefaultXml((int) 747L),
+ MonitoredItemModifyRequest((int) 755L),
+ MonitoredItemModifyRequest_Encoding_DefaultBinary((int) 757L),
+ MonitoredItemModifyRequest_Encoding_DefaultJson((int) 15325L),
+ MonitoredItemModifyRequest_Encoding_DefaultXml((int) 756L),
+ MonitoredItemModifyResult((int) 758L),
+ MonitoredItemModifyResult_Encoding_DefaultBinary((int) 760L),
+ MonitoredItemModifyResult_Encoding_DefaultJson((int) 15326L),
+ MonitoredItemModifyResult_Encoding_DefaultXml((int) 759L),
+ MonitoredItemNotification((int) 806L),
+ MonitoredItemNotification_Encoding_DefaultBinary((int) 808L),
+ MonitoredItemNotification_Encoding_DefaultJson((int) 15346L),
+ MonitoredItemNotification_Encoding_DefaultXml((int) 807L),
MonitoringFilter((int) 719L),
MonitoringFilter_Encoding_DefaultBinary((int) 721L),
MonitoringFilter_Encoding_DefaultJson((int) 15293L),
MonitoringFilter_Encoding_DefaultXml((int) 720L),
+ MonitoringFilterResult((int) 731L),
+ MonitoringFilterResult_Encoding_DefaultBinary((int) 733L),
+ MonitoringFilterResult_Encoding_DefaultJson((int) 15313L),
+ MonitoringFilterResult_Encoding_DefaultXml((int) 732L),
+ MonitoringMode((int) 716L),
+ MonitoringParameters((int) 740L),
+ MonitoringParameters_Encoding_DefaultBinary((int) 742L),
+ MonitoringParameters_Encoding_DefaultJson((int) 15320L),
+ MonitoringParameters_Encoding_DefaultXml((int) 741L),
MultiStateDictionaryEntryDiscreteBaseType((int) 19077L),
MultiStateDictionaryEntryDiscreteType((int) 19084L),
MultiStateDiscreteType((int) 2376L),
@@ -657,9 +1024,25 @@ public enum OpcuaNodeIdServices {
NetworkGroupDataType_Encoding_DefaultJson((int) 15364L),
NetworkGroupDataType_Encoding_DefaultXml((int) 11950L),
NetworkInterfaces((int) 24229L),
+ Node((int) 258L),
+ Node_Encoding_DefaultBinary((int) 260L),
+ Node_Encoding_DefaultJson((int) 15068L),
+ Node_Encoding_DefaultXml((int) 259L),
+ NodeAttributes((int) 349L),
+ NodeAttributes_Encoding_DefaultBinary((int) 351L),
+ NodeAttributes_Encoding_DefaultJson((int) 15151L),
+ NodeAttributes_Encoding_DefaultXml((int) 350L),
NodeAttributesMask((int) 348L),
NodeClass((int) 257L),
NodeId((int) 17L),
+ NodeReference((int) 580L),
+ NodeReference_Encoding_DefaultBinary((int) 582L),
+ NodeReference_Encoding_DefaultJson((int) 15203L),
+ NodeReference_Encoding_DefaultXml((int) 581L),
+ NodeTypeDescription((int) 573L),
+ NodeTypeDescription_Encoding_DefaultBinary((int) 575L),
+ NodeTypeDescription_Encoding_DefaultJson((int) 15201L),
+ NodeTypeDescription_Encoding_DefaultXml((int) 574L),
NodeVersion((int) 3068L),
NonExclusiveDeviationAlarmType((int) 10368L),
NonExclusiveLevelAlarmType((int) 10060L),
@@ -669,9 +1052,33 @@ public enum OpcuaNodeIdServices {
NonTransparentNetworkRedundancyType((int) 11945L),
NonTransparentRedundancyType((int) 2039L),
NormalizedString((int) 12877L),
+ NotificationData((int) 945L),
+ NotificationData_Encoding_DefaultBinary((int) 947L),
+ NotificationData_Encoding_DefaultJson((int) 15344L),
+ NotificationData_Encoding_DefaultXml((int) 946L),
+ NotificationMessage((int) 803L),
+ NotificationMessage_Encoding_DefaultBinary((int) 805L),
+ NotificationMessage_Encoding_DefaultJson((int) 15343L),
+ NotificationMessage_Encoding_DefaultXml((int) 804L),
Number((int) 26L),
NumericRange((int) 291L),
+ ObjectAttributes((int) 352L),
+ ObjectAttributes_Encoding_DefaultBinary((int) 354L),
+ ObjectAttributes_Encoding_DefaultJson((int) 15152L),
+ ObjectAttributes_Encoding_DefaultXml((int) 353L),
+ ObjectNode((int) 261L),
+ ObjectNode_Encoding_DefaultBinary((int) 263L),
+ ObjectNode_Encoding_DefaultJson((int) 15071L),
+ ObjectNode_Encoding_DefaultXml((int) 262L),
ObjectsFolder((int) 85L),
+ ObjectTypeAttributes((int) 361L),
+ ObjectTypeAttributes_Encoding_DefaultBinary((int) 363L),
+ ObjectTypeAttributes_Encoding_DefaultJson((int) 15158L),
+ ObjectTypeAttributes_Encoding_DefaultXml((int) 362L),
+ ObjectTypeNode((int) 264L),
+ ObjectTypeNode_Encoding_DefaultBinary((int) 266L),
+ ObjectTypeNode_Encoding_DefaultJson((int) 15073L),
+ ObjectTypeNode_Encoding_DefaultXml((int) 265L),
ObjectTypesFolder((int) 88L),
OffNormalAlarmType((int) 10637L),
OPCBinarySchema_TypeSystem((int) 93L),
@@ -679,6 +1086,14 @@ public enum OpcuaNodeIdServices {
OpcUa_XmlSchema((int) 8252L),
OPCUANamespaceMetadata((int) 15957L),
OpenFileMode((int) 11939L),
+ OpenSecureChannelRequest((int) 444L),
+ OpenSecureChannelRequest_Encoding_DefaultBinary((int) 446L),
+ OpenSecureChannelRequest_Encoding_DefaultJson((int) 15132L),
+ OpenSecureChannelRequest_Encoding_DefaultXml((int) 445L),
+ OpenSecureChannelResponse((int) 447L),
+ OpenSecureChannelResponse_Encoding_DefaultBinary((int) 449L),
+ OpenSecureChannelResponse_Encoding_DefaultJson((int) 15133L),
+ OpenSecureChannelResponse_Encoding_DefaultXml((int) 448L),
OperationLimitsType((int) 11564L),
OptionSet((int) 12755L),
OptionSet_Encoding_DefaultBinary((int) 12765L),
@@ -695,6 +1110,10 @@ public enum OpcuaNodeIdServices {
OrientationType((int) 18779L),
OutputArguments((int) 3073L),
OverrideValueHandling((int) 15874L),
+ ParsingResult((int) 610L),
+ ParsingResult_Encoding_DefaultBinary((int) 612L),
+ ParsingResult_Encoding_DefaultJson((int) 15236L),
+ ParsingResult_Encoding_DefaultXml((int) 611L),
PerformUpdateType((int) 11293L),
PermissionType((int) 94L),
ProcessConditionClassType((int) 11164L),
@@ -736,6 +1155,14 @@ public enum OpcuaNodeIdServices {
PublishedVariableDataType_Encoding_DefaultBinary((int) 14323L),
PublishedVariableDataType_Encoding_DefaultJson((int) 15060L),
PublishedVariableDataType_Encoding_DefaultXml((int) 14319L),
+ PublishRequest((int) 824L),
+ PublishRequest_Encoding_DefaultBinary((int) 826L),
+ PublishRequest_Encoding_DefaultJson((int) 15352L),
+ PublishRequest_Encoding_DefaultXml((int) 825L),
+ PublishResponse((int) 827L),
+ PublishResponse_Encoding_DefaultBinary((int) 829L),
+ PublishResponse_Encoding_DefaultJson((int) 15353L),
+ PublishResponse_Encoding_DefaultXml((int) 828L),
PublishSubscribe((int) 14443L),
PublishSubscribeType((int) 14416L),
PubSubCommunicationFailureEventType((int) 15563L),
@@ -768,6 +1195,30 @@ public enum OpcuaNodeIdServices {
PubSubStatusType((int) 14643L),
PubSubTransportLimitsExceedEventType((int) 15548L),
QualifiedName((int) 20L),
+ QueryDataDescription((int) 570L),
+ QueryDataDescription_Encoding_DefaultBinary((int) 572L),
+ QueryDataDescription_Encoding_DefaultJson((int) 15200L),
+ QueryDataDescription_Encoding_DefaultXml((int) 571L),
+ QueryDataSet((int) 577L),
+ QueryDataSet_Encoding_DefaultBinary((int) 579L),
+ QueryDataSet_Encoding_DefaultJson((int) 15202L),
+ QueryDataSet_Encoding_DefaultXml((int) 578L),
+ QueryFirstRequest((int) 613L),
+ QueryFirstRequest_Encoding_DefaultBinary((int) 615L),
+ QueryFirstRequest_Encoding_DefaultJson((int) 15244L),
+ QueryFirstRequest_Encoding_DefaultXml((int) 614L),
+ QueryFirstResponse((int) 616L),
+ QueryFirstResponse_Encoding_DefaultBinary((int) 618L),
+ QueryFirstResponse_Encoding_DefaultJson((int) 15252L),
+ QueryFirstResponse_Encoding_DefaultXml((int) 617L),
+ QueryNextRequest((int) 619L),
+ QueryNextRequest_Encoding_DefaultBinary((int) 621L),
+ QueryNextRequest_Encoding_DefaultJson((int) 15254L),
+ QueryNextRequest_Encoding_DefaultXml((int) 620L),
+ QueryNextResponse((int) 622L),
+ QueryNextResponse_Encoding_DefaultBinary((int) 624L),
+ QueryNextResponse_Encoding_DefaultJson((int) 15255L),
+ QueryNextResponse_Encoding_DefaultXml((int) 623L),
Range((int) 884L),
Range_Encoding_DefaultBinary((int) 886L),
Range_Encoding_DefaultJson((int) 15375L),
@@ -777,6 +1228,14 @@ public enum OpcuaNodeIdServices {
RationalNumber_Encoding_DefaultJson((int) 19064L),
RationalNumber_Encoding_DefaultXml((int) 18851L),
RationalNumberType((int) 17709L),
+ ReadAnnotationDataDetails((int) 23497L),
+ ReadAnnotationDataDetails_Encoding_DefaultBinary((int) 23500L),
+ ReadAnnotationDataDetails_Encoding_DefaultJson((int) 23512L),
+ ReadAnnotationDataDetails_Encoding_DefaultXml((int) 23506L),
+ ReadAtTimeDetails((int) 653L),
+ ReadAtTimeDetails_Encoding_DefaultBinary((int) 655L),
+ ReadAtTimeDetails_Encoding_DefaultJson((int) 15269L),
+ ReadAtTimeDetails_Encoding_DefaultXml((int) 654L),
ReaderGroupDataType((int) 15520L),
ReaderGroupDataType_Encoding_DefaultBinary((int) 21153L),
ReaderGroupDataType_Encoding_DefaultJson((int) 21201L),
@@ -792,12 +1251,52 @@ public enum OpcuaNodeIdServices {
ReaderGroupTransportDataType_Encoding_DefaultXml((int) 15995L),
ReaderGroupTransportType((int) 21090L),
ReaderGroupType((int) 17999L),
+ ReadEventDetails((int) 644L),
+ ReadEventDetails_Encoding_DefaultBinary((int) 646L),
+ ReadEventDetails_Encoding_DefaultJson((int) 15262L),
+ ReadEventDetails_Encoding_DefaultXml((int) 645L),
+ ReadProcessedDetails((int) 650L),
+ ReadProcessedDetails_Encoding_DefaultBinary((int) 652L),
+ ReadProcessedDetails_Encoding_DefaultJson((int) 15264L),
+ ReadProcessedDetails_Encoding_DefaultXml((int) 651L),
+ ReadRawModifiedDetails((int) 647L),
+ ReadRawModifiedDetails_Encoding_DefaultBinary((int) 649L),
+ ReadRawModifiedDetails_Encoding_DefaultJson((int) 15263L),
+ ReadRawModifiedDetails_Encoding_DefaultXml((int) 648L),
+ ReadRequest((int) 629L),
+ ReadRequest_Encoding_DefaultBinary((int) 631L),
+ ReadRequest_Encoding_DefaultJson((int) 15257L),
+ ReadRequest_Encoding_DefaultXml((int) 630L),
+ ReadResponse((int) 632L),
+ ReadResponse_Encoding_DefaultBinary((int) 634L),
+ ReadResponse_Encoding_DefaultJson((int) 15258L),
+ ReadResponse_Encoding_DefaultXml((int) 633L),
+ ReadValueId((int) 626L),
+ ReadValueId_Encoding_DefaultBinary((int) 628L),
+ ReadValueId_Encoding_DefaultJson((int) 15256L),
+ ReadValueId_Encoding_DefaultXml((int) 627L),
RedundancySupport((int) 851L),
RedundantServerDataType((int) 853L),
RedundantServerDataType_Encoding_DefaultBinary((int) 855L),
RedundantServerDataType_Encoding_DefaultJson((int) 15362L),
RedundantServerDataType_Encoding_DefaultXml((int) 854L),
+ ReferenceDescription((int) 518L),
+ ReferenceDescription_Encoding_DefaultBinary((int) 520L),
+ ReferenceDescription_Encoding_DefaultJson((int) 15182L),
+ ReferenceDescription_Encoding_DefaultXml((int) 519L),
+ ReferenceNode((int) 285L),
+ ReferenceNode_Encoding_DefaultBinary((int) 287L),
+ ReferenceNode_Encoding_DefaultJson((int) 15080L),
+ ReferenceNode_Encoding_DefaultXml((int) 286L),
References((int) 31L),
+ ReferenceTypeAttributes((int) 367L),
+ ReferenceTypeAttributes_Encoding_DefaultBinary((int) 369L),
+ ReferenceTypeAttributes_Encoding_DefaultJson((int) 15160L),
+ ReferenceTypeAttributes_Encoding_DefaultXml((int) 368L),
+ ReferenceTypeNode((int) 273L),
+ ReferenceTypeNode_Encoding_DefaultBinary((int) 275L),
+ ReferenceTypeNode_Encoding_DefaultJson((int) 15076L),
+ ReferenceTypeNode_Encoding_DefaultXml((int) 274L),
ReferenceTypesFolder((int) 91L),
RefreshEndEventType((int) 2788L),
RefreshRequiredEventType((int) 2789L),
@@ -806,6 +1305,30 @@ public enum OpcuaNodeIdServices {
RegisteredServer_Encoding_DefaultBinary((int) 434L),
RegisteredServer_Encoding_DefaultJson((int) 15102L),
RegisteredServer_Encoding_DefaultXml((int) 433L),
+ RegisterNodesRequest((int) 558L),
+ RegisterNodesRequest_Encoding_DefaultBinary((int) 560L),
+ RegisterNodesRequest_Encoding_DefaultJson((int) 15195L),
+ RegisterNodesRequest_Encoding_DefaultXml((int) 559L),
+ RegisterNodesResponse((int) 561L),
+ RegisterNodesResponse_Encoding_DefaultBinary((int) 563L),
+ RegisterNodesResponse_Encoding_DefaultJson((int) 15196L),
+ RegisterNodesResponse_Encoding_DefaultXml((int) 562L),
+ RegisterServer2Request((int) 12193L),
+ RegisterServer2Request_Encoding_DefaultBinary((int) 12211L),
+ RegisterServer2Request_Encoding_DefaultJson((int) 15107L),
+ RegisterServer2Request_Encoding_DefaultXml((int) 12199L),
+ RegisterServer2Response((int) 12194L),
+ RegisterServer2Response_Encoding_DefaultBinary((int) 12212L),
+ RegisterServer2Response_Encoding_DefaultJson((int) 15130L),
+ RegisterServer2Response_Encoding_DefaultXml((int) 12200L),
+ RegisterServerRequest((int) 435L),
+ RegisterServerRequest_Encoding_DefaultBinary((int) 437L),
+ RegisterServerRequest_Encoding_DefaultJson((int) 15103L),
+ RegisterServerRequest_Encoding_DefaultXml((int) 436L),
+ RegisterServerResponse((int) 438L),
+ RegisterServerResponse_Encoding_DefaultBinary((int) 440L),
+ RegisterServerResponse_Encoding_DefaultJson((int) 15104L),
+ RegisterServerResponse_Encoding_DefaultXml((int) 439L),
RelativePath((int) 540L),
RelativePath_Encoding_DefaultBinary((int) 542L),
RelativePath_Encoding_DefaultJson((int) 15189L),
@@ -814,7 +1337,23 @@ public enum OpcuaNodeIdServices {
RelativePathElement_Encoding_DefaultBinary((int) 539L),
RelativePathElement_Encoding_DefaultJson((int) 15188L),
RelativePathElement_Encoding_DefaultXml((int) 538L),
+ RepublishRequest((int) 830L),
+ RepublishRequest_Encoding_DefaultBinary((int) 832L),
+ RepublishRequest_Encoding_DefaultJson((int) 15354L),
+ RepublishRequest_Encoding_DefaultXml((int) 831L),
+ RepublishResponse((int) 833L),
+ RepublishResponse_Encoding_DefaultBinary((int) 835L),
+ RepublishResponse_Encoding_DefaultJson((int) 15355L),
+ RepublishResponse_Encoding_DefaultXml((int) 834L),
+ RequestHeader((int) 389L),
+ RequestHeader_Encoding_DefaultBinary((int) 391L),
+ RequestHeader_Encoding_DefaultJson((int) 15088L),
+ RequestHeader_Encoding_DefaultXml((int) 390L),
Resources((int) 24226L),
+ ResponseHeader((int) 392L),
+ ResponseHeader_Encoding_DefaultBinary((int) 394L),
+ ResponseHeader_Encoding_DefaultJson((int) 15089L),
+ ResponseHeader_Encoding_DefaultXml((int) 393L),
RoleMappingRuleChangedAuditEventType((int) 17641L),
RolePermissionType((int) 96L),
RolePermissionType_Encoding_DefaultBinary((int) 128L),
@@ -823,6 +1362,7 @@ public enum OpcuaNodeIdServices {
RoleSetType((int) 15607L),
RoleType((int) 15620L),
RootFolder((int) 84L),
+ RsaEncryptedSecret((int) 17545L),
RsaMinApplicationCertificateType((int) 12559L),
RsaSha256ApplicationCertificateType((int) 12560L),
SafetyConditionClassType((int) 17218L),
@@ -873,6 +1413,10 @@ public enum OpcuaNodeIdServices {
ServiceCounterDataType_Encoding_DefaultBinary((int) 873L),
ServiceCounterDataType_Encoding_DefaultJson((int) 15370L),
ServiceCounterDataType_Encoding_DefaultXml((int) 872L),
+ ServiceFault((int) 395L),
+ ServiceFault_Encoding_DefaultBinary((int) 397L),
+ ServiceFault_Encoding_DefaultJson((int) 15090L),
+ ServiceFault_Encoding_DefaultXml((int) 396L),
SessionAuthenticationToken((int) 388L),
SessionDiagnosticsArrayType((int) 2196L),
SessionDiagnosticsDataType((int) 865L),
@@ -881,6 +1425,14 @@ public enum OpcuaNodeIdServices {
SessionDiagnosticsDataType_Encoding_DefaultXml((int) 866L),
SessionDiagnosticsObjectType((int) 2029L),
SessionDiagnosticsVariableType((int) 2197L),
+ SessionlessInvokeRequestType((int) 15901L),
+ SessionlessInvokeRequestType_Encoding_DefaultBinary((int) 15903L),
+ SessionlessInvokeRequestType_Encoding_DefaultJson((int) 15091L),
+ SessionlessInvokeRequestType_Encoding_DefaultXml((int) 15902L),
+ SessionlessInvokeResponseType((int) 20999L),
+ SessionlessInvokeResponseType_Encoding_DefaultBinary((int) 21001L),
+ SessionlessInvokeResponseType_Encoding_DefaultJson((int) 15092L),
+ SessionlessInvokeResponseType_Encoding_DefaultXml((int) 21000L),
SessionsDiagnosticsSummaryType((int) 2026L),
SessionSecurityDiagnosticsArrayType((int) 2243L),
SessionSecurityDiagnosticsDataType((int) 868L),
@@ -888,7 +1440,35 @@ public enum OpcuaNodeIdServices {
SessionSecurityDiagnosticsDataType_Encoding_DefaultJson((int) 15369L),
SessionSecurityDiagnosticsDataType_Encoding_DefaultXml((int) 869L),
SessionSecurityDiagnosticsType((int) 2244L),
+ SetMonitoringModeRequest((int) 767L),
+ SetMonitoringModeRequest_Encoding_DefaultBinary((int) 769L),
+ SetMonitoringModeRequest_Encoding_DefaultJson((int) 15329L),
+ SetMonitoringModeRequest_Encoding_DefaultXml((int) 768L),
+ SetMonitoringModeResponse((int) 770L),
+ SetMonitoringModeResponse_Encoding_DefaultBinary((int) 772L),
+ SetMonitoringModeResponse_Encoding_DefaultJson((int) 15331L),
+ SetMonitoringModeResponse_Encoding_DefaultXml((int) 771L),
+ SetPublishingModeRequest((int) 797L),
+ SetPublishingModeRequest_Encoding_DefaultBinary((int) 799L),
+ SetPublishingModeRequest_Encoding_DefaultJson((int) 15341L),
+ SetPublishingModeRequest_Encoding_DefaultXml((int) 798L),
+ SetPublishingModeResponse((int) 800L),
+ SetPublishingModeResponse_Encoding_DefaultBinary((int) 802L),
+ SetPublishingModeResponse_Encoding_DefaultJson((int) 15342L),
+ SetPublishingModeResponse_Encoding_DefaultXml((int) 801L),
+ SetTriggeringRequest((int) 773L),
+ SetTriggeringRequest_Encoding_DefaultBinary((int) 775L),
+ SetTriggeringRequest_Encoding_DefaultJson((int) 15332L),
+ SetTriggeringRequest_Encoding_DefaultXml((int) 774L),
+ SetTriggeringResponse((int) 776L),
+ SetTriggeringResponse_Encoding_DefaultBinary((int) 778L),
+ SetTriggeringResponse_Encoding_DefaultJson((int) 15333L),
+ SetTriggeringResponse_Encoding_DefaultXml((int) 777L),
ShelvedStateMachineType((int) 2929L),
+ SignatureData((int) 456L),
+ SignatureData_Encoding_DefaultBinary((int) 458L),
+ SignatureData_Encoding_DefaultJson((int) 15137L),
+ SignatureData_Encoding_DefaultXml((int) 457L),
SignedSoftwareCertificate((int) 344L),
SignedSoftwareCertificate_Encoding_DefaultBinary((int) 346L),
SignedSoftwareCertificate_Encoding_DefaultJson((int) 15136L),
@@ -905,6 +1485,10 @@ public enum OpcuaNodeIdServices {
StateType((int) 2307L),
StateVariableType((int) 2755L),
StatisticalConditionClassType((int) 18665L),
+ StatusChangeNotification((int) 818L),
+ StatusChangeNotification_Encoding_DefaultBinary((int) 820L),
+ StatusChangeNotification_Encoding_DefaultJson((int) 15350L),
+ StatusChangeNotification_Encoding_DefaultXml((int) 819L),
StatusCode((int) 19L),
StatusResult((int) 299L),
StatusResult_Encoding_DefaultBinary((int) 301L),
@@ -936,6 +1520,10 @@ public enum OpcuaNodeIdServices {
SubscribedDataSetMirrorDataType_Encoding_DefaultXml((int) 16012L),
SubscribedDataSetMirrorType((int) 15127L),
SubscribedDataSetType((int) 15108L),
+ SubscriptionAcknowledgement((int) 821L),
+ SubscriptionAcknowledgement_Encoding_DefaultBinary((int) 823L),
+ SubscriptionAcknowledgement_Encoding_DefaultJson((int) 15351L),
+ SubscriptionAcknowledgement_Encoding_DefaultXml((int) 822L),
SubscriptionDiagnosticsArrayType((int) 2171L),
SubscriptionDiagnosticsDataType((int) 874L),
SubscriptionDiagnosticsDataType_Encoding_DefaultBinary((int) 876L),
@@ -977,6 +1565,7 @@ public enum OpcuaNodeIdServices {
ThreeDVector_Encoding_DefaultXml((int) 18853L),
ThreeDVectorType((int) 17716L),
Time((int) 292L),
+ TimestampsToReturn((int) 625L),
TimeString((int) 12880L),
TimeZoneDataType((int) 8912L),
TimeZoneDataType_Encoding_DefaultBinary((int) 8917L),
@@ -985,9 +1574,29 @@ public enum OpcuaNodeIdServices {
Topics((int) 23488L),
ToState((int) 52L),
TrainingConditionClassType((int) 17220L),
+ TransferResult((int) 836L),
+ TransferResult_Encoding_DefaultBinary((int) 838L),
+ TransferResult_Encoding_DefaultJson((int) 15356L),
+ TransferResult_Encoding_DefaultXml((int) 837L),
+ TransferSubscriptionsRequest((int) 839L),
+ TransferSubscriptionsRequest_Encoding_DefaultBinary((int) 841L),
+ TransferSubscriptionsRequest_Encoding_DefaultJson((int) 15357L),
+ TransferSubscriptionsRequest_Encoding_DefaultXml((int) 840L),
+ TransferSubscriptionsResponse((int) 842L),
+ TransferSubscriptionsResponse_Encoding_DefaultBinary((int) 844L),
+ TransferSubscriptionsResponse_Encoding_DefaultJson((int) 15358L),
+ TransferSubscriptionsResponse_Encoding_DefaultXml((int) 843L),
TransitionEventType((int) 2311L),
TransitionType((int) 2310L),
TransitionVariableType((int) 2762L),
+ TranslateBrowsePathsToNodeIdsRequest((int) 552L),
+ TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary((int) 554L),
+ TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultJson((int) 15193L),
+ TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml((int) 553L),
+ TranslateBrowsePathsToNodeIdsResponse((int) 555L),
+ TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary((int) 557L),
+ TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultJson((int) 15194L),
+ TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml((int) 556L),
TransparentRedundancyType((int) 2036L),
TripAlarmType((int) 10751L),
TrustListDataType((int) 12554L),
@@ -1004,6 +1613,10 @@ public enum OpcuaNodeIdServices {
TsnTalkerStatus((int) 24222L),
TwoStateDiscreteType((int) 2373L),
TwoStateVariableType((int) 8995L),
+ TypeNode((int) 11880L),
+ TypeNode_Encoding_DefaultBinary((int) 11890L),
+ TypeNode_Encoding_DefaultJson((int) 15070L),
+ TypeNode_Encoding_DefaultXml((int) 11888L),
TypesFolder((int) 86L),
UABinaryFileDataType((int) 15006L),
UABinaryFileDataType_Encoding_DefaultBinary((int) 15422L),
@@ -1034,10 +1647,30 @@ public enum OpcuaNodeIdServices {
Union_Encoding_DefaultBinary((int) 12766L),
Union_Encoding_DefaultJson((int) 15085L),
Union_Encoding_DefaultXml((int) 12758L),
+ UnregisterNodesRequest((int) 564L),
+ UnregisterNodesRequest_Encoding_DefaultBinary((int) 566L),
+ UnregisterNodesRequest_Encoding_DefaultJson((int) 15197L),
+ UnregisterNodesRequest_Encoding_DefaultXml((int) 565L),
+ UnregisterNodesResponse((int) 567L),
+ UnregisterNodesResponse_Encoding_DefaultBinary((int) 569L),
+ UnregisterNodesResponse_Encoding_DefaultJson((int) 15198L),
+ UnregisterNodesResponse_Encoding_DefaultXml((int) 568L),
UnsignedRationalNumber((int) 24107L),
UnsignedRationalNumber_Encoding_DefaultBinary((int) 24110L),
UnsignedRationalNumber_Encoding_DefaultJson((int) 24134L),
UnsignedRationalNumber_Encoding_DefaultXml((int) 24122L),
+ UpdateDataDetails((int) 680L),
+ UpdateDataDetails_Encoding_DefaultBinary((int) 682L),
+ UpdateDataDetails_Encoding_DefaultJson((int) 15280L),
+ UpdateDataDetails_Encoding_DefaultXml((int) 681L),
+ UpdateEventDetails((int) 683L),
+ UpdateEventDetails_Encoding_DefaultBinary((int) 685L),
+ UpdateEventDetails_Encoding_DefaultJson((int) 15282L),
+ UpdateEventDetails_Encoding_DefaultXml((int) 684L),
+ UpdateStructureDataDetails((int) 11295L),
+ UpdateStructureDataDetails_Encoding_DefaultBinary((int) 11300L),
+ UpdateStructureDataDetails_Encoding_DefaultJson((int) 15281L),
+ UpdateStructureDataDetails_Encoding_DefaultXml((int) 11296L),
UriDictionaryEntryType((int) 17600L),
UserCredentialCertificateType((int) 15181L),
UserIdentityToken((int) 316L),
@@ -1055,6 +1688,22 @@ public enum OpcuaNodeIdServices {
UserTokenType((int) 303L),
UtcTime((int) 294L),
ValueAsText((int) 11433L),
+ VariableAttributes((int) 355L),
+ VariableAttributes_Encoding_DefaultBinary((int) 357L),
+ VariableAttributes_Encoding_DefaultJson((int) 15153L),
+ VariableAttributes_Encoding_DefaultXml((int) 356L),
+ VariableNode((int) 267L),
+ VariableNode_Encoding_DefaultBinary((int) 269L),
+ VariableNode_Encoding_DefaultJson((int) 15074L),
+ VariableNode_Encoding_DefaultXml((int) 268L),
+ VariableTypeAttributes((int) 364L),
+ VariableTypeAttributes_Encoding_DefaultBinary((int) 366L),
+ VariableTypeAttributes_Encoding_DefaultJson((int) 15159L),
+ VariableTypeAttributes_Encoding_DefaultXml((int) 365L),
+ VariableTypeNode((int) 270L),
+ VariableTypeNode_Encoding_DefaultBinary((int) 272L),
+ VariableTypeNode_Encoding_DefaultJson((int) 15075L),
+ VariableTypeNode_Encoding_DefaultXml((int) 271L),
VariableTypesFolder((int) 89L),
Vector((int) 18807L),
Vector_Encoding_DefaultBinary((int) 18816L),
@@ -1063,6 +1712,18 @@ public enum OpcuaNodeIdServices {
VectorType((int) 17714L),
VendorServerInfoType((int) 2033L),
VersionTime((int) 20998L),
+ ViewAttributes((int) 373L),
+ ViewAttributes_Encoding_DefaultBinary((int) 375L),
+ ViewAttributes_Encoding_DefaultJson((int) 15162L),
+ ViewAttributes_Encoding_DefaultXml((int) 374L),
+ ViewDescription((int) 511L),
+ ViewDescription_Encoding_DefaultBinary((int) 513L),
+ ViewDescription_Encoding_DefaultJson((int) 15179L),
+ ViewDescription_Encoding_DefaultXml((int) 512L),
+ ViewNode((int) 279L),
+ ViewNode_Encoding_DefaultBinary((int) 281L),
+ ViewNode_Encoding_DefaultJson((int) 15078L),
+ ViewNode_Encoding_DefaultXml((int) 280L),
ViewsFolder((int) 87L),
ViewVersion((int) 12170L),
WellKnownRole_Anonymous((int) 15644L),
@@ -1073,6 +1734,14 @@ public enum OpcuaNodeIdServices {
WellKnownRole_Operator((int) 15680L),
WellKnownRole_SecurityAdmin((int) 15704L),
WellKnownRole_Supervisor((int) 15692L),
+ WriteRequest((int) 671L),
+ WriteRequest_Encoding_DefaultBinary((int) 673L),
+ WriteRequest_Encoding_DefaultJson((int) 15277L),
+ WriteRequest_Encoding_DefaultXml((int) 672L),
+ WriteResponse((int) 674L),
+ WriteResponse_Encoding_DefaultBinary((int) 676L),
+ WriteResponse_Encoding_DefaultJson((int) 15278L),
+ WriteResponse_Encoding_DefaultXml((int) 675L),
WriterGroupDataType((int) 15480L),
WriterGroupDataType_Encoding_DefaultBinary((int) 21150L),
WriterGroupDataType_Encoding_DefaultJson((int) 21198L),
@@ -1088,6 +1757,10 @@ public enum OpcuaNodeIdServices {
WriterGroupTransportDataType_Encoding_DefaultXml((int) 15990L),
WriterGroupTransportType((int) 17997L),
WriterGroupType((int) 17725L),
+ WriteValue((int) 668L),
+ WriteValue_Encoding_DefaultBinary((int) 670L),
+ WriteValue_Encoding_DefaultJson((int) 15276L),
+ WriteValue_Encoding_DefaultXml((int) 669L),
X509IdentityToken((int) 325L),
X509IdentityToken_Encoding_DefaultBinary((int) 327L),
X509IdentityToken_Encoding_DefaultJson((int) 15143L),
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
index 10cbe9dec14..bb12ee521a1 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/OpcuaPlcDriver.java
@@ -121,6 +121,7 @@ protected org.apache.plc4x.java.api.value.PlcValueHandler getValueHandler() {
return new PlcValueHandler();
}
+ @Override
protected boolean awaitDisconnectComplete() {
return true;
}
diff --git a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
index 32bcf40694a..e1f6ca47180 100644
--- a/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
+++ b/plc4j/drivers/opcua/src/main/java/org/apache/plc4x/java/opcua/context/SecureChannel.java
@@ -85,7 +85,7 @@ public class SecureChannel {
"(?[\\w.-]+)(:" +
"(?\\d*))?");
- public static final Pattern URI_PATTERN = Pattern.compile("^(?opc)" +
+ public static final Pattern URI_PATTERN = Pattern.compile("^(?opc|https)" +
INET_ADDRESS_PATTERN +
"(?[\\w/=]*)[\\?]?"
);
@@ -580,7 +580,7 @@ private void onConnectActivateSessionRequest(ConversationContext conte
}
public void onDisconnect(ConversationContext context) {
- LOGGER.info("Disconnecting");
+ LOGGER.debug("Disconnecting");
int requestHandle = getRequestHandle();
if (keepAlive != null) {
@@ -879,7 +879,7 @@ public void onDiscoverGetEndpointsRequest(ConversationContext context,
for (ExtensionObjectDefinition endpoint : endpoints) {
EndpointDescription endpointDescription = (EndpointDescription) endpoint;
if (endpointDescription.getEndpointUrl().getStringValue().equals(this.endpoint.getStringValue()) && endpointDescription.getSecurityPolicyUri().getStringValue().equals(this.securityPolicy)) {
- LOGGER.info("Found OPC UA endpoint {}", this.endpoint.getStringValue());
+ LOGGER.debug("Found OPC UA endpoint {}", this.endpoint.getStringValue());
this.configuration.setSenderCertificate(endpointDescription.getServerCertificate().getStringValue());
}
}
diff --git a/plc4j/drivers/plc4x/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java b/plc4j/drivers/plc4x/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
index 6d856ea4487..07c90775b62 100644
--- a/plc4j/drivers/plc4x/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
+++ b/plc4j/drivers/plc4x/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
@@ -158,6 +158,24 @@ public static PlcValue staticParse(ReadBuffer readBuffer, Plc4xValueType valueTy
String value = /*TODO: migrate me*/ /*TODO: migrate me*/
readBuffer.readString("", 16, WithOption.WithEncoding("UTF-16"));
+ return new PlcSTRING(value);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.parseString(
+ readBuffer, "UTF-8"));
+
+ return new PlcSTRING(value);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.parseString(
+ readBuffer, "UTF-16"));
+
return new PlcSTRING(value);
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
@@ -325,6 +343,14 @@ public static void staticSerialize(
/*TODO: migrate me*/
/*TODO: migrate me*/ writeBuffer.writeString(
"", 16, (String) (value), WithOption.WithEncoding("UTF-16"));
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+ // Manual Field (value)
+ org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.serializeString(
+ writeBuffer, _value, "UTF-8");
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+ // Manual Field (value)
+ org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.serializeString(
+ writeBuffer, _value, "UTF-16");
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
// Simple Field (milliseconds)
long milliseconds = (long) _value.getLong();
@@ -436,6 +462,12 @@ public static int getLengthInBits(PlcValue _value, Plc4xValueType valueType) {
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.WCHAR)) { // STRING
// Simple Field (value)
sizeInBits += 16;
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+ // Manual Field (value)
+ sizeInBits += (((STR_LEN(_value)) + (1))) * (8);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+ // Manual Field (value)
+ sizeInBits += (((STR_LEN(_value)) + (1))) * (16);
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
// Simple Field (milliseconds)
sizeInBits += 32;
diff --git a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/protocol/Plc4xProtocolLogic.java b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/protocol/Plc4xProtocolLogic.java
index 4d8cf54c98f..77f5edee4fe 100644
--- a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/protocol/Plc4xProtocolLogic.java
+++ b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/protocol/Plc4xProtocolLogic.java
@@ -20,6 +20,7 @@
import org.apache.plc4x.java.api.messages.*;
import org.apache.plc4x.java.api.types.PlcResponseCode;
+import org.apache.plc4x.java.api.types.PlcValueType;
import org.apache.plc4x.java.api.value.PlcValue;
import org.apache.plc4x.java.plc4x.config.Plc4xConfiguration;
import org.apache.plc4x.java.plc4x.tag.Plc4xTag;
@@ -96,7 +97,7 @@ public CompletableFuture read(PlcReadRequest apiReadRequest) {
final Plc4xTag plc4xTag =
(Plc4xTag) apiReadRequest.getTag(tagName);
Plc4xTagRequest plc4XTagRequest = new Plc4xTagRequest(
- new org.apache.plc4x.java.plc4x.readwrite.Plc4xTag(tagName, plc4xTag.getAddressString() + ":" + plc4xTag.getPlcValueType().name()));
+ new org.apache.plc4x.java.plc4x.readwrite.Plc4xTag(tagName, plc4xTag.getAddressString()));
plc4xTags.add(plc4XTagRequest);
}
final int requestId = txIdGenerator.getAndIncrement();
@@ -104,7 +105,7 @@ public CompletableFuture read(PlcReadRequest apiReadRequest) {
// Send the request and await a response.
RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
- context.sendRequest(plc4xReadRequest)
+ transaction.submit(() -> context.sendRequest(plc4xReadRequest)
.expectResponse(Plc4xMessage.class, requestTimeout)
.onTimeout(future::completeExceptionally)
.check(plc4xMessage -> plc4xMessage.getRequestId() == requestId)
@@ -125,7 +126,7 @@ public CompletableFuture read(PlcReadRequest apiReadRequest) {
// Finish the request-transaction.
transaction.endRequest();
- });
+ }));
return future;
}
@@ -140,7 +141,7 @@ public CompletableFuture write(PlcWriteRequest writeRequest) {
final Plc4xValueType plc4xValueType = Plc4xValueType.valueOf(plc4xTag.getPlcValueType().name());
final PlcValue plcValue = writeRequest.getPlcValue(tagName);
Plc4xTagValueRequest tagRequest = new Plc4xTagValueRequest(
- new org.apache.plc4x.java.plc4x.readwrite.Plc4xTag(tagName, plc4xTag.getAddressString() + ":" + plc4xTag.getPlcValueType().name()), plc4xValueType, plcValue);
+ new org.apache.plc4x.java.plc4x.readwrite.Plc4xTag(tagName, plc4xTag.getAddressString() ), plc4xValueType, plcValue);
tags.add(tagRequest);
}
final int requestId = txIdGenerator.getAndIncrement();
@@ -148,7 +149,7 @@ public CompletableFuture write(PlcWriteRequest writeRequest) {
// Send the request and await a response.
RequestTransactionManager.RequestTransaction transaction = tm.startRequest();
- context.sendRequest(write)
+ transaction.submit(() ->context.sendRequest(write)
.expectResponse(Plc4xMessage.class, requestTimeout)
.onTimeout(future::completeExceptionally)
.check(p -> p.getRequestId() == requestId)
@@ -168,7 +169,7 @@ public CompletableFuture write(PlcWriteRequest writeRequest) {
// Finish the request-transaction.
transaction.endRequest();
- });
+ }));
return future;
}
diff --git a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java
new file mode 100644
index 00000000000..69be217621d
--- /dev/null
+++ b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.plc4x.java.plc4x.readwrite.utils;
+
+import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
+import org.apache.plc4x.java.api.value.PlcValue;
+import org.apache.plc4x.java.spi.generation.ParseException;
+import org.apache.plc4x.java.spi.generation.ReadBuffer;
+import org.apache.plc4x.java.spi.generation.SerializationException;
+import org.apache.plc4x.java.spi.generation.WriteBuffer;
+
+import java.nio.charset.StandardCharsets;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class StaticHelper {
+
+ public static String parseString(ReadBuffer io, String encoding) {
+ try {
+ if ("UTF-8".equalsIgnoreCase(encoding)) {
+ // This is the maximum number of bytes a string can be long.
+ short stringLength = io.readUnsignedShort(8);
+ // This is the total length of the string on the PLC (Not necessarily the number of characters read)
+ final byte[] byteArray = new byte[stringLength];
+ for (int i = 0; (i < stringLength) && io.hasMore(8); i++) {
+ final byte curByte = io.readByte();
+ byteArray[i] = curByte;
+ }
+ return new String(byteArray, StandardCharsets.UTF_8);
+ } else if ("UTF-16".equalsIgnoreCase(encoding)) {
+ // This is the maximum number of bytes a string can be long.
+ int stringLength = io.readUnsignedInt(16);
+ final byte[] byteArray = new byte[stringLength * 2];
+ for (int i = 0; (i < stringLength) && io.hasMore(16); i++) {
+ final short curShort = io.readShort(16);
+ byteArray[i * 2] = (byte) (curShort >>> 8);
+ byteArray[(i * 2) + 1] = (byte) (curShort & 0xFF);
+ }
+ return new String(byteArray, StandardCharsets.UTF_16);
+ } else {
+ throw new PlcRuntimeException("Unsupported string encoding " + encoding);
+ }
+ } catch (ParseException e) {
+ throw new PlcRuntimeException("Error parsing string", e);
+ }
+ }
+ public static void serializeString(WriteBuffer io, PlcValue value, String encoding) {
+ String valueString = value.getString();
+ valueString = valueString == null ? "" : valueString;
+
+ if ("UTF-8".equalsIgnoreCase(encoding)) {
+ final byte[] raw = valueString.getBytes(StandardCharsets.UTF_8);
+ try {
+ io.writeByte((byte) raw.length);
+ for (byte b : raw) {
+ io.writeByte(b);
+ }
+ }
+ catch (SerializationException ex) {
+ Logger.getLogger(StaticHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } else if ("UTF-16".equalsIgnoreCase(encoding)) {
+ final byte[] raw = valueString.getBytes(StandardCharsets.UTF_16);
+ try {
+ io.writeUnsignedInt(16, raw.length);
+ for (int i = 0; i < raw.length; i++) {
+ io.writeByte( raw[i]);
+ }
+ }
+ catch (SerializationException ex) {
+ Logger.getLogger(StaticHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } else {
+ throw new PlcRuntimeException("Unsupported string encoding " + encoding);
+ }
+
+ }
+}
diff --git a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4XTagHandler.java b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4XTagHandler.java
index 83ac0fe9fbb..fabb55fc134 100644
--- a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4XTagHandler.java
+++ b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4XTagHandler.java
@@ -28,12 +28,7 @@ public class Plc4XTagHandler implements PlcTagHandler {
@Override
public PlcTag parseTag(String tagAddress) {
- if(!tagAddress.contains(":")) {
- throw new PlcInvalidTagException(tagAddress);
- }
- String address = tagAddress.substring(0, tagAddress.lastIndexOf(":"));
- String dataType = tagAddress.substring(tagAddress.lastIndexOf(":") + 1);
- return new Plc4xTag(address, PlcValueType.valueOf(dataType));
+ return new Plc4xTag(tagAddress);
}
@Override
diff --git a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4xTag.java b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4xTag.java
index c3d5aa7fdd5..a85e2fd0d6f 100644
--- a/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4xTag.java
+++ b/plc4j/drivers/plc4x/src/main/java/org/apache/plc4x/java/plc4x/tag/Plc4xTag.java
@@ -32,11 +32,10 @@
public class Plc4xTag implements PlcTag, Serializable {
private final String address;
- private final PlcValueType valueType;
+ private PlcValueType valueType = PlcValueType.NULL;
- public Plc4xTag(String address, PlcValueType valueType) {
+ public Plc4xTag(String address) {
this.address = address;
- this.valueType = valueType;
}
@Override
@@ -48,7 +47,13 @@ public String getAddressString() {
public PlcValueType getPlcValueType() {
return valueType;
}
-
+ @Override
+ public void setPlcValueType(PlcValueType plcValueType) {
+ this.valueType = plcValueType;
+ }
+ public void setValueType(PlcValueType valueType) {
+ this.valueType = valueType;
+ }
@Override
public List getArrayInfo() {
return PlcTag.super.getArrayInfo();
diff --git a/plc4j/drivers/pom.xml b/plc4j/drivers/pom.xml
index c0b47ba33a8..995ee913d0f 100644
--- a/plc4j/drivers/pom.xml
+++ b/plc4j/drivers/pom.xml
@@ -53,4 +53,19 @@
simulated
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+
+
+
+ *
+
+
+
+
+
+
diff --git a/plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnDcp_Block_DevicePropertiesNameOfStation.java b/plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnDcp_Block_DevicePropertiesNameOfStation.java
index cbd068d825f..91f9c99e385 100644
--- a/plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnDcp_Block_DevicePropertiesNameOfStation.java
+++ b/plc4j/drivers/profinet/src/main/generated/org/apache/plc4x/java/profinet/readwrite/PnDcp_Block_DevicePropertiesNameOfStation.java
@@ -51,8 +51,6 @@ public Short getSuboption() {
// Arguments.
protected final Integer blockLength;
- // Reserved Fields
- private Integer reservedField0;
public PnDcp_Block_DevicePropertiesNameOfStation(byte[] nameOfStation, Integer blockLength) {
super();
@@ -71,12 +69,6 @@ protected void serializePnDcp_BlockChild(WriteBuffer writeBuffer) throws Seriali
int startPos = positionAware.getPos();
writeBuffer.pushContext("PnDcp_Block_DevicePropertiesNameOfStation");
- // Reserved Field (reserved)
- writeReservedField(
- "reserved",
- reservedField0 != null ? reservedField0 : (int) 0x0000,
- writeUnsignedInt(writeBuffer, 16));
-
// Array Field (nameOfStation)
writeByteArrayField("nameOfStation", nameOfStation, writeByteArray(writeBuffer, 8));
@@ -104,9 +96,6 @@ public int getLengthInBits() {
PnDcp_Block_DevicePropertiesNameOfStation _value = this;
boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get();
- // Reserved Field (reserved)
- lengthInBits += 16;
-
// Array field
if (nameOfStation != null) {
lengthInBits += 8 * nameOfStation.length;
@@ -133,9 +122,6 @@ public static PnDcp_BlockBuilder staticParsePnDcp_BlockBuilder(
int curPos;
boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get();
- Integer reservedField0 =
- readReservedField("reserved", readUnsignedInt(readBuffer, 16), (int) 0x0000);
-
byte[] nameOfStation =
readBuffer.readByteArray("nameOfStation", Math.toIntExact((blockLength) - (2)));
@@ -148,27 +134,23 @@ public static PnDcp_BlockBuilder staticParsePnDcp_BlockBuilder(
readBuffer.closeContext("PnDcp_Block_DevicePropertiesNameOfStation");
// Create the instance
- return new PnDcp_Block_DevicePropertiesNameOfStationBuilderImpl(
- nameOfStation, blockLength, reservedField0);
+ return new PnDcp_Block_DevicePropertiesNameOfStationBuilderImpl(nameOfStation, blockLength);
}
public static class PnDcp_Block_DevicePropertiesNameOfStationBuilderImpl
implements PnDcp_Block.PnDcp_BlockBuilder {
private final byte[] nameOfStation;
private final Integer blockLength;
- private final Integer reservedField0;
public PnDcp_Block_DevicePropertiesNameOfStationBuilderImpl(
- byte[] nameOfStation, Integer blockLength, Integer reservedField0) {
+ byte[] nameOfStation, Integer blockLength) {
this.nameOfStation = nameOfStation;
this.blockLength = blockLength;
- this.reservedField0 = reservedField0;
}
public PnDcp_Block_DevicePropertiesNameOfStation build() {
PnDcp_Block_DevicePropertiesNameOfStation pnDcp_Block_DevicePropertiesNameOfStation =
new PnDcp_Block_DevicePropertiesNameOfStation(nameOfStation, blockLength);
- pnDcp_Block_DevicePropertiesNameOfStation.reservedField0 = reservedField0;
return pnDcp_Block_DevicePropertiesNameOfStation;
}
}
diff --git a/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/DataItem.java b/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/DataItem.java
index 7c5fb803efa..2db355b2dbd 100644
--- a/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/DataItem.java
+++ b/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/DataItem.java
@@ -24,7 +24,6 @@
import java.time.*;
import java.util.*;
import org.apache.plc4x.java.api.value.*;
-import org.apache.plc4x.java.spi.codegen.WithOption;
import org.apache.plc4x.java.spi.generation.ByteOrder;
import org.apache.plc4x.java.spi.generation.EvaluationHelper;
import org.apache.plc4x.java.spi.generation.ParseException;
@@ -42,7 +41,8 @@ public class DataItem {
private static final Logger LOGGER = LoggerFactory.getLogger(DataItem.class);
public static PlcValue staticParse(
- ReadBuffer readBuffer, String dataProtocolId, Integer stringLength) throws ParseException {
+ ReadBuffer readBuffer, String dataProtocolId, Integer stringLength, String stringEncoding)
+ throws ParseException {
if (EvaluationHelper.equals(dataProtocolId, "IEC61131_BOOL")) { // BOOL
// Reserved Field (Compartmentalized so the "reserved" variable can't leak)
@@ -147,16 +147,20 @@ public static PlcValue staticParse(
return new PlcLREAL(value);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_CHAR")) { // CHAR
- // Simple Field (value)
- String value = /*TODO: migrate me*/ /*TODO: migrate me*/
- readBuffer.readString("", 8, WithOption.WithEncoding("UTF-8"));
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.parseS7Char(
+ readBuffer, "UTF-8", stringEncoding));
return new PlcCHAR(value);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WCHAR")) { // CHAR
- // Simple Field (value)
- String value = /*TODO: migrate me*/ /*TODO: migrate me*/
- readBuffer.readString("", 16, WithOption.WithEncoding("UTF-16"));
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.parseS7Char(
+ readBuffer, "UTF-16", stringEncoding));
return new PlcCHAR(value);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_STRING")) { // STRING
@@ -165,7 +169,7 @@ public static PlcValue staticParse(
String value =
(String)
(org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.parseS7String(
- readBuffer, stringLength, "UTF-8"));
+ readBuffer, stringLength, "UTF-8", stringEncoding));
return new PlcSTRING(value);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WSTRING")) { // STRING
@@ -174,7 +178,7 @@ public static PlcValue staticParse(
String value =
(String)
(org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.parseS7String(
- readBuffer, stringLength, "UTF-16"));
+ readBuffer, stringLength, "UTF-16", stringEncoding));
return new PlcSTRING(value);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_TIME")) { // TIME
@@ -253,9 +257,14 @@ public static PlcValue staticParse(
}
public static void staticSerialize(
- WriteBuffer writeBuffer, PlcValue _value, String dataProtocolId, Integer stringLength)
+ WriteBuffer writeBuffer,
+ PlcValue _value,
+ String dataProtocolId,
+ Integer stringLength,
+ String stringEncoding)
throws SerializationException {
- staticSerialize(writeBuffer, _value, dataProtocolId, stringLength, ByteOrder.BIG_ENDIAN);
+ staticSerialize(
+ writeBuffer, _value, dataProtocolId, stringLength, stringEncoding, ByteOrder.BIG_ENDIAN);
}
public static void staticSerialize(
@@ -263,6 +272,7 @@ public static void staticSerialize(
PlcValue _value,
String dataProtocolId,
Integer stringLength,
+ String stringEncoding,
ByteOrder byteOrder)
throws SerializationException {
if (EvaluationHelper.equals(dataProtocolId, "IEC61131_BOOL")) { // BOOL
@@ -345,25 +355,21 @@ public static void staticSerialize(
/*TODO: migrate me*/
/*TODO: migrate me*/ writeBuffer.writeDouble("", 64, (value));
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_CHAR")) { // CHAR
- // Simple Field (value)
- String value = (String) _value.getString();
- /*TODO: migrate me*/
- /*TODO: migrate me*/ writeBuffer.writeString(
- "", 8, (String) (value), WithOption.WithEncoding("UTF-8"));
+ // Manual Field (value)
+ org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.serializeS7Char(
+ writeBuffer, _value, "UTF-8", stringEncoding);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WCHAR")) { // CHAR
- // Simple Field (value)
- String value = (String) _value.getString();
- /*TODO: migrate me*/
- /*TODO: migrate me*/ writeBuffer.writeString(
- "", 16, (String) (value), WithOption.WithEncoding("UTF-16"));
+ // Manual Field (value)
+ org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.serializeS7Char(
+ writeBuffer, _value, "UTF-16", stringEncoding);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_STRING")) { // STRING
// Manual Field (value)
org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.serializeS7String(
- writeBuffer, _value, stringLength, "UTF-8");
+ writeBuffer, _value, stringLength, "UTF-8", stringEncoding);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WSTRING")) { // STRING
// Manual Field (value)
org.apache.plc4x.java.s7.readwrite.utils.StaticHelper.serializeS7String(
- writeBuffer, _value, stringLength, "UTF-16");
+ writeBuffer, _value, stringLength, "UTF-16", stringEncoding);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_TIME")) { // TIME
// Simple Field (milliseconds)
long milliseconds = (long) _value.getLong();
@@ -431,11 +437,15 @@ public static void staticSerialize(
}
}
- public static int getLengthInBytes(PlcValue _value, String dataProtocolId, Integer stringLength) {
- return (int) Math.ceil((float) getLengthInBits(_value, dataProtocolId, stringLength) / 8.0);
+ public static int getLengthInBytes(
+ PlcValue _value, String dataProtocolId, Integer stringLength, String stringEncoding) {
+ return (int)
+ Math.ceil(
+ (float) getLengthInBits(_value, dataProtocolId, stringLength, stringEncoding) / 8.0);
}
- public static int getLengthInBits(PlcValue _value, String dataProtocolId, Integer stringLength) {
+ public static int getLengthInBits(
+ PlcValue _value, String dataProtocolId, Integer stringLength, String stringEncoding) {
int sizeInBits = 0;
if (EvaluationHelper.equals(dataProtocolId, "IEC61131_BOOL")) { // BOOL
// Reserved Field
@@ -485,17 +495,17 @@ public static int getLengthInBits(PlcValue _value, String dataProtocolId, Intege
// Simple Field (value)
sizeInBits += 64;
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_CHAR")) { // CHAR
- // Simple Field (value)
+ // Manual Field (value)
sizeInBits += 8;
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WCHAR")) { // CHAR
- // Simple Field (value)
+ // Manual Field (value)
sizeInBits += 16;
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_STRING")) { // STRING
// Manual Field (value)
- sizeInBits += (STR_LEN(_value)) + (2);
+ sizeInBits += (((stringLength) + (2))) * (8);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_WSTRING")) { // STRING
// Manual Field (value)
- sizeInBits += (((STR_LEN(_value)) * (2))) + (2);
+ sizeInBits += (((stringLength) + (2))) * (16);
} else if (EvaluationHelper.equals(dataProtocolId, "IEC61131_TIME")) { // TIME
// Simple Field (milliseconds)
sizeInBits += 32;
diff --git a/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/TransportSize.java b/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/TransportSize.java
index 4b70936705e..a6ea4032f0a 100644
--- a/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/TransportSize.java
+++ b/plc4j/drivers/s7/src/main/generated/org/apache/plc4x/java/s7/readwrite/TransportSize.java
@@ -179,9 +179,9 @@ public enum TransportSize {
(boolean) false,
(short) 'X',
(boolean) true,
- null,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_LINT",
- TransportSize.INT),
+ null),
ULINT(
(short) 0x0D,
(boolean) false,
@@ -192,9 +192,9 @@ public enum TransportSize {
(boolean) false,
(short) 'X',
(boolean) true,
- null,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_ULINT",
- TransportSize.INT),
+ null),
REAL(
(short) 0x0E,
(boolean) true,
@@ -205,7 +205,7 @@ public enum TransportSize {
(boolean) true,
(short) 'D',
(boolean) true,
- DataTransportSize.REAL,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_REAL",
null),
LREAL(
@@ -218,7 +218,7 @@ public enum TransportSize {
(boolean) true,
(short) 'X',
(boolean) true,
- null,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_LREAL",
TransportSize.REAL),
CHAR(
@@ -244,7 +244,7 @@ public enum TransportSize {
(boolean) true,
(short) 'X',
(boolean) true,
- null,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_WCHAR",
null),
STRING(
@@ -270,7 +270,7 @@ public enum TransportSize {
(boolean) true,
(short) 'X',
(boolean) true,
- null,
+ DataTransportSize.BYTE_WORD_DWORD,
(String) "IEC61131_WSTRING",
null),
TIME(
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
index 55c50bd0d69..ae7553812bb 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/configuration/S7Configuration.java
@@ -25,19 +25,25 @@
import org.apache.plc4x.java.transport.tcp.TcpTransportConfiguration;
public class S7Configuration implements Configuration, TcpTransportConfiguration {
+ @ConfigurationParameter("local-group")
+ @IntDefaultValue(3)
+ public int localGroup = 3;
@ConfigurationParameter("local-rack")
@IntDefaultValue(1)
public int localRack = 1;
- @ConfigurationParameter("local-slot")
- @IntDefaultValue(1)
- public int localSlot = 1;
-
@ConfigurationParameter("local-tsap")
@IntDefaultValue(0)
public int localTsap = 0;
+ @ConfigurationParameter("local-slot")
+ @IntDefaultValue(1)
+ public int localSlot = 1;
+
+ @ConfigurationParameter("remote-group")
+ @IntDefaultValue(1)
+ public int remoteGroup = 1;
@ConfigurationParameter("remote-rack")
@IntDefaultValue(0)
public int remoteRack = 0;
@@ -65,6 +71,31 @@ public class S7Configuration implements Configuration, TcpTransportConfiguration
@ConfigurationParameter("controller-type")
public String controllerType;
+ @ConfigurationParameter("timeout-request")
+ @IntDefaultValue(4000)
+ protected int timeoutRequest;
+ public int getLocalGroup() {
+ return localGroup;
+ }
+
+ public void setLocalGroup(int localGroup) {
+ this.localGroup = localGroup;
+ }
+ public int getLocalTsap() {
+ return localTsap;
+ }
+
+ public void setLocalTsap(int localTsap) {
+ this.localTsap = localTsap;
+ }
+ public int getRemoteGroup() {
+ return remoteGroup;
+ }
+
+ public void setRemoteGroup(int remoteGroup) {
+ this.remoteGroup = remoteGroup;
+ }
+
public int getLocalRack() {
return localRack;
}
@@ -81,14 +112,6 @@ public void setLocalSlot(int localSlot) {
this.localSlot = localSlot;
}
- public int getLocalTsap() {
- return localTsap;
- }
-
- public void setLocalTsap(int localTsap) {
- this.localTsap = localTsap;
- }
-
public int getRemoteRack() {
return remoteRack;
}
@@ -104,7 +127,6 @@ public int getRemoteSlot() {
public void setRemoteSlot(int remoteSlot) {
this.remoteSlot = remoteSlot;
}
-
public int getRemoteTsap() {
return remoteTsap;
}
@@ -112,7 +134,6 @@ public int getRemoteTsap() {
public void setRemoteTsap(int remoteTsap) {
this.remoteTsap = remoteTsap;
}
-
public int getPduSize() {
return pduSize;
}
@@ -145,6 +166,12 @@ public void setControllerType(String controllerType) {
this.controllerType = controllerType;
}
+ public int getTimeoutRequest() {
+ return timeoutRequest;
+ }
+ public void setTimeoutRequest(int timeoutRequest) {
+ this.timeoutRequest = timeoutRequest;
+ }
/**
* Per default port for the S7 protocol is 102.
* @return 102
@@ -158,15 +185,18 @@ public int getDefaultPort() {
public String toString() {
return "Configuration{" +
"local-rack=" + localRack +
+ ", local-group=" + localGroup +
", local-slot=" + localSlot +
", local-tsap=" + localTsap +
+ ", remote-group=" + remoteGroup +
", remote-rack=" + remoteRack +
", remote-slot=" + remoteSlot +
", remote-tsap=" + remoteTsap +
", pduSize=" + pduSize +
", maxAmqCaller=" + maxAmqCaller +
", maxAmqCallee=" + maxAmqCallee +
- ", controllerType='" + controllerType + '\'' +
+ ", controllerType='" + controllerType +
+ ", timeoutRequest='" + timeoutRequest + '\'' +
'}';
}
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java
index 7b40d9b3d18..25edebf8115 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/context/S7DriverContext.java
@@ -39,9 +39,9 @@ public class S7DriverContext implements DriverContext, HasConfiguration 0) {
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/S7Optimizer.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/S7Optimizer.java
index 120c96ee698..13035eaa8b6 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/S7Optimizer.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/optimizer/S7Optimizer.java
@@ -24,6 +24,7 @@
import org.apache.plc4x.java.api.value.PlcValue;
import org.apache.plc4x.java.s7.readwrite.*;
import org.apache.plc4x.java.s7.readwrite.context.S7DriverContext;
+import org.apache.plc4x.java.s7.readwrite.tag.S7StringTag;
import org.apache.plc4x.java.s7.readwrite.tag.S7Tag;
import org.apache.plc4x.java.s7.readwrite.MemoryArea;
import org.apache.plc4x.java.s7.readwrite.TransportSize;
@@ -65,7 +66,12 @@ protected List processReadRequest(PlcReadRequest readRequest, Driver
S7Tag tag = (S7Tag) readRequest.getTag(tagName);
int readRequestItemSize = S7_ADDRESS_ANY_SIZE;
- int readResponseItemSize = 4 + (tag.getNumberOfElements() * tag.getDataType().getSizeInBytes());
+ int length = 1;
+ if(tag instanceof S7StringTag)
+ {
+ length = (((S7StringTag)tag).getStringLength() +2) * 8;
+ }
+ int readResponseItemSize = 4 + (tag.getNumberOfElements() * tag.getDataType().getSizeInBytes() * length);
// If it's an odd number of bytes, add one to make it even
if (readResponseItemSize % 2 == 1) {
readResponseItemSize++;
@@ -83,8 +89,10 @@ protected List processReadRequest(PlcReadRequest readRequest, Driver
// If they would exceed, start a new request.
else {
// Create a new PlcReadRequest containing the current tag item.
- processedRequests.add(new DefaultPlcReadRequest(
- ((DefaultPlcReadRequest) readRequest).getReader(), curTags));
+ if(!curTags.isEmpty()) {
+ processedRequests.add(new DefaultPlcReadRequest(
+ ((DefaultPlcReadRequest) readRequest).getReader(), curTags));
+ }
// Reset the size and item lists.
curRequestSize = EMPTY_READ_REQUEST_SIZE + readRequestItemSize;
@@ -130,7 +138,12 @@ protected List processWriteRequest(PlcWriteRequest writeRequest, Dri
if (tag.getDataType() == TransportSize.BOOL) {
writeRequestItemSize += Math.ceil((double) tag.getNumberOfElements() / 8);
} else {
- writeRequestItemSize += (tag.getNumberOfElements() * tag.getDataType().getSizeInBytes());
+ int length = 1;
+ if(tag instanceof S7StringTag)
+ {
+ length = (((S7StringTag)tag).getStringLength() + 2) * 8;
+ }
+ writeRequestItemSize += (tag.getNumberOfElements() * tag.getDataType().getSizeInBytes() * length);
}
// If it's an odd number of bytes, add one to make it even
if (writeRequestItemSize % 2 == 1) {
@@ -150,8 +163,10 @@ protected List processWriteRequest(PlcWriteRequest writeRequest, Dri
// If adding them would exceed, start a new request.
else {
// Create a new PlcWriteRequest containing the current tag item.
- processedRequests.add(new DefaultPlcWriteRequest(
- ((DefaultPlcWriteRequest) writeRequest).getWriter(), curTags));
+ if(!curTags.isEmpty()) {
+ processedRequests.add(new DefaultPlcWriteRequest(
+ ((DefaultPlcWriteRequest) writeRequest).getWriter(), curTags));
+ }
// Reset the size and item lists.
curRequestSize = EMPTY_WRITE_REQUEST_SIZE + writeRequestItemSize;
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolEventLogic.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolEventLogic.java
index a46b496bdba..04828519a30 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolEventLogic.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolEventLogic.java
@@ -73,7 +73,7 @@ public S7ProtocolEventLogic(BlockingQueue eventqueue) {
public void start() {
processor.start();
- dispacher.start();
+ dispacher.start();
}
public void stop(){
@@ -154,7 +154,7 @@ public void run() {
Logger.getLogger(S7ProtocolEventLogic.class.getName()).log(Level.SEVERE, null, ex);
}
}
- System.out.println("ObjectProcessor Bye!");
+ logger.debug("ObjectProcessor Bye!");
}
public void doShutdown(){
@@ -203,7 +203,7 @@ public void run() {
Logger.getLogger(S7ProtocolEventLogic.class.getName()).log(Level.SEVERE, null, ex);
}
}
- System.out.println("EventDispacher Bye!");
+ logger.debug("EventDispacher Bye!");
}
public void doShutdown(){
diff --git a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
index eb3ed7afedd..4c41a61cd19 100644
--- a/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
+++ b/plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
@@ -19,6 +19,7 @@
package org.apache.plc4x.java.s7.readwrite.protocol;
import org.apache.plc4x.java.api.model.PlcTag;
+import org.apache.plc4x.java.s7.readwrite.configuration.S7Configuration;
import org.apache.plc4x.java.s7.readwrite.utils.S7PlcSubscriptionHandle;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
@@ -30,6 +31,7 @@
import org.apache.plc4x.java.api.messages.PlcWriteRequest;
import org.apache.plc4x.java.api.messages.PlcWriteResponse;
import org.apache.plc4x.java.api.types.PlcResponseCode;
+import org.apache.plc4x.java.spi.configuration.HasConfiguration;
import org.apache.plc4x.java.spi.generation.*;
import org.apache.plc4x.java.spi.model.DefaultPlcSubscriptionTag;
import org.apache.plc4x.java.spi.values.PlcNull;
@@ -58,15 +60,11 @@
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.stream.IntStream;
-import org.apache.commons.lang3.concurrent.BasicThreadFactory;
-import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.plc4x.java.api.messages.PlcSubscriptionRequest;
import org.apache.plc4x.java.api.messages.PlcSubscriptionResponse;
@@ -83,22 +81,12 @@
* So we need to limit those.
* Thus, each request goes to a Work Queue and this Queue ensures, that only 3 are open at the same time.
*/
-public class S7ProtocolLogic extends Plc4xProtocolBase {
-
- public static final Duration REQUEST_TIMEOUT = Duration.ofMillis(10000);
+public class S7ProtocolLogic extends Plc4xProtocolBase implements HasConfiguration {
private final Logger logger = LoggerFactory.getLogger(S7ProtocolLogic.class);
- private final AtomicInteger tpduGenerator = new AtomicInteger(10);
-
- /*
- * Task group for managing connection redundancy.
- */
- private ExecutorService clientExecutorService = Executors.newFixedThreadPool(4, new BasicThreadFactory.Builder()
- .namingPattern("plc4x-app-thread-%d")
- .daemon(true)
- .priority(Thread.MAX_PRIORITY)
- .build());
-
+ private final AtomicInteger tpduGenerator = new AtomicInteger(0);
+
+ private S7Configuration configuration;
/*
* Take into account that the size of this buffer depends on the final device.
* S7-300 goes from 20 to 300 and for S7-400 it goes from 300 to 10000.
@@ -114,17 +102,6 @@ public class S7ProtocolLogic extends Plc4xProtocolBase {
private final S7PlcSubscriptionHandle usrHandle = new S7PlcSubscriptionHandle(EventType.USR, EventLogic);
private final S7PlcSubscriptionHandle almHandle = new S7PlcSubscriptionHandle(EventType.ALM, EventLogic);
- /*
- * For the reconnection functionality by a "TimeOut" of the connection,
- * you must keep track of open transactions. In general, an S7 device
- * supports a couple of simultaneous requests.
- * The rhythm of execution must be determined by the TransactionManager.
- * So far it is the way to indicate to the user that he must redo
- * his request.
- */
- private HashMap
-
+
org.bouncycastle
- bcmail-jdk15on
+ bcmail-jdk18on
org.bouncycastle
- bcpkix-jdk15on
+ bcpkix-jdk18on
org.bouncycastle
- bcprov-jdk15on
+ bcprov-jdk18on
@@ -253,7 +253,7 @@
org.slf4j:slf4j-simple
- org.bouncycastle:bcmail-jdk15on
+ org.bouncycastle:bcmail-jdk18on
org.apache.plc4x:plc4j-driver-ab-eth
org.apache.plc4x:plc4j-driver-ads
org.apache.plc4x:plc4j-driver-canopen
diff --git a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
index e2ff4651073..e7c5a81dc3a 100644
--- a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
+++ b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xCommunication.java
@@ -18,7 +18,9 @@
*/
package org.apache.plc4x.java.opcuaserver.backend;
+import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
+import org.apache.plc4x.java.api.PlcConnectionManager;
import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.apache.plc4x.java.api.messages.PlcReadRequest;
@@ -53,9 +55,7 @@
public class Plc4xCommunication extends AbstractLifecycle {
-
- private PlcDriverManager driverManager;
- private CachedPlcConnectionManager cachedPlcConnectionManager;
+ private PlcConnectionManager plcConnectionManager;
private final Logger logger = LoggerFactory.getLogger(getClass());
private final Integer DEFAULT_TIMEOUT = 1000000;
private final Integer DEFAULT_RETRY_BACKOFF = 5000;
@@ -71,7 +71,7 @@ public Plc4xCommunication() {
@Override
protected void onStartup() {
- setDriverManager(PlcDriverManager.getDefault());
+ setConnectionManager(CachedPlcConnectionManager.getBuilder(new DefaultPlcDriverManager()).build());
}
@Override
@@ -79,17 +79,16 @@ protected void onShutdown() {
//Do Nothing
}
- public PlcDriverManager getDriverManager() {
- return driverManager;
+ public PlcConnectionManager getConnectionManager() {
+ return plcConnectionManager;
}
- public void setDriverManager(PlcDriverManager driverManager) {
- this.driverManager = driverManager;
- this.cachedPlcConnectionManager = CachedPlcConnectionManager.getBuilder(driverManager.getConnectionManager()).build();
+ public void setConnectionManager(PlcConnectionManager connectionManager) {
+ this.plcConnectionManager = connectionManager;
}
public PlcTag getTag(String tag, String connectionString) throws PlcConnectionException {
- return driverManager.getDriverForUrl(connectionString).prepareTag(tag);
+ return plcConnectionManager.getDriverManager().getDriverForUrl(connectionString).prepareTag(tag);
}
public void addTag(DataItem item) {
@@ -156,7 +155,7 @@ public DataValue getValue(AttributeFilterContext.GetAttributeContext ctx, String
//Try to connect to PLC
try {
- connection = cachedPlcConnectionManager.getConnection(connectionString);
+ connection = plcConnectionManager.getConnection(connectionString);
logger.debug(connectionString + " Connected");
} catch (PlcConnectionException e) {
logger.error("Failed to connect to device, error raised - " + e);
@@ -248,7 +247,7 @@ public DataValue getValue(AttributeFilterContext.GetAttributeContext ctx, String
}
public void setValue(String tag, String value, String connectionString) {
- try (PlcConnection connection = cachedPlcConnectionManager.getConnection(connectionString)) {
+ try (PlcConnection connection = plcConnectionManager.getConnection(connectionString)) {
if (!connection.getMetadata().canWrite()) {
logger.error("This connection doesn't support writing.");
return;
diff --git a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
index fd4d6e91884..87f2fe60478 100644
--- a/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
+++ b/plc4j/integrations/opcua-server/src/main/java/org/apache/plc4x/java/opcuaserver/backend/Plc4xNamespace.java
@@ -23,6 +23,7 @@
import org.apache.plc4x.java.opcuaserver.configuration.Configuration;
import org.apache.plc4x.java.opcuaserver.configuration.DeviceConfiguration;
import org.apache.plc4x.java.opcuaserver.configuration.Tag;
+import org.apache.plc4x.java.utils.cache.CachedPlcConnectionManager;
import org.eclipse.milo.opcua.sdk.core.AccessLevel;
import org.eclipse.milo.opcua.sdk.core.Reference;
import org.eclipse.milo.opcua.sdk.core.ValueRank;
@@ -184,9 +185,9 @@ public void onDataItemsCreated(List dataItems) {
for (DataItem item : dataItems) {
plc4xServer.addTag(item);
- if (plc4xServer.getDriverManager() == null) {
+ if (plc4xServer.getConnectionManager() == null) {
plc4xServer.removeTag(item);
- plc4xServer.setDriverManager(new DefaultPlcDriverManager());
+ plc4xServer.setConnectionManager(CachedPlcConnectionManager.getBuilder(new DefaultPlcDriverManager()).build());
}
}
diff --git a/plc4j/pom.xml b/plc4j/pom.xml
index 192b24edba8..732394adb1a 100644
--- a/plc4j/pom.xml
+++ b/plc4j/pom.xml
@@ -126,6 +126,9 @@
check
+
+ **/Identifiers
+
false
@@ -221,7 +224,7 @@
We have to slightly increase the heap-size or some tests will fail.
Notice the @ instead of the $ as prefix? That's late evaluation.
-->
- -Xmx256m @{failsafeArgLine}
+ -Xmx256m
**/*IT.java
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java
index 33ef3166734..e6007b9a50b 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java
@@ -22,6 +22,9 @@
import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.ChannelPipeline;
import io.netty.handler.codec.MessageToMessageCodec;
+import io.netty.util.HashedWheelTimer;
+import io.netty.util.Timeout;
+import io.netty.util.Timer;
import io.vavr.control.Either;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.spi.configuration.Configuration;
@@ -39,6 +42,7 @@
import java.util.List;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
import java.util.function.Function;
@@ -53,13 +57,12 @@ public class Plc4xNettyWrapper extends MessageToMessageCodec {
private final PlcAuthentication authentication;
private final Queue registeredHandlers;
- private final ChannelPipeline pipeline;
+ private Timer timer = null;
private final boolean passive;
public Plc4xNettyWrapper(ChannelPipeline pipeline, boolean passive, Plc4xProtocolBase protocol,
PlcAuthentication authentication, Class clazz) {
super(clazz, Object.class);
- this.pipeline = pipeline;
this.passive = passive;
this.registeredHandlers = new ConcurrentLinkedQueue<>();
this.protocolBase = protocol;
@@ -105,6 +108,7 @@ public void fireDiscovered(Configuration c) {
public SendRequestContext sendRequest(T packet) {
return new DefaultSendRequestContext<>(handler -> {
logger.trace("Adding Response Handler ...");
+ handler.setTimeoutHandle(createTimeout(handler));
registeredHandlers.add(handler);
}, packet, this);
}
@@ -113,13 +117,33 @@ public SendRequestContext sendRequest(T packet) {
public ExpectRequestContext expectRequest(Class clazz, Duration timeout) {
return new DefaultExpectRequestContext<>(handler -> {
logger.trace("Adding Request Handler ...");
+ handler.setTimeoutHandle(createTimeout(handler));
registeredHandlers.add(handler);
}, clazz, timeout, this);
}
});
}
-
+ private Timeout createTimeout(HandlerRegistration handler)
+ {
+ Timer createdTimer = this.protocolBase.timer;
+ if(createdTimer==null) {
+ if(this.timer == null) {
+ this.timer = new HashedWheelTimer();
+ }
+ createdTimer = this.timer;
+ }
+ return createdTimer.newTimeout(tt -> {
+ if (tt.isCancelled()) {
+ return;
+ }
+ if( registeredHandlers.remove(handler))
+ {
+ handler.cancel();
+ handler.getOnTimeoutConsumer().accept(new TimeoutException());
+ }
+ }, handler.getTimeout().toMillis(), TimeUnit.MILLISECONDS);
+ }
@Override
protected void encode(ChannelHandlerContext channelHandlerContext, Object msg, List list) throws Exception {
// logger.trace("Encoding {}", plcRequestContainer);
@@ -145,21 +169,15 @@ protected void decode(ChannelHandlerContext channelHandlerContext, T t, List(ctx, authentication, passive));
} else if (evt instanceof CloseConnectionEvent) {
this.protocolBase.close(new DefaultConversationContext<>(ctx, authentication, passive));
+ if(this.timer!=null) {
+ this.timer.stop();
+ this.timer = null;
+ }
} else {
super.userEventTriggered(ctx, evt);
}
@@ -268,6 +290,7 @@ public void fireDiscovered(Configuration c) {
public SendRequestContext sendRequest(T1 packet) {
return new DefaultSendRequestContext<>(handler -> {
logger.trace("Adding Response Handler ...");
+ handler.setTimeoutHandle(createTimeout(handler));
registeredHandlers.add(handler);
}, packet, this);
}
@@ -276,6 +299,7 @@ public SendRequestContext sendRequest(T1 packet) {
public ExpectRequestContext expectRequest(Class clazz, Duration timeout) {
return new DefaultExpectRequestContext<>(handler -> {
logger.trace("Adding Request Handler ...");
+ handler.setTimeoutHandle(createTimeout(handler));
registeredHandlers.add(handler);
}, clazz, timeout, this);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xProtocolBase.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xProtocolBase.java
index dbbabb51e80..cf7bf458113 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xProtocolBase.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xProtocolBase.java
@@ -18,6 +18,7 @@
*/
package org.apache.plc4x.java.spi;
+import io.netty.util.Timer;
import org.apache.commons.lang3.NotImplementedException;
import org.apache.plc4x.java.api.messages.*;
import org.apache.plc4x.java.spi.context.DriverContext;
@@ -28,6 +29,8 @@ public abstract class Plc4xProtocolBase {
protected ConversationContext context;
+ protected Timer timer;
+
protected DriverContext driverContext;
public void setDriverContext(DriverContext driverContext) {
@@ -42,6 +45,10 @@ public void setContext(ConversationContext context) {
this.context = context;
}
+ public void setTimer(Timer timer) {
+ this.timer = timer;
+ }
+
public void onConnect(ConversationContext context) {
// Intentionally do nothing here
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelFactory.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelFactory.java
index cd034bda35d..69801c3908f 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelFactory.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/ChannelFactory.java
@@ -21,10 +21,11 @@
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelPipeline;
+import io.netty.util.Timer;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
public interface ChannelFactory {
-
+ Timer getTimer();
Channel createChannel(ChannelHandler channelHandler) throws PlcConnectionException;
boolean isPassive();
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
index 7e301043182..e2221492d0b 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultNettyPlcConnection.java
@@ -28,6 +28,7 @@
import org.apache.plc4x.java.api.listener.ConnectionStateListener;
import org.apache.plc4x.java.api.listener.EventListener;
import org.apache.plc4x.java.api.value.PlcValueHandler;
+import org.apache.plc4x.java.spi.Plc4xProtocolBase;
import org.apache.plc4x.java.spi.configuration.Configuration;
import org.apache.plc4x.java.spi.configuration.ConfigurationFactory;
import org.apache.plc4x.java.spi.events.*;
@@ -123,6 +124,7 @@ public void connect() throws PlcConnectionException {
channel = channelFactory.createChannel(getChannelHandler(sessionSetupCompleteFuture, sessionDisconnectCompleteFuture, sessionDiscoveredCompleteFuture));
channel.closeFuture().addListener(future -> {
if (!sessionSetupCompleteFuture.isDone()) {
+ channel.pipeline().fireUserEventTriggered(new CloseConnectionEvent());
sessionSetupCompleteFuture.completeExceptionally(
new PlcIoException("Connection terminated by remote"));
}
@@ -152,6 +154,11 @@ public void connect() throws PlcConnectionException {
*/
@Override
public void close() throws PlcConnectionException {
+ if(channel == null)
+ {
+ connected = false;
+ return;
+ }
logger.debug("Closing connection to PLC, await for disconnect = {}", awaitSessionDisconnectComplete);
channel.pipeline().fireUserEventTriggered(new DisconnectEvent());
try {
@@ -212,22 +219,45 @@ public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exc
} else if (evt instanceof DisconnectedEvent) {
sessionDisconnectCompleteFuture.complete(null);
eventListeners.forEach(ConnectionStateListener::disconnected);
+ super.userEventTriggered(ctx, evt);
} else if (evt instanceof DiscoveredEvent) {
sessionDiscoverCompleteFuture.complete(((DiscoveredEvent) evt).getConfiguration());
+ } else if (evt instanceof ConnectEvent) {
+ if (!sessionSetupCompleteFuture.isCompletedExceptionally()) {
+ if (awaitSessionSetupComplete) {
+ setProtocol(stackConfigurer.configurePipeline(configuration, pipeline, getAuthentication(),
+ channelFactory.isPassive()));
+ }
+ super.userEventTriggered(ctx, evt);
+ }
} else {
super.userEventTriggered(ctx, evt);
}
}
});
+ pipeline.addLast(new ChannelInboundHandlerAdapter() {
+ @Override
+ public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws PlcConnectionException {
+ logger.error("unknown error, close the connection", cause);
+ close();
+ }
+ }
+ );
// Initialize via Transport Layer
channelFactory.initializePipeline(pipeline);
// Initialize Protocol Layer
- setProtocol(stackConfigurer.configurePipeline(configuration, pipeline, getAuthentication(),
- channelFactory.isPassive()));
+ if (!awaitSessionSetupComplete) {
+ setProtocol(stackConfigurer.configurePipeline(configuration, pipeline, getAuthentication(),
+ channelFactory.isPassive()));
+ }
}
};
}
-
+ @Override
+ public void setProtocol(Plc4xProtocolBase> protocol) {
+ super.setProtocol(protocol);
+ protocol.setTimer(channelFactory.getTimer());
+ }
protected void sendChannelCreatedEvent() {
logger.trace("Channel was created, firing ChannelCreated Event");
// Send an event to the pipeline telling the Protocol filters what's going on.
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
index 8c9d6f91289..8220ae60d18 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/NettyChannelFactory.java
@@ -24,6 +24,8 @@
import io.netty.channel.ChannelHandler;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.util.HashedWheelTimer;
+import io.netty.util.Timer;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,6 +44,14 @@ public abstract class NettyChannelFactory implements ChannelFactory {
private static final Logger logger = LoggerFactory.getLogger(NettyChannelFactory.class);
+ protected static HashedWheelTimer timer = new HashedWheelTimer();
+ @Override
+ public Timer getTimer(){
+ if(timer==null){
+ timer = new HashedWheelTimer();
+ }
+ return timer;
+ }
private final Map eventLoops = new ConcurrentHashMap<>();
/**
@@ -151,6 +161,8 @@ public void closeEventLoopForChannel(Channel channel) {
EventLoopGroup eventExecutors = eventLoops.get(channel);
eventLoops.remove(channel);
eventExecutors.shutdownGracefully().awaitUninterruptibly();
+ timer.stop();
+ timer = null;
logger.info("Worker Group was closed successfully!");
} else {
logger.warn("Trying to remove EventLoop for Channel {} but have none stored", channel);
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferByteBased.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferByteBased.java
index 9f918cdc81b..2c28e8608bb 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferByteBased.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/generation/WriteBufferByteBased.java
@@ -45,10 +45,12 @@ public WriteBufferByteBased(int size, ByteOrder byteOrder) {
this.byteOrder = byteOrder;
}
+ @Override
public ByteOrder getByteOrder() {
return byteOrder;
}
+ @Override
public void setByteOrder(ByteOrder byteOrder) {
this.byteOrder = byteOrder;
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
index 7dc9216d8b5..bef8bc6f07e 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/internal/HandlerRegistration.java
@@ -18,13 +18,12 @@
*/
package org.apache.plc4x.java.spi.internal;
+import io.netty.util.Timeout;
import io.vavr.control.Either;
import java.time.Duration;
-import java.time.Instant;
import java.util.Deque;
import java.util.concurrent.TimeoutException;
-import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
@@ -46,7 +45,7 @@ public class HandlerRegistration {
private final BiConsumer, ? extends Throwable> errorConsumer;
private final Duration timeout;
- private final Instant timeoutAt;
+ private Timeout timeoutHandle;
private volatile boolean cancelled = false;
private volatile boolean handled = false;
@@ -58,7 +57,6 @@ public HandlerRegistration(Deque, Predicate>>> commands,
this.onTimeoutConsumer = onTimeoutConsumer;
this.errorConsumer = errorConsumer;
this.timeout = timeout;
- this.timeoutAt = Instant.now().plus(timeout);
}
public Deque, Predicate>>> getCommands() {
@@ -85,8 +83,12 @@ public Duration getTimeout() {
return timeout;
}
- public Instant getTimeoutAt() {
- return timeoutAt;
+ public void setTimeoutHandle(Timeout timeoutHandle) {
+ this.timeoutHandle = timeoutHandle;
+ }
+
+ public Timeout getTimeoutHandle() {
+ return timeoutHandle;
}
public void cancel() {
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteRequest.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteRequest.java
index 2a5b2953e47..91f2605b672 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteRequest.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/messages/DefaultPlcWriteRequest.java
@@ -27,6 +27,7 @@
import org.apache.plc4x.java.api.messages.PlcWriteRequest;
import org.apache.plc4x.java.api.messages.PlcWriteResponse;
import org.apache.plc4x.java.api.model.PlcTag;
+import org.apache.plc4x.java.api.types.PlcValueType;
import org.apache.plc4x.java.spi.codegen.WithOption;
import org.apache.plc4x.java.spi.generation.SerializationException;
import org.apache.plc4x.java.spi.generation.WriteBuffer;
@@ -93,6 +94,7 @@ public List getTags() {
return tags.values().stream().map(TagValueItem::getTag).collect(Collectors.toCollection(LinkedList::new));
}
+ @Override
@JsonIgnore
public PlcValue getPlcValue(String name) {
return tags.get(name).getValue();
@@ -194,6 +196,9 @@ public PlcWriteRequest build() {
PlcTag tag = tagValues.getLeft().get();
Object[] value = tagValues.getRight();
PlcValue plcValue = valueHandler.newPlcValue(tag, value);
+ if(tag.getPlcValueType()== PlcValueType.NULL){
+ tag.setPlcValueType(plcValue.getPlcValueType());
+ }
parsedTags.put(name, new TagValueItem(tag, plcValue));
});
return new DefaultPlcWriteRequest(writer, parsedTags);
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionTag.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionTag.java
index 8d4f3d41f5f..9fb29c02469 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionTag.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/model/DefaultPlcSubscriptionTag.java
@@ -59,7 +59,7 @@ public PlcValueType getPlcValueType() {
public List getArrayInfo() {
return plcTag.getArrayInfo();
}
-
+ @Override
public PlcSubscriptionType getPlcSubscriptionType() {
return plcSubscriptionType;
}
@@ -67,7 +67,7 @@ public PlcSubscriptionType getPlcSubscriptionType() {
public PlcTag getTag() {
return plcTag;
}
-
+ @Override
public Optional getDuration() {
return Optional.ofNullable(duration);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transaction/RequestTransactionManager.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transaction/RequestTransactionManager.java
index 3592ff2e552..4fba0210757 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transaction/RequestTransactionManager.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/transaction/RequestTransactionManager.java
@@ -18,21 +18,16 @@
*/
package org.apache.plc4x.java.spi.transaction;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
import java.util.Objects;
import java.util.Queue;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.Future;
+import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Consumer;
-import org.apache.commons.lang3.concurrent.BasicThreadFactory;
/**
* This is a limited Queue of Requests, a Protocol can use.
@@ -49,25 +44,23 @@ public class RequestTransactionManager {
private static final Logger logger = LoggerFactory.getLogger(RequestTransactionManager.class);
/** Executor that performs all operations */
- //static final ExecutorService executor = Executors.newScheduledThreadPool(4);
-
- final ExecutorService executor = Executors.newFixedThreadPool(4, new BasicThreadFactory.Builder()
- .namingPattern("plc4x-tm-thread-%d")
- .daemon(true)
- .priority(Thread.MAX_PRIORITY)
- .build());
-
+ private final ExecutorService executor;
private final Set runningRequests;
/** How many Transactions are allowed to run at the same time? */
private int numberOfConcurrentRequests;
/** Assigns each request a Unique Transaction Id, especially important for failure handling */
- private AtomicInteger transactionId = new AtomicInteger(0);
+ private final AtomicInteger transactionId = new AtomicInteger(0);
/** Important, this is a FIFO Queue for Fairness! */
- private Queue workLog = new ConcurrentLinkedQueue<>();
+ private final Queue workLog = new ConcurrentLinkedQueue<>();
public RequestTransactionManager(int numberOfConcurrentRequests) {
this.numberOfConcurrentRequests = numberOfConcurrentRequests;
// Immutable Map
+ executor = new ThreadPoolExecutor(0, numberOfConcurrentRequests,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue<>(1024),
+ new BasicThreadFactory.Builder().namingPattern("RequestTransactionManager-pool-%d").daemon(true).build(),
+ new ThreadPoolExecutor.AbortPolicy());;
runningRequests = ConcurrentHashMap.newKeySet();
}
@@ -91,13 +84,13 @@ public void setNumberOfConcurrentRequests(int numberOfConcurrentRequests) {
// As we might have increased the number, try to send some more requests.
processWorklog();
}
-
+
/*
* It allows the sequential shutdown of the associated driver.
*/
public void shutdown(){
executor.shutdown();
- }
+ }
public void submit(Consumer context) {
RequestTransaction transaction = startRequest();
@@ -114,7 +107,7 @@ void submit(RequestTransaction handle) {
processWorklog();
}
- private void processWorklog() {
+ private synchronized void processWorklog() {
while (runningRequests.size() < getNumberOfConcurrentRequests() && !workLog.isEmpty()) {
RequestTransaction next = workLog.poll();
if (next != null) {
@@ -219,11 +212,11 @@ public TransactionOperation(int transactionId, Runnable delegate) {
this.delegate = delegate;
}
- //TODO: Check MDC used. Created exception in Hop application
+ //TODO: Check MDC used. Created exception in Hop application
@Override
public void run() {
//try (final MDC.MDCCloseable closeable = MDC.putCloseable("plc4x.transactionId", Integer.toString(transactionId))) {
- try{
+ try{
logger.trace("Start execution of transaction {}", transactionId);
delegate.run();
logger.trace("Completed execution of transaction {}", transactionId);
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBOOL.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBOOL.java
index ed8e9b4b7fd..6ebac628224 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBOOL.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBOOL.java
@@ -56,6 +56,8 @@ public static PlcBOOL of(Object value) {
return new PlcBOOL((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcBOOL((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcBOOL(((Number) value).intValue());
} else {
return new PlcBOOL((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBYTE.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBYTE.java
index c950f4cc76a..0f5b0ddff02 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBYTE.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcBYTE.java
@@ -57,6 +57,8 @@ public static PlcBYTE of(Object value) {
return new PlcBYTE((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcBYTE((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcBYTE(((Number) value).intValue());
} else {
return new PlcBYTE((String) value);
}
@@ -69,9 +71,9 @@ public PlcBYTE(Boolean value) {
}
public PlcBYTE(Byte value) {
- if ((value < minValue) || (value > maxValue)) {
- throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
- }
+ //if ((value < minValue) || (value > maxValue)) {
+ // throw new PlcInvalidFieldException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
+ //}
this.value = value.shortValue();
this.isNullable = false;
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcCHAR.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcCHAR.java
index 54da8290b86..317633c8f5f 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcCHAR.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcCHAR.java
@@ -58,6 +58,8 @@ public static PlcCHAR of(Object value) {
return new PlcCHAR((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcCHAR((BigDecimal) value);
+ } else if (value instanceof Character) {
+ return new PlcCHAR((Character) value);
} else {
return new PlcCHAR((String) value);
}
@@ -72,92 +74,128 @@ public PlcCHAR(Boolean value) {
public PlcCHAR(Character value) {
super();
Integer val = (int) value;
+ this.value = val.shortValue();
+ this.isNullable = false;
+ /*
if ((val >= minValue) && (val <= maxValue)) {
this.value = val.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Byte value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue)) {
this.value = value.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Short value) {
super();
+ this.value = value;
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue)) {
this.value = value;
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Integer value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue)) {
this.value = value.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Long value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue)) {
this.value = value.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Float value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue) && (value % 1 == 0)) {
this.value = value.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(Double value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue) && (value % 1 == 0)) {
this.value = value.shortValue();
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(BigInteger value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = true;
+ /*
if ((value.compareTo(BigInteger.valueOf(minValue)) >= 0) && (value.compareTo(BigInteger.valueOf(maxValue)) <= 0)) {
this.value = value.shortValue();
this.isNullable = true;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(BigDecimal value) {
super();
+ this.value = value.shortValue();
+ this.isNullable = true;
+ /*
if ((value.compareTo(BigDecimal.valueOf(minValue)) >= 0) && (value.compareTo(BigDecimal.valueOf(maxValue)) <= 0) && (value.scale() <= 0)) {
this.value = value.shortValue();
this.isNullable = true;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
public PlcCHAR(String value) {
@@ -169,12 +207,15 @@ public PlcCHAR(String value) {
s = " ";
}
short val = (short) s.charAt(0);
+ this.isNullable = false;
+ /*
if ((val >= minValue) && (val <= maxValue)) {
this.value = val;
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
} catch (Exception e) {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
@@ -183,12 +224,16 @@ public PlcCHAR(String value) {
@JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
public PlcCHAR(@JsonProperty("value") short value) {
super();
+ this.value = value;
+ this.isNullable = false;
+ /*
if ((value >= minValue) && (value <= maxValue)) {
this.value = value;
this.isNullable = false;
} else {
throw new PlcInvalidTagException(String.format(VALUE_OUT_OF_RANGE, value, minValue, maxValue, this.getClass().getSimpleName()));
}
+ */
}
@Override
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE_AND_TIME.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE_AND_TIME.java
index 03863dd3b07..3498ee73fe8 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE_AND_TIME.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDATE_AND_TIME.java
@@ -30,6 +30,8 @@
import java.nio.charset.StandardCharsets;
import java.time.*;
+import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
public class PlcDATE_AND_TIME extends PlcSimpleValue {
@@ -41,6 +43,37 @@ public static PlcDATE_AND_TIME of(Object value) {
return new PlcDATE_AND_TIME(LocalDateTime.ofInstant(
Instant.ofEpochSecond((long) value), ZoneId.systemDefault()));
}
+ if (value instanceof Instant) {
+ return new PlcDATE_AND_TIME(((Instant) value).toEpochMilli());
+ }
+ if (value instanceof LocalDate) {
+ return new PlcDATE_AND_TIME(((LocalDate) value).atStartOfDay(ZoneId.of("UTC")).toLocalDateTime());
+ } else if (value instanceof String) {
+ String strValue = (String) value;
+ LocalDateTime date;
+ try {
+ date = LocalDateTime.parse(strValue);
+ } catch (DateTimeParseException e) {
+ try {
+ date = LocalDateTime.parse(strValue, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ } catch (DateTimeParseException e1) {
+ try {
+ date = LocalDateTime.parse(strValue, DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss"));
+ } catch (DateTimeParseException e2) {
+ try {
+ date = LocalDateTime.parse(strValue, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+ } catch (DateTimeParseException e3) {
+ try {
+ date = LocalDateTime.parse(strValue, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ } catch (DateTimeParseException e4) {
+ date = LocalDateTime.parse(strValue, DateTimeFormatter.ofPattern("yyyyMMdd"));
+ }
+ }
+ }
+ }
+ }
+ return new PlcDATE_AND_TIME(date);
+ }
throw new PlcRuntimeException("Invalid value type");
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDINT.java
index 5bedf773f18..8f689d9731e 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDINT.java
@@ -56,6 +56,8 @@ public static PlcDINT of(Object value) {
return new PlcDINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcDINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcDINT(((Number) value).intValue());
} else {
return new PlcDINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDWORD.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDWORD.java
index b3649f686c9..94b973d37a0 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDWORD.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcDWORD.java
@@ -57,6 +57,8 @@ public static PlcDWORD of(Object value) {
return new PlcDWORD((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcDWORD((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcDWORD(((Number) value).longValue());
} else {
return new PlcDWORD((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcINT.java
index eafd49ba482..1286f40c0dc 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcINT.java
@@ -56,6 +56,8 @@ public static PlcINT of(Object value) {
return new PlcINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcINT(((Number) value).intValue());
} else {
return new PlcINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLINT.java
index dcdea8c6de6..1f787b7fe8d 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLINT.java
@@ -56,6 +56,8 @@ public static PlcLINT of(Object value) {
return new PlcLINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcLINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcLINT(((Number) value).intValue());
} else {
return new PlcLINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLREAL.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLREAL.java
index 23d6cc8f75c..2938b02939a 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLREAL.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLREAL.java
@@ -56,6 +56,8 @@ public static PlcLREAL of(Object value) {
return new PlcLREAL((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcLREAL((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcLREAL(((Number) value).doubleValue());
} else {
return new PlcLREAL((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLTIME.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLTIME.java
index 60502992cea..2cecf53ac08 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLTIME.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLTIME.java
@@ -28,9 +28,12 @@
import org.apache.plc4x.java.spi.generation.SerializationException;
import org.apache.plc4x.java.spi.generation.WriteBuffer;
+import java.math.BigDecimal;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
+import java.time.Period;
+import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoUnit;
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
@@ -46,6 +49,19 @@ public static PlcLTIME of(Object value) {
} else if(value instanceof BigInteger) {
// TODO: Not 100% correct, we're loosing precision here
return new PlcLTIME(Duration.of(((BigInteger) value).longValue(), ChronoUnit.NANOS));
+ } else if (value instanceof Number) {
+ return new PlcLTIME(((Number) value).longValue());
+ } else if (value instanceof String) {
+ try {
+ return new PlcLTIME(Duration.parse((String) value));
+ } catch (DateTimeParseException e) {
+ try {
+ return new PlcLTIME(Period.parse((String) value).get(ChronoUnit.NANOS));
+ }catch (DateTimeParseException e1)
+ {
+ return new PlcLTIME(new BigDecimal((String) value).longValue());
+ }
+ }
}
throw new PlcRuntimeException("Invalid value type");
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLWORD.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLWORD.java
index e4959ec3c91..c5c941853a2 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLWORD.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcLWORD.java
@@ -55,6 +55,8 @@ public static PlcLWORD of(Object value) {
return new PlcLWORD((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcLWORD((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcLWORD(((Number) value).longValue());
} else {
return new PlcLWORD((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSINT.java
index 96c067d467b..99842a9ae59 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcSINT.java
@@ -56,6 +56,8 @@ public static PlcSINT of(Object value) {
return new PlcSINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcSINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcSINT(((Number) value).longValue());
} else {
return new PlcSINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME.java
index 23fb48004ee..90482c3b9ae 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME.java
@@ -28,8 +28,11 @@
import org.apache.plc4x.java.spi.generation.SerializationException;
import org.apache.plc4x.java.spi.generation.WriteBuffer;
+import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
+import java.time.Period;
+import java.time.format.DateTimeParseException;
import java.time.temporal.ChronoUnit;
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
@@ -42,6 +45,19 @@ public static PlcTIME of(Object value) {
return new PlcTIME(Duration.of((long) value, ChronoUnit.MILLIS));
} else if (value instanceof Long) {
return new PlcTIME(Duration.of((long) value, ChronoUnit.MILLIS));
+ } else if (value instanceof Number) {
+ return new PlcTIME(((Number) value).longValue());
+ } else if (value instanceof String) {
+ try {
+ return new PlcTIME(Duration.parse((String) value));
+ } catch (DateTimeParseException e) {
+ try {
+ return new PlcTIME(Period.parse((String) value).get(ChronoUnit.MILLIS));
+ }catch (DateTimeParseException e1)
+ {
+ return new PlcTIME(new BigDecimal((String) value).longValue());
+ }
+ }
}
throw new PlcRuntimeException("Invalid value type");
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME_OF_DAY.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME_OF_DAY.java
index 17aae62d540..551d511b661 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME_OF_DAY.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcTIME_OF_DAY.java
@@ -29,7 +29,9 @@
import org.apache.plc4x.java.spi.generation.WriteBuffer;
import java.nio.charset.StandardCharsets;
+import java.time.Instant;
import java.time.LocalTime;
+import java.time.ZoneId;
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, property = "className")
public class PlcTIME_OF_DAY extends PlcSimpleValue {
@@ -39,6 +41,8 @@ public static PlcTIME_OF_DAY of(Object value) {
return new PlcTIME_OF_DAY((LocalTime) value);
} else if(value instanceof Long) {
return new PlcTIME_OF_DAY((Long) value);
+ } else if (value instanceof Number) {
+ return new PlcTIME_OF_DAY(((Number) value).longValue());
}
throw new PlcRuntimeException("Invalid value type");
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUDINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUDINT.java
index e93a1cc45ff..2eb2ec45da3 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUDINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUDINT.java
@@ -56,6 +56,8 @@ public static PlcUDINT of(Object value) {
return new PlcUDINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcUDINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcUDINT(((Number) value).longValue());
} else {
return new PlcUDINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUINT.java
index e1561e004f7..6e43ca5732d 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUINT.java
@@ -56,6 +56,8 @@ public static PlcUINT of(Object value) {
return new PlcUINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcUINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcUINT(((Number) value).longValue());
} else {
return new PlcUINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcULINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcULINT.java
index 8a951fb7749..f24daba8752 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcULINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcULINT.java
@@ -54,6 +54,8 @@ public static PlcULINT of(Object value) {
return new PlcULINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcULINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcULINT(((Number) value).longValue());
} else {
return new PlcULINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUSINT.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUSINT.java
index 6a5a076e2ad..ab4cf79e9d7 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUSINT.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcUSINT.java
@@ -56,6 +56,8 @@ public static PlcUSINT of(Object value) {
return new PlcUSINT((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcUSINT((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcUSINT(((Number) value).intValue());
} else {
return new PlcUSINT((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValueHandler.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValueHandler.java
index d1691f051bf..1d22cc43526 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValueHandler.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcValueHandler.java
@@ -18,17 +18,23 @@
*/
package org.apache.plc4x.java.spi.values;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.plc4x.java.api.exceptions.PlcInvalidTagException;
import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
import org.apache.plc4x.java.api.exceptions.PlcUnsupportedDataTypeException;
import org.apache.plc4x.java.api.model.PlcTag;
import org.apache.plc4x.java.api.value.PlcValue;
+import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
+import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
public class PlcValueHandler implements org.apache.plc4x.java.api.value.PlcValueHandler {
@@ -58,6 +64,15 @@ public static PlcValue of(List> value) {
public static PlcValue of(Object[] values) {
if (values.length != 1) {
+ Object vo = ((Object[]) values)[0];
+ if (vo instanceof PlcCHAR) {
+ String v = Arrays.stream(values).map(Objects::toString).collect(Collectors.joining());
+ return PlcSTRING.of(v);
+ }
+ if (vo instanceof PlcWCHAR) {
+ String v = Arrays.stream(values).map(Objects::toString).collect(Collectors.joining());
+ return PlcSTRING.of(v);
+ }
PlcList list = new PlcList();
for (Object value : values) {
list.add(of(new Object[]{value}));
@@ -83,6 +98,16 @@ public static PlcValue of(Object[] values) {
if (value instanceof Long) {
return PlcLINT.of(value);
}
+ if (value instanceof BigInteger) {
+ try {
+ return new PlcLINT((BigInteger) value);
+ }catch (PlcInvalidTagException e) {
+ return new PlcULINT((BigInteger) value);
+ }
+ }
+ if (value instanceof BigDecimal) {
+ return new PlcLINT((BigDecimal) value);
+ }
if (value instanceof Float) {
return PlcREAL.of(value);
}
@@ -116,13 +141,12 @@ public static PlcValue of(PlcTag tag, Object value) {
return of(tag, new Object[]{value});
}
-
public static PlcValue of(PlcTag tag, Object[] values) {
if (values.length == 1) {
Object value = values[0];
- if(tag.getPlcValueType() == null) {
+ if (tag.getPlcValueType() == null) {
// TODO: This is a hacky shortcut ..
- if(value instanceof PlcValue) {
+ if (value instanceof PlcValue) {
return (PlcValue) value;
}
return new PlcNull();
@@ -131,16 +155,14 @@ public static PlcValue of(PlcTag tag, Object[] values) {
case BOOL:
return PlcBOOL.of(value);
case BYTE:
- if(value instanceof Short) {
- return new PlcBYTE((short) value);
- } else if(value instanceof Integer) {
- return new PlcBYTE(((Integer) value).shortValue());
- } else if(value instanceof Long) {
- return new PlcBYTE(((Long) value).shortValue());
- } else if(value instanceof BigInteger) {
- return new PlcBYTE(((BigInteger) value).shortValue());
+ if (tag.getNumberOfElements() > 1) {
+ if (value instanceof byte[]) {
+ return of(tag, ArrayUtils.toObject((byte[]) value));
+ } else if (value instanceof String && ((String) value).contains(",")) {
+ return of(tag, stringToByteArray((String) value));
+ }
}
- throw new PlcRuntimeException("BYTE requires short");
+ return PlcBYTE.of(value);
case SINT:
return PlcSINT.of(value);
case USINT:
@@ -150,13 +172,13 @@ public static PlcValue of(PlcTag tag, Object[] values) {
case UINT:
return PlcUINT.of(value);
case WORD:
- if(value instanceof Short) {
+ if (value instanceof Short) {
return new PlcWORD((int) value);
- } else if(value instanceof Integer) {
+ } else if (value instanceof Integer) {
return new PlcWORD((int) value);
- } else if(value instanceof Long) {
+ } else if (value instanceof Long) {
return new PlcWORD(((Long) value).intValue());
- } else if(value instanceof BigInteger) {
+ } else if (value instanceof BigInteger) {
return new PlcWORD(((BigInteger) value).intValue());
}
throw new PlcRuntimeException("WORD requires int");
@@ -165,13 +187,13 @@ public static PlcValue of(PlcTag tag, Object[] values) {
case UDINT:
return PlcUDINT.of(value);
case DWORD:
- if(value instanceof Short) {
+ if (value instanceof Short) {
return new PlcDWORD((long) value);
- } else if(value instanceof Integer) {
+ } else if (value instanceof Integer) {
return new PlcDWORD((long) value);
- } else if(value instanceof Long) {
+ } else if (value instanceof Long) {
return new PlcDWORD((long) value);
- } else if(value instanceof BigInteger) {
+ } else if (value instanceof BigInteger) {
return new PlcDWORD(((BigInteger) value).longValue());
}
throw new PlcRuntimeException("DWORD requires long");
@@ -180,13 +202,13 @@ public static PlcValue of(PlcTag tag, Object[] values) {
case ULINT:
return PlcULINT.of(value);
case LWORD:
- if(value instanceof Short) {
+ if (value instanceof Short) {
return new PlcLWORD(BigInteger.valueOf((long) value));
- } else if(value instanceof Integer) {
+ } else if (value instanceof Integer) {
return new PlcLWORD(BigInteger.valueOf((long) value));
- } else if(value instanceof Long) {
+ } else if (value instanceof Long) {
return new PlcLWORD(BigInteger.valueOf((long) value));
- } else if(value instanceof BigInteger) {
+ } else if (value instanceof BigInteger) {
return new PlcLWORD((BigInteger) value);
}
throw new PlcRuntimeException("LWORD requires BigInteger");
@@ -225,4 +247,15 @@ public static PlcValue of(PlcTag tag, Object[] values) {
public static PlcValue customDataType(Object[] values) {
return of(values);
}
+
+ private static byte[] stringToByteArray(String stringBytes) {
+ String[] byteValues = stringBytes.substring(1, stringBytes.length() - 1).split(",");
+ byte[] bytes = new byte[byteValues.length];
+
+ for (int i = 0, len = bytes.length; i < len; i++) {
+ int intvalue = Integer.parseInt(byteValues[i].trim());
+ bytes[i] = (byte) (intvalue & 0xff);
+ }
+ return bytes;
+ }
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWCHAR.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWCHAR.java
index 927cc2b3482..9bfabd9e90c 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWCHAR.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWCHAR.java
@@ -58,6 +58,8 @@ public static PlcWCHAR of(Object value) {
return new PlcWCHAR((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcWCHAR((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcWCHAR(((Number) value).intValue());
} else {
return new PlcWCHAR((String) value);
}
diff --git a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWORD.java b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWORD.java
index dcebcb8e8da..b4ace8ebc0f 100644
--- a/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWORD.java
+++ b/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/values/PlcWORD.java
@@ -57,6 +57,8 @@ public static PlcWORD of(Object value) {
return new PlcWORD((BigInteger) value);
} else if (value instanceof BigDecimal) {
return new PlcWORD((BigDecimal) value);
+ } else if (value instanceof Number) {
+ return new PlcWORD(((Number) value).longValue());
} else {
return new PlcWORD((String) value);
}
diff --git a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java
index 3b360c3b918..4ac51ce8e9a 100644
--- a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java
+++ b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java
@@ -90,8 +90,8 @@ void conversationTimeoutTest() throws Exception {
Thread.sleep(750);
- verify(false, false, false);
- wrapper.decode(channelHandlerContext, new Date(), new ArrayList<>());
+ //verify(false, false, false);
+ //wrapper.decode(channelHandlerContext, new Date(), new ArrayList<>());
verify(true, false, false);
}
diff --git a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManagerTest.java b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManagerTest.java
index 186b358ce03..a8aabcc76d0 100644
--- a/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManagerTest.java
+++ b/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/optimizer/RequestTransactionManagerTest.java
@@ -27,7 +27,7 @@
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
-import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.Assertions.assertTrue;
public class RequestTransactionManagerTest {
@@ -124,11 +124,10 @@ public void version2() throws ExecutionException, InterruptedException {
}
@Test
- @Disabled("This test is randomly failing on Jenkins")
+ //@Disabled("This test is randomly failing on Jenkins")
public void abortTransactionFromExternally() throws ExecutionException, InterruptedException {
CompletableFuture sendRequest = new CompletableFuture<>();
CompletableFuture receiveResponse = new CompletableFuture<>();
- CompletableFuture transactionIsFinished = new CompletableFuture<>();
RequestTransactionManager tm = new RequestTransactionManager();
RequestTransactionManager.RequestTransaction handle = tm.startRequest();
@@ -136,10 +135,16 @@ public void abortTransactionFromExternally() throws ExecutionException, Interrup
// ...
sendRequest.complete(null);
// Receive
- receiveResponse.thenAccept((n) -> {
- handle.endRequest();
- transactionIsFinished.complete(null);
+ receiveResponse.whenComplete((n,e) -> {
+ // never execute
+ fail();
});
+ //Wait that the fail is handled internally surely and then interrupt this block execute
+ try {
+ receiveResponse.get();
+ } catch (Exception e) {
+ assertInstanceOf(InterruptedException.class,e);
+ }
});
// Assert that there is a request going on
@@ -149,13 +154,14 @@ public void abortTransactionFromExternally() throws ExecutionException, Interrup
handle.failRequest(new RuntimeException());
// Wait that the fail is handled internally surely
- Thread.sleep(100);
+ //Thread.sleep(100);
// Assert that no requests are active
assertEquals(0, tm.getNumberOfActiveRequests());
// Assert that its cancelled
assertTrue(handle.getCompletionFuture().isCancelled());
+ assertFalse(receiveResponse.isDone());
}
private void sendRequest(RequestTransactionManager tm, CompletableFuture sendRequest, CompletableFuture endRequest, CompletableFuture requestIsEnded) {
diff --git a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
index 650d976c854..ae30a14d4ca 100644
--- a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
+++ b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/CachedPlcConnectionManager.java
@@ -21,6 +21,7 @@
import org.apache.plc4x.java.DefaultPlcDriverManager;
import org.apache.plc4x.java.api.PlcConnection;
import org.apache.plc4x.java.api.PlcConnectionManager;
+import org.apache.plc4x.java.api.PlcDriverManager;
import org.apache.plc4x.java.api.authentication.PlcAuthentication;
import org.apache.plc4x.java.api.exceptions.PlcConnectionException;
import org.slf4j.Logger;
@@ -58,17 +59,26 @@ public CachedPlcConnectionManager(PlcConnectionManager connectionManager, Durati
this.connectionContainers = new HashMap<>();
}
+ @Override
public PlcConnection getConnection(String url) throws PlcConnectionException {
+ return getConnection(url,null);
+ }
+
+ @Override
+ public PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException {
ConnectionContainer connectionContainer;
synchronized (connectionContainers) {
connectionContainer = connectionContainers.get(url);
- if (connectionContainers.get(url) == null) {
+ if (connectionContainer == null) {
LOG.debug("Creating new connection");
// Establish the real connection to the plc
- PlcConnection connection = connectionManager.getConnection(url);
-
- // Crate a connection container to manage handling this connection
+ PlcConnection connection;
+ if(authentication!=null) {
+ connection = connectionManager.getConnection(url,authentication);
+ } else{
+ connection = connectionManager.getConnection(url);
+ }
connectionContainer = new ConnectionContainer(connection, maxLeaseTime);
connectionContainers.put(url, connectionContainer);
} else {
@@ -85,8 +95,9 @@ public PlcConnection getConnection(String url) throws PlcConnectionException {
}
}
- public PlcConnection getConnection(String url, PlcAuthentication authentication) throws PlcConnectionException {
- throw new PlcConnectionException("the cached driver manager currently doesn't support authentication");
+ @Override
+ public PlcDriverManager getDriverManager() {
+ return connectionManager.getDriverManager();
}
public static class Builder {
diff --git a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/LeasedPlcConnection.java b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/LeasedPlcConnection.java
index 662dd294c46..7dcbd42d64c 100644
--- a/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/LeasedPlcConnection.java
+++ b/plc4j/tools/connection-cache/src/main/java/org/apache/plc4x/java/utils/cache/LeasedPlcConnection.java
@@ -34,13 +34,13 @@
public class LeasedPlcConnection implements PlcConnection {
- private final ConnectionContainer connectionContainer;
+ private ConnectionContainer connectionContainer;
private PlcConnection connection;
-
+ private Timer usageTimer;
public LeasedPlcConnection(ConnectionContainer connectionContainer, PlcConnection connection, Duration maxUseTime) {
this.connectionContainer = connectionContainer;
this.connection = connection;
- Timer usageTimer = new Timer();
+ usageTimer = new Timer();
usageTimer.schedule(new TimerTask() {
@Override
public void run() {
@@ -51,11 +51,18 @@ public void run() {
@Override
public synchronized void close() {
- // Make the connection unusable.
- connection = null;
-
+ if(usageTimer != null){
+ usageTimer.cancel();
+ usageTimer = null;
+ }
+ if(connectionContainer == null) {
+ return;
+ }
// Tell the connection container that the connection is free to be reused.
connectionContainer.returnConnection(this);
+ // Make the connection unusable.
+ connection = null;
+ connectionContainer = null;
}
@Override
diff --git a/plc4j/tools/plc4x-server/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java b/plc4j/tools/plc4x-server/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
index 6d856ea4487..07c90775b62 100644
--- a/plc4j/tools/plc4x-server/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
+++ b/plc4j/tools/plc4x-server/src/main/generated/org/apache/plc4x/java/plc4x/readwrite/Plc4xValue.java
@@ -158,6 +158,24 @@ public static PlcValue staticParse(ReadBuffer readBuffer, Plc4xValueType valueTy
String value = /*TODO: migrate me*/ /*TODO: migrate me*/
readBuffer.readString("", 16, WithOption.WithEncoding("UTF-16"));
+ return new PlcSTRING(value);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.parseString(
+ readBuffer, "UTF-8"));
+
+ return new PlcSTRING(value);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+
+ // Manual Field (value)
+ String value =
+ (String)
+ (org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.parseString(
+ readBuffer, "UTF-16"));
+
return new PlcSTRING(value);
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
@@ -325,6 +343,14 @@ public static void staticSerialize(
/*TODO: migrate me*/
/*TODO: migrate me*/ writeBuffer.writeString(
"", 16, (String) (value), WithOption.WithEncoding("UTF-16"));
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+ // Manual Field (value)
+ org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.serializeString(
+ writeBuffer, _value, "UTF-8");
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+ // Manual Field (value)
+ org.apache.plc4x.java.plc4x.readwrite.utils.StaticHelper.serializeString(
+ writeBuffer, _value, "UTF-16");
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
// Simple Field (milliseconds)
long milliseconds = (long) _value.getLong();
@@ -436,6 +462,12 @@ public static int getLengthInBits(PlcValue _value, Plc4xValueType valueType) {
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.WCHAR)) { // STRING
// Simple Field (value)
sizeInBits += 16;
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.STRING)) { // STRING
+ // Manual Field (value)
+ sizeInBits += (((STR_LEN(_value)) + (1))) * (8);
+ } else if (EvaluationHelper.equals(valueType, Plc4xValueType.WSTRING)) { // STRING
+ // Manual Field (value)
+ sizeInBits += (((STR_LEN(_value)) + (1))) * (16);
} else if (EvaluationHelper.equals(valueType, Plc4xValueType.TIME)) { // TIME
// Simple Field (milliseconds)
sizeInBits += 32;
diff --git a/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java b/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java
new file mode 100644
index 00000000000..6ef16fd01cb
--- /dev/null
+++ b/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/plc4x/readwrite/utils/StaticHelper.java
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.plc4x.java.plc4x.readwrite.utils;
+
+import org.apache.plc4x.java.api.exceptions.PlcRuntimeException;
+import org.apache.plc4x.java.api.value.PlcValue;
+import org.apache.plc4x.java.spi.generation.ParseException;
+import org.apache.plc4x.java.spi.generation.ReadBuffer;
+import org.apache.plc4x.java.spi.generation.SerializationException;
+import org.apache.plc4x.java.spi.generation.WriteBuffer;
+
+import java.nio.charset.StandardCharsets;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class StaticHelper {
+
+ public static String parseString(ReadBuffer io, String encoding) {
+ try {
+ if ("UTF-8".equalsIgnoreCase(encoding)) {
+ // This is the maximum number of bytes a string can be long.
+ short stringLength = io.readUnsignedShort(8);
+ // This is the total length of the string on the PLC (Not necessarily the number of characters read)
+ final byte[] byteArray = new byte[stringLength];
+ for (int i = 0; (i < stringLength) && io.hasMore(8); i++) {
+ final byte curByte = io.readByte();
+ byteArray[i] = curByte;
+ }
+ return new String(byteArray, StandardCharsets.UTF_8);
+ } else if ("UTF-16".equalsIgnoreCase(encoding)) {
+ // This is the maximum number of bytes a string can be long.
+ int stringLength = io.readUnsignedInt(16);
+ final byte[] byteArray = new byte[stringLength * 2];
+ for (int i = 0; (i < stringLength) && io.hasMore(16); i++) {
+ final short curShort = io.readShort(16);
+ byteArray[i * 2] = (byte) (curShort >>> 8);
+ byteArray[(i * 2) + 1] = (byte) (curShort & 0xFF);
+ }
+ return new String(byteArray, StandardCharsets.UTF_16);
+ } else {
+ throw new PlcRuntimeException("Unsupported string encoding " + encoding);
+ }
+ } catch (ParseException e) {
+ throw new PlcRuntimeException("Error parsing string", e);
+ }
+ }
+ public static void serializeString(WriteBuffer io, PlcValue value, String encoding) {
+ String valueString = value.getString();
+ valueString = valueString == null ? "" : valueString;
+
+ if ("UTF-8".equalsIgnoreCase(encoding)) {
+ final byte[] raw = valueString.getBytes(StandardCharsets.UTF_8);
+ try {
+ io.writeByte((byte) raw.length);
+ for (byte b : raw) {
+ io.writeByte(b);
+ }
+ }
+ catch (SerializationException ex) {
+ Logger.getLogger(StaticHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } else if ("UTF-16".equalsIgnoreCase(encoding)) {
+ final byte[] raw = valueString.getBytes(StandardCharsets.UTF_16);
+ try {
+ io.writeUnsignedInt(16, raw.length);
+ for (int i = 0; i < raw.length; i++) {
+ io.writeByte( raw[i]);
+ }
+ }
+ catch (SerializationException ex) {
+ Logger.getLogger(StaticHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } else {
+ throw new PlcRuntimeException("Unsupported string encoding " + encoding);
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/tools/plc4xserver/protocol/Plc4xServerAdapter.java b/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/tools/plc4xserver/protocol/Plc4xServerAdapter.java
index 7194b24ffce..f410a2f9c90 100644
--- a/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/tools/plc4xserver/protocol/Plc4xServerAdapter.java
+++ b/plc4j/tools/plc4x-server/src/main/java/org/apache/plc4x/java/tools/plc4xserver/protocol/Plc4xServerAdapter.java
@@ -57,7 +57,8 @@ public Plc4xServerAdapter() {
public void channelRead(ChannelHandlerContext ctx, Object msg) {
if (msg instanceof Plc4xMessage) {
final Plc4xMessage plc4xMessage = (Plc4xMessage) msg;
- switch (plc4xMessage.getRequestType()) {
+ Plc4xRequestType plc4xRequestType = plc4xMessage.getRequestType();
+ switch (plc4xRequestType) {
case CONNECT_REQUEST: {
Plc4xConnectRequest request = (Plc4xConnectRequest) plc4xMessage;
try (final PlcConnection ignored = connectionManager.getConnection(request.getConnectionString())) {
@@ -169,6 +170,8 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
ctx.writeAndFlush(response);
}
break;
+ default:
+ logger.error("Error executing plc4xRequestType: {}", plc4xRequestType);
}
}
}
diff --git a/plc4j/transports/pom.xml b/plc4j/transports/pom.xml
index 04a8ddfb949..60fe78f266b 100644
--- a/plc4j/transports/pom.xml
+++ b/plc4j/transports/pom.xml
@@ -45,5 +45,19 @@
virtualcan
test
-
+
+
+
+ org.apache.felix
+ maven-bundle-plugin
+
+
+
+ *
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index cb1e1778632..55477ffa750 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,7 @@
4.2.0
1.4.3
- 1.70
+ 1.71
1.12.22
3.22.1
@@ -475,17 +475,17 @@
org.bouncycastle
- bcmail-jdk15on
+ bcmail-jdk18on
${bouncycastle.version}
org.bouncycastle
- bcpkix-jdk15on
+ bcpkix-jdk18on
${bouncycastle.version}
org.bouncycastle
- bcprov-jdk15on
+ bcprov-jdk18on
${bouncycastle.version}
@@ -509,6 +509,16 @@
org.eclipse.milo
stack-core
${milo.version}
+
+
+ org.bouncycastle
+ bcprov-jdk15on
+
+
+ org.bouncycastle
+ bcpkix-jdk15on
+
+
org.eclipse.milo
diff --git a/protocols/opcua/downloads/Opc.Ua.NodeIds.Services.csv b/protocols/opcua/downloads/Opc.Ua.NodeIds.Services.csv
new file mode 100644
index 00000000000..c98a20b0834
--- /dev/null
+++ b/protocols/opcua/downloads/Opc.Ua.NodeIds.Services.csv
@@ -0,0 +1,1749 @@
+AccessLevelExType,15406,DataType
+AccessLevelType,15031,DataType
+AccessRestrictionType,95,DataType
+AcknowledgeableConditionType,2881,ObjectType
+ActivateSessionRequest,465,DataType
+ActivateSessionRequest_Encoding_DefaultBinary,467,Object
+ActivateSessionRequest_Encoding_DefaultJson,15145,Object
+ActivateSessionRequest_Encoding_DefaultXml,466,Object
+ActivateSessionResponse,468,DataType
+ActivateSessionResponse_Encoding_DefaultBinary,470,Object
+ActivateSessionResponse_Encoding_DefaultJson,15146,Object
+ActivateSessionResponse_Encoding_DefaultXml,469,Object
+AdditionalParametersType,16313,DataType
+AdditionalParametersType_Encoding_DefaultBinary,17537,Object
+AdditionalParametersType_Encoding_DefaultJson,17547,Object
+AdditionalParametersType_Encoding_DefaultXml,17541,Object
+AddNodesItem,376,DataType
+AddNodesItem_Encoding_DefaultBinary,378,Object
+AddNodesItem_Encoding_DefaultJson,15165,Object
+AddNodesItem_Encoding_DefaultXml,377,Object
+AddNodesRequest,486,DataType
+AddNodesRequest_Encoding_DefaultBinary,488,Object
+AddNodesRequest_Encoding_DefaultJson,15167,Object
+AddNodesRequest_Encoding_DefaultXml,487,Object
+AddNodesResponse,489,DataType
+AddNodesResponse_Encoding_DefaultBinary,491,Object
+AddNodesResponse_Encoding_DefaultJson,15168,Object
+AddNodesResponse_Encoding_DefaultXml,490,Object
+AddNodesResult,483,DataType
+AddNodesResult_Encoding_DefaultBinary,485,Object
+AddNodesResult_Encoding_DefaultJson,15166,Object
+AddNodesResult_Encoding_DefaultXml,484,Object
+AddReferencesItem,379,DataType
+AddReferencesItem_Encoding_DefaultBinary,381,Object
+AddReferencesItem_Encoding_DefaultJson,15169,Object
+AddReferencesItem_Encoding_DefaultXml,380,Object
+AddReferencesRequest,492,DataType
+AddReferencesRequest_Encoding_DefaultBinary,494,Object
+AddReferencesRequest_Encoding_DefaultJson,15170,Object
+AddReferencesRequest_Encoding_DefaultXml,493,Object
+AddReferencesResponse,495,DataType
+AddReferencesResponse_Encoding_DefaultBinary,497,Object
+AddReferencesResponse_Encoding_DefaultJson,15171,Object
+AddReferencesResponse_Encoding_DefaultXml,496,Object
+AddressSpaceFileType,11595,ObjectType
+AggregateConfiguration,948,DataType
+AggregateConfiguration_Encoding_DefaultBinary,950,Object
+AggregateConfiguration_Encoding_DefaultJson,15304,Object
+AggregateConfiguration_Encoding_DefaultXml,949,Object
+AggregateConfigurationType,11187,ObjectType
+AggregateFilter,728,DataType
+AggregateFilter_Encoding_DefaultBinary,730,Object
+AggregateFilter_Encoding_DefaultJson,15312,Object
+AggregateFilter_Encoding_DefaultXml,729,Object
+AggregateFilterResult,737,DataType
+AggregateFilterResult_Encoding_DefaultBinary,739,Object
+AggregateFilterResult_Encoding_DefaultJson,15315,Object
+AggregateFilterResult_Encoding_DefaultXml,738,Object
+AggregateFunction_AnnotationCount,2351,Object
+AggregateFunction_Average,2342,Object
+AggregateFunction_Count,2352,Object
+AggregateFunction_Delta,2359,Object
+AggregateFunction_DeltaBounds,11507,Object
+AggregateFunction_DurationBad,2361,Object
+AggregateFunction_DurationGood,2360,Object
+AggregateFunction_DurationInStateNonZero,11308,Object
+AggregateFunction_DurationInStateZero,11307,Object
+AggregateFunction_End,2358,Object
+AggregateFunction_EndBound,11506,Object
+AggregateFunction_Interpolative,2341,Object
+AggregateFunction_Maximum,2347,Object
+AggregateFunction_Maximum2,11287,Object
+AggregateFunction_MaximumActualTime,2349,Object
+AggregateFunction_MaximumActualTime2,11306,Object
+AggregateFunction_Minimum,2346,Object
+AggregateFunction_Minimum2,11286,Object
+AggregateFunction_MinimumActualTime,2348,Object
+AggregateFunction_MinimumActualTime2,11305,Object
+AggregateFunction_NumberOfTransitions,2355,Object
+AggregateFunction_PercentBad,2363,Object
+AggregateFunction_PercentGood,2362,Object
+AggregateFunction_Range,2350,Object
+AggregateFunction_Range2,11288,Object
+AggregateFunction_StandardDeviationPopulation,11427,Object
+AggregateFunction_StandardDeviationSample,11426,Object
+AggregateFunction_Start,2357,Object
+AggregateFunction_StartBound,11505,Object
+AggregateFunction_TimeAverage,2343,Object
+AggregateFunction_TimeAverage2,11285,Object
+AggregateFunction_Total,2344,Object
+AggregateFunction_Total2,11304,Object
+AggregateFunction_VariancePopulation,11429,Object
+AggregateFunction_VarianceSample,11428,Object
+AggregateFunction_WorstQuality,2364,Object
+AggregateFunction_WorstQuality2,11292,Object
+AggregateFunctionType,2340,ObjectType
+Aggregates,44,ReferenceType
+AlarmConditionType,2915,ObjectType
+AlarmGroupMember,16362,ReferenceType
+AlarmGroupType,16405,ObjectType
+AlarmMetricsType,17279,ObjectType
+AlarmRateVariableType,17277,VariableType
+Aliases,23470,Object
+AliasFor,23469,ReferenceType
+AliasNameCategoryType,23456,ObjectType
+AliasNameDataType,23468,DataType
+AliasNameDataType_Encoding_DefaultBinary,23499,Object
+AliasNameDataType_Encoding_DefaultJson,23511,Object
+AliasNameDataType_Encoding_DefaultXml,23505,Object
+AliasNameType,23455,ObjectType
+AllowNulls,3070,Variable
+AlwaysGeneratesEvent,3065,ReferenceType
+AnalogItemType,2368,VariableType
+AnalogUnitRangeType,17570,VariableType
+AnalogUnitType,17497,VariableType
+Annotation,891,DataType
+Annotation_Encoding_DefaultBinary,893,Object
+Annotation_Encoding_DefaultJson,15382,Object
+Annotation_Encoding_DefaultXml,892,Object
+Annotations,11214,Variable
+AnonymousIdentityToken,319,DataType
+AnonymousIdentityToken_Encoding_DefaultBinary,321,Object
+AnonymousIdentityToken_Encoding_DefaultJson,15141,Object
+AnonymousIdentityToken_Encoding_DefaultXml,320,Object
+ApplicationCertificateType,12557,ObjectType
+ApplicationDescription,308,DataType
+ApplicationDescription_Encoding_DefaultBinary,310,Object
+ApplicationDescription_Encoding_DefaultJson,15087,Object
+ApplicationDescription_Encoding_DefaultXml,309,Object
+ApplicationInstanceCertificate,311,DataType
+ApplicationType,307,DataType
+Argument,296,DataType
+Argument_Encoding_DefaultBinary,298,Object
+Argument_Encoding_DefaultJson,15081,Object
+Argument_Encoding_DefaultXml,297,Object
+ArrayItemType,12021,VariableType
+AttributeOperand,598,DataType
+AttributeOperand_Encoding_DefaultBinary,600,Object
+AttributeOperand_Encoding_DefaultJson,15209,Object
+AttributeOperand_Encoding_DefaultXml,599,Object
+AttributeWriteMask,347,DataType
+AudioDataType,16307,DataType
+AudioVariableType,17986,VariableType
+AuditActivateSessionEventType,2075,ObjectType
+AuditAddNodesEventType,2091,ObjectType
+AuditAddReferencesEventType,2095,ObjectType
+AuditCancelEventType,2078,ObjectType
+AuditCertificateDataMismatchEventType,2082,ObjectType
+AuditCertificateEventType,2080,ObjectType
+AuditCertificateExpiredEventType,2085,ObjectType
+AuditCertificateInvalidEventType,2086,ObjectType
+AuditCertificateMismatchEventType,2089,ObjectType
+AuditCertificateRevokedEventType,2088,ObjectType
+AuditCertificateUntrustedEventType,2087,ObjectType
+AuditChannelEventType,2059,ObjectType
+AuditConditionAcknowledgeEventType,8944,ObjectType
+AuditConditionCommentEventType,2829,ObjectType
+AuditConditionConfirmEventType,8961,ObjectType
+AuditConditionEnableEventType,2803,ObjectType
+AuditConditionEventType,2790,ObjectType
+AuditConditionOutOfServiceEventType,17259,ObjectType
+AuditConditionResetEventType,15013,ObjectType
+AuditConditionRespondEventType,8927,ObjectType
+AuditConditionShelvingEventType,11093,ObjectType
+AuditConditionSilenceEventType,17242,ObjectType
+AuditConditionSuppressionEventType,17225,ObjectType
+AuditCreateSessionEventType,2071,ObjectType
+AuditDeleteNodesEventType,2093,ObjectType
+AuditDeleteReferencesEventType,2097,ObjectType
+AuditEventType,2052,ObjectType
+AuditHistoryAnnotationUpdateEventType,19095,ObjectType
+AuditHistoryAtTimeDeleteEventType,3019,ObjectType
+AuditHistoryDeleteEventType,3012,ObjectType
+AuditHistoryEventDeleteEventType,3022,ObjectType
+AuditHistoryEventUpdateEventType,2999,ObjectType
+AuditHistoryRawModifyDeleteEventType,3014,ObjectType
+AuditHistoryUpdateEventType,2104,ObjectType
+AuditHistoryValueUpdateEventType,3006,ObjectType
+AuditNodeManagementEventType,2090,ObjectType
+AuditOpenSecureChannelEventType,2060,ObjectType
+AuditProgramTransitionEventType,11856,ObjectType
+AuditSecurityEventType,2058,ObjectType
+AuditSessionEventType,2069,ObjectType
+AuditUpdateEventType,2099,ObjectType
+AuditUpdateMethodEventType,2127,ObjectType
+AuditUpdateStateEventType,2315,ObjectType
+AuditUrlMismatchEventType,2748,ObjectType
+AuditWriteUpdateEventType,2100,ObjectType
+AuthorizationServiceConfigurationType,17852,ObjectType
+AuthorizationServices,17732,Object
+AuthorizationServicesConfigurationFolderType,23556,ObjectType
+AxisInformation,12079,DataType
+AxisInformation_Encoding_DefaultBinary,12089,Object
+AxisInformation_Encoding_DefaultJson,15379,Object
+AxisInformation_Encoding_DefaultXml,12081,Object
+AxisScaleEnumeration,12077,DataType
+BaseAnalogType,15318,VariableType
+BaseConditionClassType,11163,ObjectType
+BaseDataType,24,DataType
+BaseDataVariableType,63,VariableType
+BaseEventType,2041,ObjectType
+BaseInterfaceType,17602,ObjectType
+BaseModelChangeEventType,2132,ObjectType
+BaseObjectType,58,ObjectType
+BaseVariableType,62,VariableType
+BitFieldMaskDataType,11737,DataType
+Boolean,1,DataType
+BrokerConnectionTransportDataType,15007,DataType
+BrokerConnectionTransportDataType_Encoding_DefaultBinary,15479,Object
+BrokerConnectionTransportDataType_Encoding_DefaultJson,15726,Object
+BrokerConnectionTransportDataType_Encoding_DefaultXml,15579,Object
+BrokerConnectionTransportType,15155,ObjectType
+BrokerDataSetReaderTransportDataType,15670,DataType
+BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary,15733,Object
+BrokerDataSetReaderTransportDataType_Encoding_DefaultJson,16526,Object
+BrokerDataSetReaderTransportDataType_Encoding_DefaultXml,16023,Object
+BrokerDataSetReaderTransportType,21142,ObjectType
+BrokerDataSetWriterTransportDataType,15669,DataType
+BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary,15729,Object
+BrokerDataSetWriterTransportDataType_Encoding_DefaultJson,16525,Object
+BrokerDataSetWriterTransportDataType_Encoding_DefaultXml,16022,Object
+BrokerDataSetWriterTransportType,21138,ObjectType
+BrokerTransportQualityOfService,15008,DataType
+BrokerWriterGroupTransportDataType,15667,DataType
+BrokerWriterGroupTransportDataType_Encoding_DefaultBinary,15727,Object
+BrokerWriterGroupTransportDataType_Encoding_DefaultJson,16524,Object
+BrokerWriterGroupTransportDataType_Encoding_DefaultXml,16021,Object
+BrokerWriterGroupTransportType,21136,ObjectType
+BrowseDescription,514,DataType
+BrowseDescription_Encoding_DefaultBinary,516,Object
+BrowseDescription_Encoding_DefaultJson,15180,Object
+BrowseDescription_Encoding_DefaultXml,515,Object
+BrowseDirection,510,DataType
+BrowseNextRequest,531,DataType
+BrowseNextRequest_Encoding_DefaultBinary,533,Object
+BrowseNextRequest_Encoding_DefaultJson,15186,Object
+BrowseNextRequest_Encoding_DefaultXml,532,Object
+BrowseNextResponse,534,DataType
+BrowseNextResponse_Encoding_DefaultBinary,536,Object
+BrowseNextResponse_Encoding_DefaultJson,15187,Object
+BrowseNextResponse_Encoding_DefaultXml,535,Object
+BrowsePath,543,DataType
+BrowsePath_Encoding_DefaultBinary,545,Object
+BrowsePath_Encoding_DefaultJson,15190,Object
+BrowsePath_Encoding_DefaultXml,544,Object
+BrowsePathResult,549,DataType
+BrowsePathResult_Encoding_DefaultBinary,551,Object
+BrowsePathResult_Encoding_DefaultJson,15192,Object
+BrowsePathResult_Encoding_DefaultXml,550,Object
+BrowsePathTarget,546,DataType
+BrowsePathTarget_Encoding_DefaultBinary,548,Object
+BrowsePathTarget_Encoding_DefaultJson,15191,Object
+BrowsePathTarget_Encoding_DefaultXml,547,Object
+BrowseRequest,525,DataType
+BrowseRequest_Encoding_DefaultBinary,527,Object
+BrowseRequest_Encoding_DefaultJson,15184,Object
+BrowseRequest_Encoding_DefaultXml,526,Object
+BrowseResponse,528,DataType
+BrowseResponse_Encoding_DefaultBinary,530,Object
+BrowseResponse_Encoding_DefaultJson,15185,Object
+BrowseResponse_Encoding_DefaultXml,529,Object
+BrowseResult,522,DataType
+BrowseResult_Encoding_DefaultBinary,524,Object
+BrowseResult_Encoding_DefaultJson,15183,Object
+BrowseResult_Encoding_DefaultXml,523,Object
+BrowseResultMask,517,DataType
+BuildInfo,338,DataType
+BuildInfo_Encoding_DefaultBinary,340,Object
+BuildInfo_Encoding_DefaultJson,15361,Object
+BuildInfo_Encoding_DefaultXml,339,Object
+BuildInfoType,3051,VariableType
+Byte,3,DataType
+ByteString,15,DataType
+CallMethodRequest,704,DataType
+CallMethodRequest_Encoding_DefaultBinary,706,Object
+CallMethodRequest_Encoding_DefaultJson,15289,Object
+CallMethodRequest_Encoding_DefaultXml,705,Object
+CallMethodResult,707,DataType
+CallMethodResult_Encoding_DefaultBinary,709,Object
+CallMethodResult_Encoding_DefaultJson,15290,Object
+CallMethodResult_Encoding_DefaultXml,708,Object
+CallRequest,710,DataType
+CallRequest_Encoding_DefaultBinary,712,Object
+CallRequest_Encoding_DefaultJson,15291,Object
+CallRequest_Encoding_DefaultXml,711,Object
+CallResponse,713,DataType
+CallResponse_Encoding_DefaultBinary,715,Object
+CallResponse_Encoding_DefaultJson,15292,Object
+CallResponse_Encoding_DefaultXml,714,Object
+CancelRequest,477,DataType
+CancelRequest_Encoding_DefaultBinary,479,Object
+CancelRequest_Encoding_DefaultJson,15149,Object
+CancelRequest_Encoding_DefaultXml,478,Object
+CancelResponse,480,DataType
+CancelResponse_Encoding_DefaultBinary,482,Object
+CancelResponse_Encoding_DefaultJson,15150,Object
+CancelResponse_Encoding_DefaultXml,481,Object
+CartesianCoordinates,18809,DataType
+CartesianCoordinates_Encoding_DefaultBinary,18818,Object
+CartesianCoordinates_Encoding_DefaultJson,19067,Object
+CartesianCoordinates_Encoding_DefaultXml,18854,Object
+CartesianCoordinatesType,18772,VariableType
+CertificateExpirationAlarmType,13225,ObjectType
+CertificateGroupFolderType,13813,ObjectType
+CertificateGroupType,12555,ObjectType
+CertificateType,12556,ObjectType
+CertificateUpdatedAuditEventType,12620,ObjectType
+ChannelSecurityToken,441,DataType
+ChannelSecurityToken_Encoding_DefaultBinary,443,Object
+ChannelSecurityToken_Encoding_DefaultJson,15131,Object
+ChannelSecurityToken_Encoding_DefaultXml,442,Object
+ChoiceStateType,15109,ObjectType
+CloseSecureChannelRequest,450,DataType
+CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object
+CloseSecureChannelRequest_Encoding_DefaultJson,15134,Object
+CloseSecureChannelRequest_Encoding_DefaultXml,451,Object
+CloseSecureChannelResponse,453,DataType
+CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object
+CloseSecureChannelResponse_Encoding_DefaultJson,15135,Object
+CloseSecureChannelResponse_Encoding_DefaultXml,454,Object
+CloseSessionRequest,471,DataType
+CloseSessionRequest_Encoding_DefaultBinary,473,Object
+CloseSessionRequest_Encoding_DefaultJson,15147,Object
+CloseSessionRequest_Encoding_DefaultXml,472,Object
+CloseSessionResponse,474,DataType
+CloseSessionResponse_Encoding_DefaultBinary,476,Object
+CloseSessionResponse_Encoding_DefaultJson,15148,Object
+CloseSessionResponse_Encoding_DefaultXml,475,Object
+Communication,24227,Object
+ComplexNumberType,12171,DataType
+ComplexNumberType_Encoding_DefaultBinary,12181,Object
+ComplexNumberType_Encoding_DefaultJson,15377,Object
+ComplexNumberType_Encoding_DefaultXml,12173,Object
+ConditionType,2782,ObjectType
+ConditionVariableType,9002,VariableType
+ConfigurationVersionDataType,14593,DataType
+ConfigurationVersionDataType_Encoding_DefaultBinary,14847,Object
+ConfigurationVersionDataType_Encoding_DefaultJson,15049,Object
+ConfigurationVersionDataType_Encoding_DefaultXml,14803,Object
+ConnectionTransportDataType,15618,DataType
+ConnectionTransportDataType_Encoding_DefaultBinary,15695,Object
+ConnectionTransportDataType_Encoding_DefaultJson,16282,Object
+ConnectionTransportDataType_Encoding_DefaultXml,15993,Object
+ConnectionTransportType,17721,ObjectType
+ContentFilter,586,DataType
+ContentFilter_Encoding_DefaultBinary,588,Object
+ContentFilter_Encoding_DefaultJson,15205,Object
+ContentFilter_Encoding_DefaultXml,587,Object
+ContentFilterElement,583,DataType
+ContentFilterElement_Encoding_DefaultBinary,585,Object
+ContentFilterElement_Encoding_DefaultJson,15204,Object
+ContentFilterElement_Encoding_DefaultXml,584,Object
+ContentFilterElementResult,604,DataType
+ContentFilterElementResult_Encoding_DefaultBinary,606,Object
+ContentFilterElementResult_Encoding_DefaultJson,15211,Object
+ContentFilterElementResult_Encoding_DefaultXml,605,Object
+ContentFilterResult,607,DataType
+ContentFilterResult_Encoding_DefaultBinary,609,Object
+ContentFilterResult_Encoding_DefaultJson,15228,Object
+ContentFilterResult_Encoding_DefaultXml,608,Object
+ContinuationPoint,521,DataType
+Counter,289,DataType
+CreateMonitoredItemsRequest,749,DataType
+CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object
+CreateMonitoredItemsRequest_Encoding_DefaultJson,15323,Object
+CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object
+CreateMonitoredItemsResponse,752,DataType
+CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object
+CreateMonitoredItemsResponse_Encoding_DefaultJson,15324,Object
+CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object
+CreateSessionRequest,459,DataType
+CreateSessionRequest_Encoding_DefaultBinary,461,Object
+CreateSessionRequest_Encoding_DefaultJson,15138,Object
+CreateSessionRequest_Encoding_DefaultXml,460,Object
+CreateSessionResponse,462,DataType
+CreateSessionResponse_Encoding_DefaultBinary,464,Object
+CreateSessionResponse_Encoding_DefaultJson,15139,Object
+CreateSessionResponse_Encoding_DefaultXml,463,Object
+CreateSubscriptionRequest,785,DataType
+CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object
+CreateSubscriptionRequest_Encoding_DefaultJson,15337,Object
+CreateSubscriptionRequest_Encoding_DefaultXml,786,Object
+CreateSubscriptionResponse,788,DataType
+CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object
+CreateSubscriptionResponse_Encoding_DefaultJson,15338,Object
+CreateSubscriptionResponse_Encoding_DefaultXml,789,Object
+CubeItemType,12057,VariableType
+CurrencyUnit,23501,Variable
+CurrencyUnitType,23498,DataType
+CurrencyUnitType_Encoding_DefaultBinary,23507,Object
+CurrencyUnitType_Encoding_DefaultJson,23528,Object
+CurrencyUnitType_Encoding_DefaultXml,23520,Object
+DataChangeFilter,722,DataType
+DataChangeFilter_Encoding_DefaultBinary,724,Object
+DataChangeFilter_Encoding_DefaultJson,15294,Object
+DataChangeFilter_Encoding_DefaultXml,723,Object
+DataChangeNotification,809,DataType
+DataChangeNotification_Encoding_DefaultBinary,811,Object
+DataChangeNotification_Encoding_DefaultJson,15345,Object
+DataChangeNotification_Encoding_DefaultXml,810,Object
+DataChangeTrigger,717,DataType
+DatagramConnectionTransportDataType,17467,DataType
+DatagramConnectionTransportDataType_Encoding_DefaultBinary,17468,Object
+DatagramConnectionTransportDataType_Encoding_DefaultJson,17476,Object
+DatagramConnectionTransportDataType_Encoding_DefaultXml,17472,Object
+DatagramConnectionTransportType,15064,ObjectType
+DatagramWriterGroupTransportDataType,15532,DataType
+DatagramWriterGroupTransportDataType_Encoding_DefaultBinary,21155,Object
+DatagramWriterGroupTransportDataType_Encoding_DefaultJson,21203,Object
+DatagramWriterGroupTransportDataType_Encoding_DefaultXml,21179,Object
+DatagramWriterGroupTransportType,21133,ObjectType
+DataItemType,2365,VariableType
+DataSetFieldContentMask,15583,DataType
+DataSetFieldFlags,15904,DataType
+DataSetFolderType,14477,ObjectType
+DataSetMetaDataType,14523,DataType
+DataSetMetaDataType_Encoding_DefaultBinary,124,Object
+DataSetMetaDataType_Encoding_DefaultJson,15050,Object
+DataSetMetaDataType_Encoding_DefaultXml,14794,Object
+DataSetOrderingType,20408,DataType
+DataSetReaderDataType,15623,DataType
+DataSetReaderDataType_Encoding_DefaultBinary,15703,Object
+DataSetReaderDataType_Encoding_DefaultJson,16286,Object
+DataSetReaderDataType_Encoding_DefaultXml,16007,Object
+DataSetReaderMessageDataType,15629,DataType
+DataSetReaderMessageDataType_Encoding_DefaultBinary,15706,Object
+DataSetReaderMessageDataType_Encoding_DefaultJson,16288,Object
+DataSetReaderMessageDataType_Encoding_DefaultXml,16009,Object
+DataSetReaderMessageType,21104,ObjectType
+DataSetReaderTransportDataType,15628,DataType
+DataSetReaderTransportDataType_Encoding_DefaultBinary,15705,Object
+DataSetReaderTransportDataType_Encoding_DefaultJson,16287,Object
+DataSetReaderTransportDataType_Encoding_DefaultXml,16008,Object
+DataSetReaderTransportType,15319,ObjectType
+DataSetReaderType,15306,ObjectType
+DataSetToWriter,14936,ReferenceType
+DataSetWriterDataType,15597,DataType
+DataSetWriterDataType_Encoding_DefaultBinary,15682,Object
+DataSetWriterDataType_Encoding_DefaultJson,16156,Object
+DataSetWriterDataType_Encoding_DefaultXml,15955,Object
+DataSetWriterMessageDataType,15605,DataType
+DataSetWriterMessageDataType_Encoding_DefaultBinary,15688,Object
+DataSetWriterMessageDataType_Encoding_DefaultJson,16158,Object
+DataSetWriterMessageDataType_Encoding_DefaultXml,15987,Object
+DataSetWriterMessageType,21096,ObjectType
+DataSetWriterTransportDataType,15598,DataType
+DataSetWriterTransportDataType_Encoding_DefaultBinary,15683,Object
+DataSetWriterTransportDataType_Encoding_DefaultJson,16157,Object
+DataSetWriterTransportDataType_Encoding_DefaultXml,15956,Object
+DataSetWriterTransportType,15305,ObjectType
+DataSetWriterType,15298,ObjectType
+DataTypeAttributes,370,DataType
+DataTypeAttributes_Encoding_DefaultBinary,372,Object
+DataTypeAttributes_Encoding_DefaultJson,15161,Object
+DataTypeAttributes_Encoding_DefaultXml,371,Object
+DataTypeDefinition,97,DataType
+DataTypeDefinition_Encoding_DefaultBinary,121,Object
+DataTypeDefinition_Encoding_DefaultJson,15063,Object
+DataTypeDefinition_Encoding_DefaultXml,14797,Object
+DataTypeDescription,14525,DataType
+DataTypeDescription_Encoding_DefaultBinary,125,Object
+DataTypeDescription_Encoding_DefaultJson,15057,Object
+DataTypeDescription_Encoding_DefaultXml,14796,Object
+DataTypeDescriptionType,69,VariableType
+DataTypeDictionaryType,72,VariableType
+DataTypeEncodingType,76,ObjectType
+DataTypeNode,282,DataType
+DataTypeNode_Encoding_DefaultBinary,284,Object
+DataTypeNode_Encoding_DefaultJson,15079,Object
+DataTypeNode_Encoding_DefaultXml,283,Object
+DataTypeSchemaHeader,15534,DataType
+DataTypeSchemaHeader_Encoding_DefaultBinary,15676,Object
+DataTypeSchemaHeader_Encoding_DefaultJson,16151,Object
+DataTypeSchemaHeader_Encoding_DefaultXml,15950,Object
+DataTypesFolder,90,Object
+DataTypeSystemType,75,ObjectType
+DataValue,23,DataType
+Date,293,DataType
+DateString,12881,DataType
+DateTime,13,DataType
+DeadbandType,718,DataType
+Decimal,50,DataType
+DecimalDataType,17861,DataType
+DecimalDataType_Encoding_DefaultBinary,17863,Object
+DecimalDataType_Encoding_DefaultJson,15045,Object
+DecimalDataType_Encoding_DefaultXml,17862,Object
+DecimalString,12878,DataType
+DefaultBinary,3062,Object
+DefaultInstanceBrowseName,17605,Variable
+DefaultXml,3063,Object
+DeleteAtTimeDetails,689,DataType
+DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object
+DeleteAtTimeDetails_Encoding_DefaultJson,15284,Object
+DeleteAtTimeDetails_Encoding_DefaultXml,690,Object
+DeleteEventDetails,692,DataType
+DeleteEventDetails_Encoding_DefaultBinary,694,Object
+DeleteEventDetails_Encoding_DefaultJson,15285,Object
+DeleteEventDetails_Encoding_DefaultXml,693,Object
+DeleteMonitoredItemsRequest,779,DataType
+DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object
+DeleteMonitoredItemsRequest_Encoding_DefaultJson,15335,Object
+DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object
+DeleteMonitoredItemsResponse,782,DataType
+DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object
+DeleteMonitoredItemsResponse_Encoding_DefaultJson,15336,Object
+DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object
+DeleteNodesItem,382,DataType
+DeleteNodesItem_Encoding_DefaultBinary,384,Object
+DeleteNodesItem_Encoding_DefaultJson,15172,Object
+DeleteNodesItem_Encoding_DefaultXml,383,Object
+DeleteNodesRequest,498,DataType
+DeleteNodesRequest_Encoding_DefaultBinary,500,Object
+DeleteNodesRequest_Encoding_DefaultJson,15173,Object
+DeleteNodesRequest_Encoding_DefaultXml,499,Object
+DeleteNodesResponse,501,DataType
+DeleteNodesResponse_Encoding_DefaultBinary,503,Object
+DeleteNodesResponse_Encoding_DefaultJson,15174,Object
+DeleteNodesResponse_Encoding_DefaultXml,502,Object
+DeleteRawModifiedDetails,686,DataType
+DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object
+DeleteRawModifiedDetails_Encoding_DefaultJson,15283,Object
+DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object
+DeleteReferencesItem,385,DataType
+DeleteReferencesItem_Encoding_DefaultBinary,387,Object
+DeleteReferencesItem_Encoding_DefaultJson,15175,Object
+DeleteReferencesItem_Encoding_DefaultXml,386,Object
+DeleteReferencesRequest,504,DataType
+DeleteReferencesRequest_Encoding_DefaultBinary,506,Object
+DeleteReferencesRequest_Encoding_DefaultJson,15176,Object
+DeleteReferencesRequest_Encoding_DefaultXml,505,Object
+DeleteReferencesResponse,507,DataType
+DeleteReferencesResponse_Encoding_DefaultBinary,509,Object
+DeleteReferencesResponse_Encoding_DefaultJson,15177,Object
+DeleteReferencesResponse_Encoding_DefaultXml,508,Object
+DeleteSubscriptionsRequest,845,DataType
+DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object
+DeleteSubscriptionsRequest_Encoding_DefaultJson,15359,Object
+DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object
+DeleteSubscriptionsResponse,848,DataType
+DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object
+DeleteSubscriptionsResponse_Encoding_DefaultJson,15360,Object
+DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object
+DeviceFailureEventType,2131,ObjectType
+DiagnosticInfo,25,DataType
+DiagnosticsLevel,19723,DataType
+DialogConditionType,2830,ObjectType
+Dictionaries,17594,Object
+DictionaryEntryType,17589,ObjectType
+DictionaryFolderType,17591,ObjectType
+DiscoveryConfiguration,12890,DataType
+DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object
+DiscoveryConfiguration_Encoding_DefaultJson,15105,Object
+DiscoveryConfiguration_Encoding_DefaultXml,12892,Object
+DiscrepancyAlarmType,17080,ObjectType
+DiscreteAlarmType,10523,ObjectType
+DiscreteItemType,2372,VariableType
+Double,11,DataType
+DoubleComplexNumberType,12172,DataType
+DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object
+DoubleComplexNumberType_Encoding_DefaultJson,15378,Object
+DoubleComplexNumberType_Encoding_DefaultXml,12174,Object
+Duplex,24210,DataType
+Duration,290,DataType
+DurationString,12879,DataType
+EccApplicationCertificateType,23537,ObjectType
+EccBrainpoolP256r1ApplicationCertificateType,23540,ObjectType
+EccBrainpoolP384r1ApplicationCertificateType,23541,ObjectType
+EccCurve25519ApplicationCertificateType,23542,ObjectType
+EccCurve448ApplicationCertificateType,23543,ObjectType
+EccEncryptedSecret,17546,DataType
+EccNistP256ApplicationCertificateType,23538,ObjectType
+EccNistP384ApplicationCertificateType,23539,ObjectType
+ElementOperand,592,DataType
+ElementOperand_Encoding_DefaultBinary,594,Object
+ElementOperand_Encoding_DefaultJson,15207,Object
+ElementOperand_Encoding_DefaultXml,593,Object
+ElseGuardVariableType,15317,VariableType
+EndpointConfiguration,331,DataType
+EndpointConfiguration_Encoding_DefaultBinary,333,Object
+EndpointConfiguration_Encoding_DefaultJson,15199,Object
+EndpointConfiguration_Encoding_DefaultXml,332,Object
+EndpointDescription,312,DataType
+EndpointDescription_Encoding_DefaultBinary,314,Object
+EndpointDescription_Encoding_DefaultJson,15099,Object
+EndpointDescription_Encoding_DefaultXml,313,Object
+EndpointType,15528,DataType
+EndpointType_Encoding_DefaultBinary,15671,Object
+EndpointType_Encoding_DefaultJson,16150,Object
+EndpointType_Encoding_DefaultXml,15949,Object
+EndpointUrlListDataType,11943,DataType
+EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object
+EndpointUrlListDataType_Encoding_DefaultJson,15363,Object
+EndpointUrlListDataType_Encoding_DefaultXml,11949,Object
+EngineeringUnits,11513,Variable
+EnumDefinition,100,DataType
+EnumDefinition_Encoding_DefaultBinary,123,Object
+EnumDefinition_Encoding_DefaultJson,15067,Object
+EnumDefinition_Encoding_DefaultXml,14799,Object
+EnumDescription,15488,DataType
+EnumDescription_Encoding_DefaultBinary,127,Object
+EnumDescription_Encoding_DefaultJson,15059,Object
+EnumDescription_Encoding_DefaultXml,15590,Object
+Enumeration,29,DataType
+EnumField,102,DataType
+EnumField_Encoding_DefaultBinary,14845,Object
+EnumField_Encoding_DefaultJson,15083,Object
+EnumField_Encoding_DefaultXml,14801,Object
+EnumStrings,11432,Variable
+EnumValues,3071,Variable
+EnumValueType,7594,DataType
+EnumValueType_Encoding_DefaultBinary,8251,Object
+EnumValueType_Encoding_DefaultJson,15082,Object
+EnumValueType_Encoding_DefaultXml,7616,Object
+EphemeralKeyType,17548,DataType
+EphemeralKeyType_Encoding_DefaultBinary,17549,Object
+EphemeralKeyType_Encoding_DefaultJson,17557,Object
+EphemeralKeyType_Encoding_DefaultXml,17553,Object
+EUInformation,887,DataType
+EUInformation_Encoding_DefaultBinary,889,Object
+EUInformation_Encoding_DefaultJson,15376,Object
+EUInformation_Encoding_DefaultXml,888,Object
+EventFieldList,917,DataType
+EventFieldList_Encoding_DefaultBinary,919,Object
+EventFieldList_Encoding_DefaultJson,15348,Object
+EventFieldList_Encoding_DefaultXml,918,Object
+EventFilter,725,DataType
+EventFilter_Encoding_DefaultBinary,727,Object
+EventFilter_Encoding_DefaultJson,15295,Object
+EventFilter_Encoding_DefaultXml,726,Object
+EventFilterResult,734,DataType
+EventFilterResult_Encoding_DefaultBinary,736,Object
+EventFilterResult_Encoding_DefaultJson,15314,Object
+EventFilterResult_Encoding_DefaultXml,735,Object
+EventNotificationList,914,DataType
+EventNotificationList_Encoding_DefaultBinary,916,Object
+EventNotificationList_Encoding_DefaultJson,15347,Object
+EventNotificationList_Encoding_DefaultXml,915,Object
+EventNotifierType,15033,DataType
+EventQueueOverflowEventType,3035,ObjectType
+EventTypesFolder,3048,Object
+ExceptionDeviationFormat,890,DataType
+ExclusiveDeviationAlarmType,9764,ObjectType
+ExclusiveLevelAlarmType,9482,ObjectType
+ExclusiveLimitAlarmType,9341,ObjectType
+ExclusiveLimitStateMachineType,9318,ObjectType
+ExclusiveRateOfChangeAlarmType,9623,ObjectType
+ExpandedNodeId,18,DataType
+ExpressionGuardVariableType,15128,VariableType
+ExtensionFieldsType,15489,ObjectType
+FieldMetaData,14524,DataType
+FieldMetaData_Encoding_DefaultBinary,14839,Object
+FieldMetaData_Encoding_DefaultJson,15051,Object
+FieldMetaData_Encoding_DefaultXml,14795,Object
+FieldTargetDataType,14744,DataType
+FieldTargetDataType_Encoding_DefaultBinary,14848,Object
+FieldTargetDataType_Encoding_DefaultJson,15061,Object
+FieldTargetDataType_Encoding_DefaultXml,14804,Object
+FileDirectoryType,13353,ObjectType
+FileSystem,16314,Object
+FileTransferStateMachineType,15803,ObjectType
+FileType,11575,ObjectType
+FilterOperand,589,DataType
+FilterOperand_Encoding_DefaultBinary,591,Object
+FilterOperand_Encoding_DefaultJson,15206,Object
+FilterOperand_Encoding_DefaultXml,590,Object
+FilterOperator,576,DataType
+FindServersOnNetworkRequest,12190,DataType
+FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object
+FindServersOnNetworkRequest_Encoding_DefaultJson,15096,Object
+FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object
+FindServersOnNetworkResponse,12191,DataType
+FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object
+FindServersOnNetworkResponse_Encoding_DefaultJson,15097,Object
+FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object
+FindServersRequest,420,DataType
+FindServersRequest_Encoding_DefaultBinary,422,Object
+FindServersRequest_Encoding_DefaultJson,15093,Object
+FindServersRequest_Encoding_DefaultXml,421,Object
+FindServersResponse,423,DataType
+FindServersResponse_Encoding_DefaultBinary,425,Object
+FindServersResponse_Encoding_DefaultJson,15094,Object
+FindServersResponse_Encoding_DefaultXml,424,Object
+FiniteStateMachineType,2771,ObjectType
+FiniteStateVariableType,2760,VariableType
+FiniteTransitionVariableType,2767,VariableType
+Float,10,DataType
+FolderType,61,ObjectType
+Frame,18813,DataType
+Frame_Encoding_DefaultBinary,18822,Object
+Frame_Encoding_DefaultJson,19071,Object
+Frame_Encoding_DefaultXml,18858,Object
+FrameType,18786,VariableType
+FromState,51,ReferenceType
+GeneralModelChangeEventType,2133,ObjectType
+GeneratesEvent,41,ReferenceType
+GenericAttributes,17607,DataType
+GenericAttributes_Encoding_DefaultBinary,17611,Object
+GenericAttributes_Encoding_DefaultJson,15164,Object
+GenericAttributes_Encoding_DefaultXml,17609,Object
+GenericAttributeValue,17606,DataType
+GenericAttributeValue_Encoding_DefaultBinary,17610,Object
+GenericAttributeValue_Encoding_DefaultJson,15163,Object
+GenericAttributeValue_Encoding_DefaultXml,17608,Object
+GetEndpointsRequest,426,DataType
+GetEndpointsRequest_Encoding_DefaultBinary,428,Object
+GetEndpointsRequest_Encoding_DefaultJson,15100,Object
+GetEndpointsRequest_Encoding_DefaultXml,427,Object
+GetEndpointsResponse,429,DataType
+GetEndpointsResponse_Encoding_DefaultBinary,431,Object
+GetEndpointsResponse_Encoding_DefaultJson,15101,Object
+GetEndpointsResponse_Encoding_DefaultXml,430,Object
+GuardVariableType,15113,VariableType
+Guid,14,DataType
+HAConfiguration,11202,Object
+HasAddIn,17604,ReferenceType
+HasAlarmSuppressionGroup,16361,ReferenceType
+HasArgumentDescription,129,ReferenceType
+HasCause,53,ReferenceType
+HasChild,34,ReferenceType
+HasComponent,47,ReferenceType
+HasCondition,9006,ReferenceType
+HasDataSetReader,15297,ReferenceType
+HasDataSetWriter,15296,ReferenceType
+HasDescription,39,ReferenceType
+HasDictionaryEntry,17597,ReferenceType
+HasEffect,54,ReferenceType
+HasEffectDisable,17276,ReferenceType
+HasEffectEnable,17983,ReferenceType
+HasEffectSuppressed,17984,ReferenceType
+HasEffectUnsuppressed,17985,ReferenceType
+HasEncoding,38,ReferenceType
+HasEventSource,36,ReferenceType
+HasFalseSubState,9005,ReferenceType
+HasGuard,15112,ReferenceType
+HasHistoricalConfiguration,56,ReferenceType
+HasInterface,17603,ReferenceType
+HasModellingRule,37,ReferenceType
+HasNotifier,48,ReferenceType
+HasOptionalInputArgumentDescription,131,ReferenceType
+HasOrderedComponent,49,ReferenceType
+HasProperty,46,ReferenceType
+HasPubSubConnection,14476,ReferenceType
+HasReaderGroup,18805,ReferenceType
+HasSubStateMachine,117,ReferenceType
+HasSubtype,45,ReferenceType
+HasTrueSubState,9004,ReferenceType
+HasTypeDefinition,40,ReferenceType
+HasWriterGroup,18804,ReferenceType
+HierarchicalReferences,33,ReferenceType
+HighlyManagedAlarmConditionClassType,17219,ObjectType
+HistoricalDataConfigurationType,2318,ObjectType
+HistoricalEventFilter,11215,Variable
+HistoryData,656,DataType
+HistoryData_Encoding_DefaultBinary,658,Object
+HistoryData_Encoding_DefaultJson,15270,Object
+HistoryData_Encoding_DefaultXml,657,Object
+HistoryEvent,659,DataType
+HistoryEvent_Encoding_DefaultBinary,661,Object
+HistoryEvent_Encoding_DefaultJson,15273,Object
+HistoryEvent_Encoding_DefaultXml,660,Object
+HistoryEventFieldList,920,DataType
+HistoryEventFieldList_Encoding_DefaultBinary,922,Object
+HistoryEventFieldList_Encoding_DefaultJson,15349,Object
+HistoryEventFieldList_Encoding_DefaultXml,921,Object
+HistoryModifiedData,11217,DataType
+HistoryModifiedData_Encoding_DefaultBinary,11227,Object
+HistoryModifiedData_Encoding_DefaultJson,15272,Object
+HistoryModifiedData_Encoding_DefaultXml,11219,Object
+HistoryReadDetails,641,DataType
+HistoryReadDetails_Encoding_DefaultBinary,643,Object
+HistoryReadDetails_Encoding_DefaultJson,15261,Object
+HistoryReadDetails_Encoding_DefaultXml,642,Object
+HistoryReadRequest,662,DataType
+HistoryReadRequest_Encoding_DefaultBinary,664,Object
+HistoryReadRequest_Encoding_DefaultJson,15274,Object
+HistoryReadRequest_Encoding_DefaultXml,663,Object
+HistoryReadResponse,665,DataType
+HistoryReadResponse_Encoding_DefaultBinary,667,Object
+HistoryReadResponse_Encoding_DefaultJson,15275,Object
+HistoryReadResponse_Encoding_DefaultXml,666,Object
+HistoryReadResult,638,DataType
+HistoryReadResult_Encoding_DefaultBinary,640,Object
+HistoryReadResult_Encoding_DefaultJson,15260,Object
+HistoryReadResult_Encoding_DefaultXml,639,Object
+HistoryReadValueId,635,DataType
+HistoryReadValueId_Encoding_DefaultBinary,637,Object
+HistoryReadValueId_Encoding_DefaultJson,15259,Object
+HistoryReadValueId_Encoding_DefaultXml,636,Object
+HistoryServerCapabilities,11192,Object
+HistoryServerCapabilitiesType,2330,ObjectType
+HistoryUpdateDetails,677,DataType
+HistoryUpdateDetails_Encoding_DefaultBinary,679,Object
+HistoryUpdateDetails_Encoding_DefaultJson,15279,Object
+HistoryUpdateDetails_Encoding_DefaultXml,678,Object
+HistoryUpdateRequest,698,DataType
+HistoryUpdateRequest_Encoding_DefaultBinary,700,Object
+HistoryUpdateRequest_Encoding_DefaultJson,15287,Object
+HistoryUpdateRequest_Encoding_DefaultXml,699,Object
+HistoryUpdateResponse,701,DataType
+HistoryUpdateResponse_Encoding_DefaultBinary,703,Object
+HistoryUpdateResponse_Encoding_DefaultJson,15288,Object
+HistoryUpdateResponse_Encoding_DefaultXml,702,Object
+HistoryUpdateResult,695,DataType
+HistoryUpdateResult_Encoding_DefaultBinary,697,Object
+HistoryUpdateResult_Encoding_DefaultJson,15286,Object
+HistoryUpdateResult_Encoding_DefaultXml,696,Object
+HistoryUpdateType,11234,DataType
+HttpsCertificateType,12558,ObjectType
+IBaseEthernetCapabilitiesType,24167,ObjectType
+Icon,3067,Variable
+IdentityCriteriaType,15632,DataType
+IdentityMappingRuleType,15634,DataType
+IdentityMappingRuleType_Encoding_DefaultBinary,15736,Object
+IdentityMappingRuleType_Encoding_DefaultJson,15042,Object
+IdentityMappingRuleType_Encoding_DefaultXml,15728,Object
+IdType,256,DataType
+IIeeeAutoNegotiationStatusType,24233,ObjectType
+IIeeeBaseEthernetPortType,24158,ObjectType
+IIeeeBaseTsnStatusStreamType,24183,ObjectType
+IIeeeBaseTsnStreamType,24173,ObjectType
+IIeeeBaseTsnTrafficSpecificationType,24179,ObjectType
+IIeeeTsnInterfaceConfigurationListenerType,24195,ObjectType
+IIeeeTsnInterfaceConfigurationTalkerType,24191,ObjectType
+IIeeeTsnInterfaceConfigurationType,24188,ObjectType
+IIeeeTsnMacAddressType,24199,ObjectType
+IIeeeTsnVlanTagType,24202,ObjectType
+IIetfBaseNetworkInterfaceType,24148,ObjectType
+Image,30,DataType
+ImageBMP,2000,DataType
+ImageGIF,2001,DataType
+ImageItemType,12047,VariableType
+ImageJPG,2002,DataType
+ImagePNG,2003,DataType
+Index,17588,DataType
+InitialStateType,2309,ObjectType
+InputArguments,3072,Variable
+InstanceNode,11879,DataType
+InstanceNode_Encoding_DefaultBinary,11889,Object
+InstanceNode_Encoding_DefaultJson,15069,Object
+InstanceNode_Encoding_DefaultXml,11887,Object
+InstrumentDiagnosticAlarmType,18347,ObjectType
+Int16,4,DataType
+Int32,6,DataType
+Int64,8,DataType
+Integer,27,DataType
+IntegerId,288,DataType
+InterfaceAdminStatus,24212,DataType
+InterfaceOperStatus,24214,DataType
+InterfaceTypes,17708,Object
+IOrderedObjectType,23513,ObjectType
+IPriorityMappingEntryType,24205,ObjectType
+IrdiDictionaryEntryType,17598,ObjectType
+ISrClassType,24169,ObjectType
+IssuedIdentityToken,938,DataType
+IssuedIdentityToken_Encoding_DefaultBinary,940,Object
+IssuedIdentityToken_Encoding_DefaultJson,15144,Object
+IssuedIdentityToken_Encoding_DefaultXml,939,Object
+JsonDataSetMessageContentMask,15658,DataType
+JsonDataSetReaderMessageDataType,15665,DataType
+JsonDataSetReaderMessageDataType_Encoding_DefaultBinary,15725,Object
+JsonDataSetReaderMessageDataType_Encoding_DefaultJson,16404,Object
+JsonDataSetReaderMessageDataType_Encoding_DefaultXml,16019,Object
+JsonDataSetReaderMessageType,21130,ObjectType
+JsonDataSetWriterMessageDataType,15664,DataType
+JsonDataSetWriterMessageDataType_Encoding_DefaultBinary,15724,Object
+JsonDataSetWriterMessageDataType_Encoding_DefaultJson,16394,Object
+JsonDataSetWriterMessageDataType_Encoding_DefaultXml,16018,Object
+JsonDataSetWriterMessageType,21128,ObjectType
+JsonNetworkMessageContentMask,15654,DataType
+JsonWriterGroupMessageDataType,15657,DataType
+JsonWriterGroupMessageDataType_Encoding_DefaultBinary,15719,Object
+JsonWriterGroupMessageDataType_Encoding_DefaultJson,16393,Object
+JsonWriterGroupMessageDataType_Encoding_DefaultXml,16017,Object
+JsonWriterGroupMessageType,21126,ObjectType
+KeyCredentialAuditEventType,18011,ObjectType
+KeyCredentialConfiguration,18155,Object
+KeyCredentialConfigurationFolderType,17496,ObjectType
+KeyCredentialConfigurationType,18001,ObjectType
+KeyCredentialDeletedAuditEventType,18047,ObjectType
+KeyCredentialUpdatedAuditEventType,18029,ObjectType
+KeyValuePair,14533,DataType
+KeyValuePair_Encoding_DefaultBinary,14846,Object
+KeyValuePair_Encoding_DefaultJson,15041,Object
+KeyValuePair_Encoding_DefaultXml,14802,Object
+LimitAlarmType,2955,ObjectType
+ListenerStreams,24232,Object
+LiteralOperand,595,DataType
+LiteralOperand_Encoding_DefaultBinary,597,Object
+LiteralOperand_Encoding_DefaultJson,15208,Object
+LiteralOperand_Encoding_DefaultXml,596,Object
+LocaleId,295,DataType
+LocalizedText,21,DataType
+LocalTime,3069,Variable
+MaintenanceConditionClassType,11165,ObjectType
+MappingTables,24228,Object
+MaxArrayLength,11512,Variable
+MaxByteStringLength,12908,Variable
+MaxCharacters,15002,Variable
+MaxStringLength,11498,Variable
+MdnsDiscoveryConfiguration,12891,DataType
+MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object
+MdnsDiscoveryConfiguration_Encoding_DefaultJson,15106,Object
+MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object
+MessageSecurityMode,302,DataType
+MethodAttributes,358,DataType
+MethodAttributes_Encoding_DefaultBinary,360,Object
+MethodAttributes_Encoding_DefaultJson,15157,Object
+MethodAttributes_Encoding_DefaultXml,359,Object
+MethodNode,276,DataType
+MethodNode_Encoding_DefaultBinary,278,Object
+MethodNode_Encoding_DefaultJson,15077,Object
+MethodNode_Encoding_DefaultXml,277,Object
+ModelChangeStructureDataType,877,DataType
+ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object
+ModelChangeStructureDataType_Encoding_DefaultJson,15373,Object
+ModelChangeStructureDataType_Encoding_DefaultXml,878,Object
+ModelChangeStructureVerbMask,11941,DataType
+ModellingRule_ExposesItsArray,83,Object
+ModellingRule_Mandatory,78,Object
+ModellingRule_MandatoryPlaceholder,11510,Object
+ModellingRule_Optional,80,Object
+ModellingRule_OptionalPlaceholder,11508,Object
+ModellingRuleType,77,ObjectType
+ModificationInfo,11216,DataType
+ModificationInfo_Encoding_DefaultBinary,11226,Object
+ModificationInfo_Encoding_DefaultJson,15271,Object
+ModificationInfo_Encoding_DefaultXml,11218,Object
+ModifyMonitoredItemsRequest,761,DataType
+ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object
+ModifyMonitoredItemsRequest_Encoding_DefaultJson,15327,Object
+ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object
+ModifyMonitoredItemsResponse,764,DataType
+ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object
+ModifyMonitoredItemsResponse_Encoding_DefaultJson,15328,Object
+ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object
+ModifySubscriptionRequest,791,DataType
+ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object
+ModifySubscriptionRequest_Encoding_DefaultJson,15339,Object
+ModifySubscriptionRequest_Encoding_DefaultXml,792,Object
+ModifySubscriptionResponse,794,DataType
+ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object
+ModifySubscriptionResponse_Encoding_DefaultJson,15340,Object
+ModifySubscriptionResponse_Encoding_DefaultXml,795,Object
+MonitoredItemCreateRequest,743,DataType
+MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object
+MonitoredItemCreateRequest_Encoding_DefaultJson,15321,Object
+MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object
+MonitoredItemCreateResult,746,DataType
+MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object
+MonitoredItemCreateResult_Encoding_DefaultJson,15322,Object
+MonitoredItemCreateResult_Encoding_DefaultXml,747,Object
+MonitoredItemModifyRequest,755,DataType
+MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object
+MonitoredItemModifyRequest_Encoding_DefaultJson,15325,Object
+MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object
+MonitoredItemModifyResult,758,DataType
+MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object
+MonitoredItemModifyResult_Encoding_DefaultJson,15326,Object
+MonitoredItemModifyResult_Encoding_DefaultXml,759,Object
+MonitoredItemNotification,806,DataType
+MonitoredItemNotification_Encoding_DefaultBinary,808,Object
+MonitoredItemNotification_Encoding_DefaultJson,15346,Object
+MonitoredItemNotification_Encoding_DefaultXml,807,Object
+MonitoringFilter,719,DataType
+MonitoringFilter_Encoding_DefaultBinary,721,Object
+MonitoringFilter_Encoding_DefaultJson,15293,Object
+MonitoringFilter_Encoding_DefaultXml,720,Object
+MonitoringFilterResult,731,DataType
+MonitoringFilterResult_Encoding_DefaultBinary,733,Object
+MonitoringFilterResult_Encoding_DefaultJson,15313,Object
+MonitoringFilterResult_Encoding_DefaultXml,732,Object
+MonitoringMode,716,DataType
+MonitoringParameters,740,DataType
+MonitoringParameters_Encoding_DefaultBinary,742,Object
+MonitoringParameters_Encoding_DefaultJson,15320,Object
+MonitoringParameters_Encoding_DefaultXml,741,Object
+MultiStateDictionaryEntryDiscreteBaseType,19077,VariableType
+MultiStateDictionaryEntryDiscreteType,19084,VariableType
+MultiStateDiscreteType,2376,VariableType
+MultiStateValueDiscreteType,11238,VariableType
+NamespaceMetadataType,11616,ObjectType
+NamespacesType,11645,ObjectType
+NamingRuleType,120,DataType
+NDimensionArrayItemType,12068,VariableType
+NegotiationStatus,24216,DataType
+NetworkAddressDataType,15502,DataType
+NetworkAddressDataType_Encoding_DefaultBinary,21151,Object
+NetworkAddressDataType_Encoding_DefaultJson,21199,Object
+NetworkAddressDataType_Encoding_DefaultXml,21175,Object
+NetworkAddressType,21145,ObjectType
+NetworkAddressUrlDataType,15510,DataType
+NetworkAddressUrlDataType_Encoding_DefaultBinary,21152,Object
+NetworkAddressUrlDataType_Encoding_DefaultJson,21200,Object
+NetworkAddressUrlDataType_Encoding_DefaultXml,21176,Object
+NetworkAddressUrlType,21147,ObjectType
+NetworkGroupDataType,11944,DataType
+NetworkGroupDataType_Encoding_DefaultBinary,11958,Object
+NetworkGroupDataType_Encoding_DefaultJson,15364,Object
+NetworkGroupDataType_Encoding_DefaultXml,11950,Object
+NetworkInterfaces,24229,Object
+Node,258,DataType
+Node_Encoding_DefaultBinary,260,Object
+Node_Encoding_DefaultJson,15068,Object
+Node_Encoding_DefaultXml,259,Object
+NodeAttributes,349,DataType
+NodeAttributes_Encoding_DefaultBinary,351,Object
+NodeAttributes_Encoding_DefaultJson,15151,Object
+NodeAttributes_Encoding_DefaultXml,350,Object
+NodeAttributesMask,348,DataType
+NodeClass,257,DataType
+NodeId,17,DataType
+NodeReference,580,DataType
+NodeReference_Encoding_DefaultBinary,582,Object
+NodeReference_Encoding_DefaultJson,15203,Object
+NodeReference_Encoding_DefaultXml,581,Object
+NodeTypeDescription,573,DataType
+NodeTypeDescription_Encoding_DefaultBinary,575,Object
+NodeTypeDescription_Encoding_DefaultJson,15201,Object
+NodeTypeDescription_Encoding_DefaultXml,574,Object
+NodeVersion,3068,Variable
+NonExclusiveDeviationAlarmType,10368,ObjectType
+NonExclusiveLevelAlarmType,10060,ObjectType
+NonExclusiveLimitAlarmType,9906,ObjectType
+NonExclusiveRateOfChangeAlarmType,10214,ObjectType
+NonHierarchicalReferences,32,ReferenceType
+NonTransparentNetworkRedundancyType,11945,ObjectType
+NonTransparentRedundancyType,2039,ObjectType
+NormalizedString,12877,DataType
+NotificationData,945,DataType
+NotificationData_Encoding_DefaultBinary,947,Object
+NotificationData_Encoding_DefaultJson,15344,Object
+NotificationData_Encoding_DefaultXml,946,Object
+NotificationMessage,803,DataType
+NotificationMessage_Encoding_DefaultBinary,805,Object
+NotificationMessage_Encoding_DefaultJson,15343,Object
+NotificationMessage_Encoding_DefaultXml,804,Object
+Number,26,DataType
+NumericRange,291,DataType
+ObjectAttributes,352,DataType
+ObjectAttributes_Encoding_DefaultBinary,354,Object
+ObjectAttributes_Encoding_DefaultJson,15152,Object
+ObjectAttributes_Encoding_DefaultXml,353,Object
+ObjectNode,261,DataType
+ObjectNode_Encoding_DefaultBinary,263,Object
+ObjectNode_Encoding_DefaultJson,15071,Object
+ObjectNode_Encoding_DefaultXml,262,Object
+ObjectsFolder,85,Object
+ObjectTypeAttributes,361,DataType
+ObjectTypeAttributes_Encoding_DefaultBinary,363,Object
+ObjectTypeAttributes_Encoding_DefaultJson,15158,Object
+ObjectTypeAttributes_Encoding_DefaultXml,362,Object
+ObjectTypeNode,264,DataType
+ObjectTypeNode_Encoding_DefaultBinary,266,Object
+ObjectTypeNode_Encoding_DefaultJson,15073,Object
+ObjectTypeNode_Encoding_DefaultXml,265,Object
+ObjectTypesFolder,88,Object
+OffNormalAlarmType,10637,ObjectType
+OPCBinarySchema_TypeSystem,93,Object
+OpcUa_BinarySchema,7617,Variable
+OpcUa_XmlSchema,8252,Variable
+OPCUANamespaceMetadata,15957,Object
+OpenFileMode,11939,DataType
+OpenSecureChannelRequest,444,DataType
+OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object
+OpenSecureChannelRequest_Encoding_DefaultJson,15132,Object
+OpenSecureChannelRequest_Encoding_DefaultXml,445,Object
+OpenSecureChannelResponse,447,DataType
+OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object
+OpenSecureChannelResponse_Encoding_DefaultJson,15133,Object
+OpenSecureChannelResponse_Encoding_DefaultXml,448,Object
+OperationLimitsType,11564,ObjectType
+OptionSet,12755,DataType
+OptionSet_Encoding_DefaultBinary,12765,Object
+OptionSet_Encoding_DefaultJson,15084,Object
+OptionSet_Encoding_DefaultXml,12757,Object
+OptionSetType,11487,VariableType
+OptionSetValues,12745,Variable
+OrderedListType,23518,ObjectType
+Organizes,35,ReferenceType
+Orientation,18811,DataType
+Orientation_Encoding_DefaultBinary,18820,Object
+Orientation_Encoding_DefaultJson,19069,Object
+Orientation_Encoding_DefaultXml,18856,Object
+OrientationType,18779,VariableType
+OutputArguments,3073,Variable
+OverrideValueHandling,15874,DataType
+ParsingResult,610,DataType
+ParsingResult_Encoding_DefaultBinary,612,Object
+ParsingResult_Encoding_DefaultJson,15236,Object
+ParsingResult_Encoding_DefaultXml,611,Object
+PerformUpdateType,11293,DataType
+PermissionType,94,DataType
+ProcessConditionClassType,11164,ObjectType
+ProgramDiagnostic2DataType,24033,DataType
+ProgramDiagnostic2DataType_Encoding_DefaultBinary,24034,Object
+ProgramDiagnostic2DataType_Encoding_DefaultJson,24042,Object
+ProgramDiagnostic2DataType_Encoding_DefaultXml,24038,Object
+ProgramDiagnostic2Type,15383,VariableType
+ProgramDiagnosticDataType,894,DataType
+ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object
+ProgramDiagnosticDataType_Encoding_DefaultJson,15381,Object
+ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object
+ProgramDiagnosticType,2380,VariableType
+ProgramStateMachineType,2391,ObjectType
+ProgramTransitionAuditEventType,3806,ObjectType
+ProgramTransitionEventType,2378,ObjectType
+ProgressEventType,11436,ObjectType
+PropertyType,68,VariableType
+PublishedDataItemsDataType,15581,DataType
+PublishedDataItemsDataType_Encoding_DefaultBinary,15679,Object
+PublishedDataItemsDataType_Encoding_DefaultJson,16154,Object
+PublishedDataItemsDataType_Encoding_DefaultXml,15953,Object
+PublishedDataItemsType,14534,ObjectType
+PublishedDataSetDataType,15578,DataType
+PublishedDataSetDataType_Encoding_DefaultBinary,15677,Object
+PublishedDataSetDataType_Encoding_DefaultJson,16152,Object
+PublishedDataSetDataType_Encoding_DefaultXml,15951,Object
+PublishedDataSetSourceDataType,15580,DataType
+PublishedDataSetSourceDataType_Encoding_DefaultBinary,15678,Object
+PublishedDataSetSourceDataType_Encoding_DefaultJson,16153,Object
+PublishedDataSetSourceDataType_Encoding_DefaultXml,15952,Object
+PublishedDataSetType,14509,ObjectType
+PublishedEventsDataType,15582,DataType
+PublishedEventsDataType_Encoding_DefaultBinary,15681,Object
+PublishedEventsDataType_Encoding_DefaultJson,16155,Object
+PublishedEventsDataType_Encoding_DefaultXml,15954,Object
+PublishedEventsType,14572,ObjectType
+PublishedVariableDataType,14273,DataType
+PublishedVariableDataType_Encoding_DefaultBinary,14323,Object
+PublishedVariableDataType_Encoding_DefaultJson,15060,Object
+PublishedVariableDataType_Encoding_DefaultXml,14319,Object
+PublishRequest,824,DataType
+PublishRequest_Encoding_DefaultBinary,826,Object
+PublishRequest_Encoding_DefaultJson,15352,Object
+PublishRequest_Encoding_DefaultXml,825,Object
+PublishResponse,827,DataType
+PublishResponse_Encoding_DefaultBinary,829,Object
+PublishResponse_Encoding_DefaultJson,15353,Object
+PublishResponse_Encoding_DefaultXml,828,Object
+PublishSubscribe,14443,Object
+PublishSubscribeType,14416,ObjectType
+PubSubCommunicationFailureEventType,15563,ObjectType
+PubSubConfigurationDataType,15530,DataType
+PubSubConfigurationDataType_Encoding_DefaultBinary,21154,Object
+PubSubConfigurationDataType_Encoding_DefaultJson,21202,Object
+PubSubConfigurationDataType_Encoding_DefaultXml,21178,Object
+PubSubConnectionDataType,15617,DataType
+PubSubConnectionDataType_Encoding_DefaultBinary,15694,Object
+PubSubConnectionDataType_Encoding_DefaultJson,16281,Object
+PubSubConnectionDataType_Encoding_DefaultXml,15992,Object
+PubSubConnectionType,14209,ObjectType
+PubSubDiagnosticsConnectionType,19786,ObjectType
+PubSubDiagnosticsCounterClassification,19730,DataType
+PubSubDiagnosticsCounterType,19725,VariableType
+PubSubDiagnosticsDataSetReaderType,20027,ObjectType
+PubSubDiagnosticsDataSetWriterType,19968,ObjectType
+PubSubDiagnosticsReaderGroupType,19903,ObjectType
+PubSubDiagnosticsRootType,19732,ObjectType
+PubSubDiagnosticsType,19677,ObjectType
+PubSubDiagnosticsWriterGroupType,19834,ObjectType
+PubSubGroupDataType,15609,DataType
+PubSubGroupDataType_Encoding_DefaultBinary,15689,Object
+PubSubGroupDataType_Encoding_DefaultJson,16159,Object
+PubSubGroupDataType_Encoding_DefaultXml,15988,Object
+PubSubGroupType,14232,ObjectType
+PubSubKeyServiceType,15906,ObjectType
+PubSubState,14647,DataType
+PubSubStatusEventType,15535,ObjectType
+PubSubStatusType,14643,ObjectType
+PubSubTransportLimitsExceedEventType,15548,ObjectType
+QualifiedName,20,DataType
+QueryDataDescription,570,DataType
+QueryDataDescription_Encoding_DefaultBinary,572,Object
+QueryDataDescription_Encoding_DefaultJson,15200,Object
+QueryDataDescription_Encoding_DefaultXml,571,Object
+QueryDataSet,577,DataType
+QueryDataSet_Encoding_DefaultBinary,579,Object
+QueryDataSet_Encoding_DefaultJson,15202,Object
+QueryDataSet_Encoding_DefaultXml,578,Object
+QueryFirstRequest,613,DataType
+QueryFirstRequest_Encoding_DefaultBinary,615,Object
+QueryFirstRequest_Encoding_DefaultJson,15244,Object
+QueryFirstRequest_Encoding_DefaultXml,614,Object
+QueryFirstResponse,616,DataType
+QueryFirstResponse_Encoding_DefaultBinary,618,Object
+QueryFirstResponse_Encoding_DefaultJson,15252,Object
+QueryFirstResponse_Encoding_DefaultXml,617,Object
+QueryNextRequest,619,DataType
+QueryNextRequest_Encoding_DefaultBinary,621,Object
+QueryNextRequest_Encoding_DefaultJson,15254,Object
+QueryNextRequest_Encoding_DefaultXml,620,Object
+QueryNextResponse,622,DataType
+QueryNextResponse_Encoding_DefaultBinary,624,Object
+QueryNextResponse_Encoding_DefaultJson,15255,Object
+QueryNextResponse_Encoding_DefaultXml,623,Object
+Range,884,DataType
+Range_Encoding_DefaultBinary,886,Object
+Range_Encoding_DefaultJson,15375,Object
+Range_Encoding_DefaultXml,885,Object
+RationalNumber,18806,DataType
+RationalNumber_Encoding_DefaultBinary,18815,Object
+RationalNumber_Encoding_DefaultJson,19064,Object
+RationalNumber_Encoding_DefaultXml,18851,Object
+RationalNumberType,17709,VariableType
+ReadAnnotationDataDetails,23497,DataType
+ReadAnnotationDataDetails_Encoding_DefaultBinary,23500,Object
+ReadAnnotationDataDetails_Encoding_DefaultJson,23512,Object
+ReadAnnotationDataDetails_Encoding_DefaultXml,23506,Object
+ReadAtTimeDetails,653,DataType
+ReadAtTimeDetails_Encoding_DefaultBinary,655,Object
+ReadAtTimeDetails_Encoding_DefaultJson,15269,Object
+ReadAtTimeDetails_Encoding_DefaultXml,654,Object
+ReaderGroupDataType,15520,DataType
+ReaderGroupDataType_Encoding_DefaultBinary,21153,Object
+ReaderGroupDataType_Encoding_DefaultJson,21201,Object
+ReaderGroupDataType_Encoding_DefaultXml,21177,Object
+ReaderGroupMessageDataType,15622,DataType
+ReaderGroupMessageDataType_Encoding_DefaultBinary,15702,Object
+ReaderGroupMessageDataType_Encoding_DefaultJson,16285,Object
+ReaderGroupMessageDataType_Encoding_DefaultXml,15996,Object
+ReaderGroupMessageType,21091,ObjectType
+ReaderGroupTransportDataType,15621,DataType
+ReaderGroupTransportDataType_Encoding_DefaultBinary,15701,Object
+ReaderGroupTransportDataType_Encoding_DefaultJson,16284,Object
+ReaderGroupTransportDataType_Encoding_DefaultXml,15995,Object
+ReaderGroupTransportType,21090,ObjectType
+ReaderGroupType,17999,ObjectType
+ReadEventDetails,644,DataType
+ReadEventDetails_Encoding_DefaultBinary,646,Object
+ReadEventDetails_Encoding_DefaultJson,15262,Object
+ReadEventDetails_Encoding_DefaultXml,645,Object
+ReadProcessedDetails,650,DataType
+ReadProcessedDetails_Encoding_DefaultBinary,652,Object
+ReadProcessedDetails_Encoding_DefaultJson,15264,Object
+ReadProcessedDetails_Encoding_DefaultXml,651,Object
+ReadRawModifiedDetails,647,DataType
+ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object
+ReadRawModifiedDetails_Encoding_DefaultJson,15263,Object
+ReadRawModifiedDetails_Encoding_DefaultXml,648,Object
+ReadRequest,629,DataType
+ReadRequest_Encoding_DefaultBinary,631,Object
+ReadRequest_Encoding_DefaultJson,15257,Object
+ReadRequest_Encoding_DefaultXml,630,Object
+ReadResponse,632,DataType
+ReadResponse_Encoding_DefaultBinary,634,Object
+ReadResponse_Encoding_DefaultJson,15258,Object
+ReadResponse_Encoding_DefaultXml,633,Object
+ReadValueId,626,DataType
+ReadValueId_Encoding_DefaultBinary,628,Object
+ReadValueId_Encoding_DefaultJson,15256,Object
+ReadValueId_Encoding_DefaultXml,627,Object
+RedundancySupport,851,DataType
+RedundantServerDataType,853,DataType
+RedundantServerDataType_Encoding_DefaultBinary,855,Object
+RedundantServerDataType_Encoding_DefaultJson,15362,Object
+RedundantServerDataType_Encoding_DefaultXml,854,Object
+ReferenceDescription,518,DataType
+ReferenceDescription_Encoding_DefaultBinary,520,Object
+ReferenceDescription_Encoding_DefaultJson,15182,Object
+ReferenceDescription_Encoding_DefaultXml,519,Object
+ReferenceNode,285,DataType
+ReferenceNode_Encoding_DefaultBinary,287,Object
+ReferenceNode_Encoding_DefaultJson,15080,Object
+ReferenceNode_Encoding_DefaultXml,286,Object
+References,31,ReferenceType
+ReferenceTypeAttributes,367,DataType
+ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object
+ReferenceTypeAttributes_Encoding_DefaultJson,15160,Object
+ReferenceTypeAttributes_Encoding_DefaultXml,368,Object
+ReferenceTypeNode,273,DataType
+ReferenceTypeNode_Encoding_DefaultBinary,275,Object
+ReferenceTypeNode_Encoding_DefaultJson,15076,Object
+ReferenceTypeNode_Encoding_DefaultXml,274,Object
+ReferenceTypesFolder,91,Object
+RefreshEndEventType,2788,ObjectType
+RefreshRequiredEventType,2789,ObjectType
+RefreshStartEventType,2787,ObjectType
+RegisteredServer,432,DataType
+RegisteredServer_Encoding_DefaultBinary,434,Object
+RegisteredServer_Encoding_DefaultJson,15102,Object
+RegisteredServer_Encoding_DefaultXml,433,Object
+RegisterNodesRequest,558,DataType
+RegisterNodesRequest_Encoding_DefaultBinary,560,Object
+RegisterNodesRequest_Encoding_DefaultJson,15195,Object
+RegisterNodesRequest_Encoding_DefaultXml,559,Object
+RegisterNodesResponse,561,DataType
+RegisterNodesResponse_Encoding_DefaultBinary,563,Object
+RegisterNodesResponse_Encoding_DefaultJson,15196,Object
+RegisterNodesResponse_Encoding_DefaultXml,562,Object
+RegisterServer2Request,12193,DataType
+RegisterServer2Request_Encoding_DefaultBinary,12211,Object
+RegisterServer2Request_Encoding_DefaultJson,15107,Object
+RegisterServer2Request_Encoding_DefaultXml,12199,Object
+RegisterServer2Response,12194,DataType
+RegisterServer2Response_Encoding_DefaultBinary,12212,Object
+RegisterServer2Response_Encoding_DefaultJson,15130,Object
+RegisterServer2Response_Encoding_DefaultXml,12200,Object
+RegisterServerRequest,435,DataType
+RegisterServerRequest_Encoding_DefaultBinary,437,Object
+RegisterServerRequest_Encoding_DefaultJson,15103,Object
+RegisterServerRequest_Encoding_DefaultXml,436,Object
+RegisterServerResponse,438,DataType
+RegisterServerResponse_Encoding_DefaultBinary,440,Object
+RegisterServerResponse_Encoding_DefaultJson,15104,Object
+RegisterServerResponse_Encoding_DefaultXml,439,Object
+RelativePath,540,DataType
+RelativePath_Encoding_DefaultBinary,542,Object
+RelativePath_Encoding_DefaultJson,15189,Object
+RelativePath_Encoding_DefaultXml,541,Object
+RelativePathElement,537,DataType
+RelativePathElement_Encoding_DefaultBinary,539,Object
+RelativePathElement_Encoding_DefaultJson,15188,Object
+RelativePathElement_Encoding_DefaultXml,538,Object
+RepublishRequest,830,DataType
+RepublishRequest_Encoding_DefaultBinary,832,Object
+RepublishRequest_Encoding_DefaultJson,15354,Object
+RepublishRequest_Encoding_DefaultXml,831,Object
+RepublishResponse,833,DataType
+RepublishResponse_Encoding_DefaultBinary,835,Object
+RepublishResponse_Encoding_DefaultJson,15355,Object
+RepublishResponse_Encoding_DefaultXml,834,Object
+RequestHeader,389,DataType
+RequestHeader_Encoding_DefaultBinary,391,Object
+RequestHeader_Encoding_DefaultJson,15088,Object
+RequestHeader_Encoding_DefaultXml,390,Object
+Resources,24226,Object
+ResponseHeader,392,DataType
+ResponseHeader_Encoding_DefaultBinary,394,Object
+ResponseHeader_Encoding_DefaultJson,15089,Object
+ResponseHeader_Encoding_DefaultXml,393,Object
+RoleMappingRuleChangedAuditEventType,17641,ObjectType
+RolePermissionType,96,DataType
+RolePermissionType_Encoding_DefaultBinary,128,Object
+RolePermissionType_Encoding_DefaultJson,15062,Object
+RolePermissionType_Encoding_DefaultXml,16126,Object
+RoleSetType,15607,ObjectType
+RoleType,15620,ObjectType
+RootFolder,84,Object
+RsaEncryptedSecret,17545,DataType
+RsaMinApplicationCertificateType,12559,ObjectType
+RsaSha256ApplicationCertificateType,12560,ObjectType
+SafetyConditionClassType,17218,ObjectType
+SamplingIntervalDiagnosticsArrayType,2164,VariableType
+SamplingIntervalDiagnosticsDataType,856,DataType
+SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object
+SamplingIntervalDiagnosticsDataType_Encoding_DefaultJson,15365,Object
+SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object
+SamplingIntervalDiagnosticsType,2165,VariableType
+SByte,2,DataType
+SecurityGroupFolderType,15452,ObjectType
+SecurityGroupType,15471,ObjectType
+SecurityTokenRequestType,315,DataType
+SelectionListType,16309,VariableType
+SemanticChangeEventType,2738,ObjectType
+SemanticChangeStructureDataType,897,DataType
+SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object
+SemanticChangeStructureDataType_Encoding_DefaultJson,15374,Object
+SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object
+Server,2253,Object
+Server_ServerRedundancy_CurrentServerId,11312,Variable
+Server_ServerRedundancy_RedundantServerArray,11313,Variable
+Server_ServerRedundancy_ServerNetworkGroups,14415,Variable
+Server_ServerRedundancy_ServerUriArray,11314,Variable
+ServerCapabilitiesType,2013,ObjectType
+ServerConfiguration,12637,Object
+ServerConfigurationType,12581,ObjectType
+ServerDiagnosticsSummaryDataType,859,DataType
+ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object
+ServerDiagnosticsSummaryDataType_Encoding_DefaultJson,15366,Object
+ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object
+ServerDiagnosticsSummaryType,2150,VariableType
+ServerDiagnosticsType,2020,ObjectType
+ServerOnNetwork,12189,DataType
+ServerOnNetwork_Encoding_DefaultBinary,12207,Object
+ServerOnNetwork_Encoding_DefaultJson,15095,Object
+ServerOnNetwork_Encoding_DefaultXml,12195,Object
+ServerRedundancyType,2034,ObjectType
+ServerState,852,DataType
+ServerStatusDataType,862,DataType
+ServerStatusDataType_Encoding_DefaultBinary,864,Object
+ServerStatusDataType_Encoding_DefaultJson,15367,Object
+ServerStatusDataType_Encoding_DefaultXml,863,Object
+ServerStatusType,2138,VariableType
+ServerType,2004,ObjectType
+ServerVendorCapabilityType,2137,VariableType
+ServiceCounterDataType,871,DataType
+ServiceCounterDataType_Encoding_DefaultBinary,873,Object
+ServiceCounterDataType_Encoding_DefaultJson,15370,Object
+ServiceCounterDataType_Encoding_DefaultXml,872,Object
+ServiceFault,395,DataType
+ServiceFault_Encoding_DefaultBinary,397,Object
+ServiceFault_Encoding_DefaultJson,15090,Object
+ServiceFault_Encoding_DefaultXml,396,Object
+SessionAuthenticationToken,388,DataType
+SessionDiagnosticsArrayType,2196,VariableType
+SessionDiagnosticsDataType,865,DataType
+SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object
+SessionDiagnosticsDataType_Encoding_DefaultJson,15368,Object
+SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object
+SessionDiagnosticsObjectType,2029,ObjectType
+SessionDiagnosticsVariableType,2197,VariableType
+SessionlessInvokeRequestType,15901,DataType
+SessionlessInvokeRequestType_Encoding_DefaultBinary,15903,Object
+SessionlessInvokeRequestType_Encoding_DefaultJson,15091,Object
+SessionlessInvokeRequestType_Encoding_DefaultXml,15902,Object
+SessionlessInvokeResponseType,20999,DataType
+SessionlessInvokeResponseType_Encoding_DefaultBinary,21001,Object
+SessionlessInvokeResponseType_Encoding_DefaultJson,15092,Object
+SessionlessInvokeResponseType_Encoding_DefaultXml,21000,Object
+SessionsDiagnosticsSummaryType,2026,ObjectType
+SessionSecurityDiagnosticsArrayType,2243,VariableType
+SessionSecurityDiagnosticsDataType,868,DataType
+SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object
+SessionSecurityDiagnosticsDataType_Encoding_DefaultJson,15369,Object
+SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object
+SessionSecurityDiagnosticsType,2244,VariableType
+SetMonitoringModeRequest,767,DataType
+SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object
+SetMonitoringModeRequest_Encoding_DefaultJson,15329,Object
+SetMonitoringModeRequest_Encoding_DefaultXml,768,Object
+SetMonitoringModeResponse,770,DataType
+SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object
+SetMonitoringModeResponse_Encoding_DefaultJson,15331,Object
+SetMonitoringModeResponse_Encoding_DefaultXml,771,Object
+SetPublishingModeRequest,797,DataType
+SetPublishingModeRequest_Encoding_DefaultBinary,799,Object
+SetPublishingModeRequest_Encoding_DefaultJson,15341,Object
+SetPublishingModeRequest_Encoding_DefaultXml,798,Object
+SetPublishingModeResponse,800,DataType
+SetPublishingModeResponse_Encoding_DefaultBinary,802,Object
+SetPublishingModeResponse_Encoding_DefaultJson,15342,Object
+SetPublishingModeResponse_Encoding_DefaultXml,801,Object
+SetTriggeringRequest,773,DataType
+SetTriggeringRequest_Encoding_DefaultBinary,775,Object
+SetTriggeringRequest_Encoding_DefaultJson,15332,Object
+SetTriggeringRequest_Encoding_DefaultXml,774,Object
+SetTriggeringResponse,776,DataType
+SetTriggeringResponse_Encoding_DefaultBinary,778,Object
+SetTriggeringResponse_Encoding_DefaultJson,15333,Object
+SetTriggeringResponse_Encoding_DefaultXml,777,Object
+ShelvedStateMachineType,2929,ObjectType
+SignatureData,456,DataType
+SignatureData_Encoding_DefaultBinary,458,Object
+SignatureData_Encoding_DefaultJson,15137,Object
+SignatureData_Encoding_DefaultXml,457,Object
+SignedSoftwareCertificate,344,DataType
+SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object
+SignedSoftwareCertificate_Encoding_DefaultJson,15136,Object
+SignedSoftwareCertificate_Encoding_DefaultXml,345,Object
+SimpleAttributeOperand,601,DataType
+SimpleAttributeOperand_Encoding_DefaultBinary,603,Object
+SimpleAttributeOperand_Encoding_DefaultJson,15210,Object
+SimpleAttributeOperand_Encoding_DefaultXml,602,Object
+SimpleTypeDescription,15005,DataType
+SimpleTypeDescription_Encoding_DefaultBinary,15421,Object
+SimpleTypeDescription_Encoding_DefaultJson,15700,Object
+SimpleTypeDescription_Encoding_DefaultXml,15529,Object
+StateMachineType,2299,ObjectType
+StateType,2307,ObjectType
+StateVariableType,2755,VariableType
+StatisticalConditionClassType,18665,ObjectType
+StatusChangeNotification,818,DataType
+StatusChangeNotification_Encoding_DefaultBinary,820,Object
+StatusChangeNotification_Encoding_DefaultJson,15350,Object
+StatusChangeNotification_Encoding_DefaultXml,819,Object
+StatusCode,19,DataType
+StatusResult,299,DataType
+StatusResult_Encoding_DefaultBinary,301,Object
+StatusResult_Encoding_DefaultJson,15371,Object
+StatusResult_Encoding_DefaultXml,300,Object
+Streams,24230,Object
+String,12,DataType
+Structure,22,DataType
+StructureDefinition,99,DataType
+StructureDefinition_Encoding_DefaultBinary,122,Object
+StructureDefinition_Encoding_DefaultJson,15066,Object
+StructureDefinition_Encoding_DefaultXml,14798,Object
+StructureDescription,15487,DataType
+StructureDescription_Encoding_DefaultBinary,126,Object
+StructureDescription_Encoding_DefaultJson,15058,Object
+StructureDescription_Encoding_DefaultXml,15589,Object
+StructureField,101,DataType
+StructureField_Encoding_DefaultBinary,14844,Object
+StructureField_Encoding_DefaultJson,15065,Object
+StructureField_Encoding_DefaultXml,14800,Object
+StructureType,98,DataType
+SubscribedDataSetDataType,15630,DataType
+SubscribedDataSetDataType_Encoding_DefaultBinary,15707,Object
+SubscribedDataSetDataType_Encoding_DefaultJson,16308,Object
+SubscribedDataSetDataType_Encoding_DefaultXml,16010,Object
+SubscribedDataSetMirrorDataType,15635,DataType
+SubscribedDataSetMirrorDataType_Encoding_DefaultBinary,15713,Object
+SubscribedDataSetMirrorDataType_Encoding_DefaultJson,16311,Object
+SubscribedDataSetMirrorDataType_Encoding_DefaultXml,16012,Object
+SubscribedDataSetMirrorType,15127,ObjectType
+SubscribedDataSetType,15108,ObjectType
+SubscriptionAcknowledgement,821,DataType
+SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object
+SubscriptionAcknowledgement_Encoding_DefaultJson,15351,Object
+SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object
+SubscriptionDiagnosticsArrayType,2171,VariableType
+SubscriptionDiagnosticsDataType,874,DataType
+SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object
+SubscriptionDiagnosticsDataType_Encoding_DefaultJson,15372,Object
+SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object
+SubscriptionDiagnosticsType,2172,VariableType
+SystemConditionClassType,11166,ObjectType
+SystemDiagnosticAlarmType,18496,ObjectType
+SystemEventType,2130,ObjectType
+SystemOffNormalAlarmType,11753,ObjectType
+SystemStatusChangeEventType,11446,ObjectType
+TagVariables,23479,Object
+TalkerStreams,24231,Object
+TargetVariablesDataType,15631,DataType
+TargetVariablesDataType_Encoding_DefaultBinary,15712,Object
+TargetVariablesDataType_Encoding_DefaultJson,16310,Object
+TargetVariablesDataType_Encoding_DefaultXml,16011,Object
+TargetVariablesType,15111,ObjectType
+TemporaryFileTransferType,15744,ObjectType
+TestingConditionSubClassType,17221,ObjectType
+ThreeDCartesianCoordinates,18810,DataType
+ThreeDCartesianCoordinates_Encoding_DefaultBinary,18819,Object
+ThreeDCartesianCoordinates_Encoding_DefaultJson,19068,Object
+ThreeDCartesianCoordinates_Encoding_DefaultXml,18855,Object
+ThreeDCartesianCoordinatesType,18774,VariableType
+ThreeDFrame,18814,DataType
+ThreeDFrame_Encoding_DefaultBinary,18823,Object
+ThreeDFrame_Encoding_DefaultJson,19072,Object
+ThreeDFrame_Encoding_DefaultXml,18859,Object
+ThreeDFrameType,18791,VariableType
+ThreeDOrientation,18812,DataType
+ThreeDOrientation_Encoding_DefaultBinary,18821,Object
+ThreeDOrientation_Encoding_DefaultJson,19070,Object
+ThreeDOrientation_Encoding_DefaultXml,18857,Object
+ThreeDOrientationType,18781,VariableType
+ThreeDVector,18808,DataType
+ThreeDVector_Encoding_DefaultBinary,18817,Object
+ThreeDVector_Encoding_DefaultJson,19066,Object
+ThreeDVector_Encoding_DefaultXml,18853,Object
+ThreeDVectorType,17716,VariableType
+Time,292,DataType
+TimestampsToReturn,625,DataType
+TimeString,12880,DataType
+TimeZoneDataType,8912,DataType
+TimeZoneDataType_Encoding_DefaultBinary,8917,Object
+TimeZoneDataType_Encoding_DefaultJson,15086,Object
+TimeZoneDataType_Encoding_DefaultXml,8913,Object
+Topics,23488,Object
+ToState,52,ReferenceType
+TrainingConditionClassType,17220,ObjectType
+TransferResult,836,DataType
+TransferResult_Encoding_DefaultBinary,838,Object
+TransferResult_Encoding_DefaultJson,15356,Object
+TransferResult_Encoding_DefaultXml,837,Object
+TransferSubscriptionsRequest,839,DataType
+TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object
+TransferSubscriptionsRequest_Encoding_DefaultJson,15357,Object
+TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object
+TransferSubscriptionsResponse,842,DataType
+TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object
+TransferSubscriptionsResponse_Encoding_DefaultJson,15358,Object
+TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object
+TransitionEventType,2311,ObjectType
+TransitionType,2310,ObjectType
+TransitionVariableType,2762,VariableType
+TranslateBrowsePathsToNodeIdsRequest,552,DataType
+TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object
+TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultJson,15193,Object
+TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object
+TranslateBrowsePathsToNodeIdsResponse,555,DataType
+TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object
+TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultJson,15194,Object
+TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object
+TransparentRedundancyType,2036,ObjectType
+TripAlarmType,10751,ObjectType
+TrustListDataType,12554,DataType
+TrustListDataType_Encoding_DefaultBinary,12680,Object
+TrustListDataType_Encoding_DefaultJson,15044,Object
+TrustListDataType_Encoding_DefaultXml,12676,Object
+TrustListMasks,12552,DataType
+TrustListOutOfDateAlarmType,19297,ObjectType
+TrustListType,12522,ObjectType
+TrustListUpdatedAuditEventType,12561,ObjectType
+TsnFailureCode,24218,DataType
+TsnListenerStatus,24224,DataType
+TsnStreamState,24220,DataType
+TsnTalkerStatus,24222,DataType
+TwoStateDiscreteType,2373,VariableType
+TwoStateVariableType,8995,VariableType
+TypeNode,11880,DataType
+TypeNode_Encoding_DefaultBinary,11890,Object
+TypeNode_Encoding_DefaultJson,15070,Object
+TypeNode_Encoding_DefaultXml,11888,Object
+TypesFolder,86,Object
+UABinaryFileDataType,15006,DataType
+UABinaryFileDataType_Encoding_DefaultBinary,15422,Object
+UABinaryFileDataType_Encoding_DefaultJson,15714,Object
+UABinaryFileDataType_Encoding_DefaultXml,15531,Object
+UadpDataSetMessageContentMask,15646,DataType
+UadpDataSetReaderMessageDataType,15653,DataType
+UadpDataSetReaderMessageDataType_Encoding_DefaultBinary,15718,Object
+UadpDataSetReaderMessageDataType_Encoding_DefaultJson,16392,Object
+UadpDataSetReaderMessageDataType_Encoding_DefaultXml,16016,Object
+UadpDataSetReaderMessageType,21116,ObjectType
+UadpDataSetWriterMessageDataType,15652,DataType
+UadpDataSetWriterMessageDataType_Encoding_DefaultBinary,15717,Object
+UadpDataSetWriterMessageDataType_Encoding_DefaultJson,16391,Object
+UadpDataSetWriterMessageDataType_Encoding_DefaultXml,16015,Object
+UadpDataSetWriterMessageType,21111,ObjectType
+UadpNetworkMessageContentMask,15642,DataType
+UadpWriterGroupMessageDataType,15645,DataType
+UadpWriterGroupMessageDataType_Encoding_DefaultBinary,15715,Object
+UadpWriterGroupMessageDataType_Encoding_DefaultJson,16323,Object
+UadpWriterGroupMessageDataType_Encoding_DefaultXml,16014,Object
+UadpWriterGroupMessageType,21105,ObjectType
+UInt16,5,DataType
+UInt32,7,DataType
+UInt64,9,DataType
+UInteger,28,DataType
+Union,12756,DataType
+Union_Encoding_DefaultBinary,12766,Object
+Union_Encoding_DefaultJson,15085,Object
+Union_Encoding_DefaultXml,12758,Object
+UnregisterNodesRequest,564,DataType
+UnregisterNodesRequest_Encoding_DefaultBinary,566,Object
+UnregisterNodesRequest_Encoding_DefaultJson,15197,Object
+UnregisterNodesRequest_Encoding_DefaultXml,565,Object
+UnregisterNodesResponse,567,DataType
+UnregisterNodesResponse_Encoding_DefaultBinary,569,Object
+UnregisterNodesResponse_Encoding_DefaultJson,15198,Object
+UnregisterNodesResponse_Encoding_DefaultXml,568,Object
+UnsignedRationalNumber,24107,DataType
+UnsignedRationalNumber_Encoding_DefaultBinary,24110,Object
+UnsignedRationalNumber_Encoding_DefaultJson,24134,Object
+UnsignedRationalNumber_Encoding_DefaultXml,24122,Object
+UpdateDataDetails,680,DataType
+UpdateDataDetails_Encoding_DefaultBinary,682,Object
+UpdateDataDetails_Encoding_DefaultJson,15280,Object
+UpdateDataDetails_Encoding_DefaultXml,681,Object
+UpdateEventDetails,683,DataType
+UpdateEventDetails_Encoding_DefaultBinary,685,Object
+UpdateEventDetails_Encoding_DefaultJson,15282,Object
+UpdateEventDetails_Encoding_DefaultXml,684,Object
+UpdateStructureDataDetails,11295,DataType
+UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object
+UpdateStructureDataDetails_Encoding_DefaultJson,15281,Object
+UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object
+UriDictionaryEntryType,17600,ObjectType
+UserCredentialCertificateType,15181,ObjectType
+UserIdentityToken,316,DataType
+UserIdentityToken_Encoding_DefaultBinary,318,Object
+UserIdentityToken_Encoding_DefaultJson,15140,Object
+UserIdentityToken_Encoding_DefaultXml,317,Object
+UserNameIdentityToken,322,DataType
+UserNameIdentityToken_Encoding_DefaultBinary,324,Object
+UserNameIdentityToken_Encoding_DefaultJson,15142,Object
+UserNameIdentityToken_Encoding_DefaultXml,323,Object
+UserTokenPolicy,304,DataType
+UserTokenPolicy_Encoding_DefaultBinary,306,Object
+UserTokenPolicy_Encoding_DefaultJson,15098,Object
+UserTokenPolicy_Encoding_DefaultXml,305,Object
+UserTokenType,303,DataType
+UtcTime,294,DataType
+ValueAsText,11433,Variable
+VariableAttributes,355,DataType
+VariableAttributes_Encoding_DefaultBinary,357,Object
+VariableAttributes_Encoding_DefaultJson,15153,Object
+VariableAttributes_Encoding_DefaultXml,356,Object
+VariableNode,267,DataType
+VariableNode_Encoding_DefaultBinary,269,Object
+VariableNode_Encoding_DefaultJson,15074,Object
+VariableNode_Encoding_DefaultXml,268,Object
+VariableTypeAttributes,364,DataType
+VariableTypeAttributes_Encoding_DefaultBinary,366,Object
+VariableTypeAttributes_Encoding_DefaultJson,15159,Object
+VariableTypeAttributes_Encoding_DefaultXml,365,Object
+VariableTypeNode,270,DataType
+VariableTypeNode_Encoding_DefaultBinary,272,Object
+VariableTypeNode_Encoding_DefaultJson,15075,Object
+VariableTypeNode_Encoding_DefaultXml,271,Object
+VariableTypesFolder,89,Object
+Vector,18807,DataType
+Vector_Encoding_DefaultBinary,18816,Object
+Vector_Encoding_DefaultJson,19065,Object
+Vector_Encoding_DefaultXml,18852,Object
+VectorType,17714,VariableType
+VendorServerInfoType,2033,ObjectType
+VersionTime,20998,DataType
+ViewAttributes,373,DataType
+ViewAttributes_Encoding_DefaultBinary,375,Object
+ViewAttributes_Encoding_DefaultJson,15162,Object
+ViewAttributes_Encoding_DefaultXml,374,Object
+ViewDescription,511,DataType
+ViewDescription_Encoding_DefaultBinary,513,Object
+ViewDescription_Encoding_DefaultJson,15179,Object
+ViewDescription_Encoding_DefaultXml,512,Object
+ViewNode,279,DataType
+ViewNode_Encoding_DefaultBinary,281,Object
+ViewNode_Encoding_DefaultJson,15078,Object
+ViewNode_Encoding_DefaultXml,280,Object
+ViewsFolder,87,Object
+ViewVersion,12170,Variable
+WellKnownRole_Anonymous,15644,Object
+WellKnownRole_AuthenticatedUser,15656,Object
+WellKnownRole_ConfigureAdmin,15716,Object
+WellKnownRole_Engineer,16036,Object
+WellKnownRole_Observer,15668,Object
+WellKnownRole_Operator,15680,Object
+WellKnownRole_SecurityAdmin,15704,Object
+WellKnownRole_Supervisor,15692,Object
+WriteRequest,671,DataType
+WriteRequest_Encoding_DefaultBinary,673,Object
+WriteRequest_Encoding_DefaultJson,15277,Object
+WriteRequest_Encoding_DefaultXml,672,Object
+WriteResponse,674,DataType
+WriteResponse_Encoding_DefaultBinary,676,Object
+WriteResponse_Encoding_DefaultJson,15278,Object
+WriteResponse_Encoding_DefaultXml,675,Object
+WriterGroupDataType,15480,DataType
+WriterGroupDataType_Encoding_DefaultBinary,21150,Object
+WriterGroupDataType_Encoding_DefaultJson,21198,Object
+WriterGroupDataType_Encoding_DefaultXml,21174,Object
+WriterGroupMessageDataType,15616,DataType
+WriterGroupMessageDataType_Encoding_DefaultBinary,15693,Object
+WriterGroupMessageDataType_Encoding_DefaultJson,16280,Object
+WriterGroupMessageDataType_Encoding_DefaultXml,15991,Object
+WriterGroupMessageType,17998,ObjectType
+WriterGroupTransportDataType,15611,DataType
+WriterGroupTransportDataType_Encoding_DefaultBinary,15691,Object
+WriterGroupTransportDataType_Encoding_DefaultJson,16161,Object
+WriterGroupTransportDataType_Encoding_DefaultXml,15990,Object
+WriterGroupTransportType,17997,ObjectType
+WriterGroupType,17725,ObjectType
+WriteValue,668,DataType
+WriteValue_Encoding_DefaultBinary,670,Object
+WriteValue_Encoding_DefaultJson,15276,Object
+WriteValue_Encoding_DefaultXml,669,Object
+X509IdentityToken,325,DataType
+X509IdentityToken_Encoding_DefaultBinary,327,Object
+X509IdentityToken_Encoding_DefaultJson,15143,Object
+X509IdentityToken_Encoding_DefaultXml,326,Object
+XmlElement,16,DataType
+XmlSchema_TypeSystem,92,Object
+XVType,12080,DataType
+XVType_Encoding_DefaultBinary,12090,Object
+XVType_Encoding_DefaultJson,15380,Object
+XVType_Encoding_DefaultXml,12082,Object
+XYArrayItemType,12038,VariableType
+YArrayItemType,12029,VariableType
diff --git a/protocols/opcua/downloads/Opc.Ua.NodeSet2.Services.xml b/protocols/opcua/downloads/Opc.Ua.NodeSet2.Services.xml
new file mode 100644
index 00000000000..d37964bb2fa
--- /dev/null
+++ b/protocols/opcua/downloads/Opc.Ua.NodeSet2.Services.xml
@@ -0,0 +1,63477 @@
+
+
+
+
+
+
+
+
+ i=1
+ i=2
+ i=3
+ i=4
+ i=5
+ i=6
+ i=7
+ i=8
+ i=9
+ i=10
+ i=11
+ i=13
+ i=12
+ i=15
+ i=14
+ i=16
+ i=17
+ i=18
+ i=20
+ i=21
+ i=19
+ i=22
+ i=26
+ i=27
+ i=28
+ i=47
+ i=46
+ i=35
+ i=36
+ i=48
+ i=45
+ i=40
+ i=37
+ i=38
+ i=39
+ i=53
+ i=52
+ i=51
+ i=54
+ i=9004
+ i=9005
+ i=17597
+ i=9006
+ i=15112
+ i=17604
+ i=17603
+
+
+ Default Binary
+
+ i=58
+
+
+
+ Default XML
+
+ i=58
+
+
+
+ BaseDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+
+
+ Number
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=24
+
+
+
+ Integer
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=26
+
+
+
+ UInteger
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=26
+
+
+
+ Enumeration
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1
+
+ i=24
+
+
+
+
+ Boolean
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.8
+
+ i=24
+
+
+
+ SByte
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.17
+
+ i=27
+
+
+
+ Byte
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.9
+
+ i=28
+
+
+
+ Int16
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.25
+
+ i=27
+
+
+
+ UInt16
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.35
+
+ i=28
+
+
+
+ Int32
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.26
+
+ i=27
+
+
+
+ UInt32
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.36
+
+ i=28
+
+
+
+ Int64
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.27
+
+ i=27
+
+
+
+ UInt64
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=28
+
+
+
+ Float
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.15
+
+ i=26
+
+
+
+ Double
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=26
+
+
+
+ String
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=24
+
+
+
+ DateTime
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=24
+
+
+
+ Guid
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.16
+
+ i=24
+
+
+
+ ByteString
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=24
+
+
+
+ XmlElement
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.39
+
+ i=24
+
+
+
+ NodeId
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/5.2.2
+
+ i=24
+
+
+
+ ExpandedNodeId
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.11
+
+ i=24
+
+
+
+ StatusCode
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.34.1
+
+ i=24
+
+
+
+ QualifiedName
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.3
+
+ i=24
+
+
+
+ LocalizedText
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.5
+
+ i=24
+
+
+
+ Structure
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.2
+
+ i=24
+
+
+
+ DataValue
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.7.1
+
+ i=24
+
+
+
+ DiagnosticInfo
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.8
+
+ i=24
+
+
+
+ Image
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=15
+
+
+
+ Decimal
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.54
+
+ i=26
+
+
+
+ References
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.1
+
+
+
+ NonHierarchicalReferences
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.3
+
+ i=31
+
+
+
+ HierarchicalReferences
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.2
+
+ i=31
+
+ HierarchicalReferences
+
+
+ HasChild
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.4
+
+ i=33
+
+ ChildOf
+
+
+ Organizes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.6
+
+ i=33
+
+ OrganizedBy
+
+
+ HasEventSource
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.14
+
+ i=33
+
+ EventSourceOf
+
+
+ HasModellingRule
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.11
+
+ i=32
+
+ ModellingRuleOf
+
+
+ HasEncoding
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.13
+
+ i=32
+
+ EncodingOf
+
+
+ HasDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.1
+
+ i=32
+
+ DescriptionOf
+
+
+ HasTypeDefinition
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.12
+
+ i=32
+
+ TypeDefinitionOf
+
+
+ GeneratesEvent
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.16
+
+ i=32
+
+ GeneratedBy
+
+
+ AlwaysGeneratesEvent
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.17
+
+ i=41
+
+ AlwaysGeneratedBy
+
+
+ Aggregates
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.5
+
+ i=34
+
+ AggregatedBy
+
+
+ HasSubtype
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.10
+
+ i=34
+
+ SubtypeOf
+
+
+ HasProperty
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.9
+
+ i=44
+
+ PropertyOf
+
+
+ HasComponent
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.7
+
+ i=44
+
+ ComponentOf
+
+
+ HasNotifier
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.15
+
+ i=36
+
+ NotifierOf
+
+
+ HasOrderedComponent
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/11.8
+
+ i=47
+
+ OrderedComponentOf
+
+
+ FromState
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.11
+
+ i=32
+
+ ToTransition
+
+
+ ToState
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.12
+
+ i=32
+
+ FromTransition
+
+
+ HasCause
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.13
+
+ i=32
+
+ MayBeCausedBy
+
+
+ HasEffect
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.14
+
+ i=32
+
+ MayBeEffectedBy
+
+
+ HasSubStateMachine
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.15
+
+ i=32
+
+ SubStateMachineOf
+
+
+ HasHistoricalConfiguration
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.2.3
+
+ i=44
+
+ HistoricalConfigurationOf
+
+
+ BaseObjectType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.2
+
+
+
+ FolderType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.6
+
+ i=58
+
+
+
+ BaseVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.2
+
+
+
+ BaseDataVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.4
+
+ i=62
+
+
+
+ PropertyType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.3
+
+ i=62
+
+
+
+ DataTypeDescriptionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.3
+
+ i=104
+ i=105
+ i=63
+
+
+
+ DataTypeVersion
+
+ i=68
+ i=80
+ i=69
+
+
+
+ DictionaryFragment
+
+ i=68
+ i=80
+ i=69
+
+
+
+ DataTypeDictionaryType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.2
+
+ i=106
+ i=107
+ i=15001
+ i=63
+
+
+
+ DataTypeVersion
+
+ i=68
+ i=80
+ i=72
+
+
+
+ NamespaceUri
+
+ i=68
+ i=80
+ i=72
+
+
+
+ Deprecated
+
+ i=68
+ i=80
+ i=72
+
+
+
+ DataTypeSystemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.4
+
+ i=58
+
+
+
+ DataTypeEncodingType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.7
+
+ i=58
+
+
+
+ NamingRuleType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.29
+
+ i=12169
+ i=29
+
+
+
+ The BrowseName must appear in all instances of the type.
+
+
+ The BrowseName may appear in an instance of the type.
+
+
+ The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=120
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Mandatory
+
+
+ The BrowseName must appear in all instances of the type.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Optional
+
+
+ The BrowseName may appear in an instance of the type.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Constraint
+
+
+ The modelling rule defines a constraint and the BrowseName is not used in an instance of the type.
+
+
+
+
+
+
+
+
+ ModellingRuleType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.5
+
+ i=111
+ i=58
+
+
+
+ NamingRule
+
+ i=68
+ i=78
+ i=77
+
+
+ 1
+
+
+
+ Mandatory
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.4.2
+
+ i=112
+ i=77
+
+
+
+ NamingRule
+
+ i=68
+ i=78
+
+
+ 1
+
+
+
+ Optional
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.4.3
+
+ i=113
+ i=77
+
+
+
+ NamingRule
+
+ i=68
+ i=80
+
+
+ 2
+
+
+
+ ExposesItsArray
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.4.1
+
+ i=114
+ i=77
+
+
+
+ NamingRule
+
+ i=68
+ i=83
+
+
+ 3
+
+
+
+ OptionalPlaceholder
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.4.4
+
+ i=11509
+ i=77
+
+
+
+ NamingRule
+
+ i=68
+ i=11508
+
+
+ 2
+
+
+
+ MandatoryPlaceholder
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.4.5
+
+ i=11511
+ i=77
+
+
+
+ NamingRule
+
+ i=68
+ i=11510
+
+
+ 1
+
+
+
+ Root
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.2
+
+ i=61
+
+
+
+ Objects
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.4
+
+ i=84
+ i=61
+
+
+
+ Types
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.5
+
+ i=84
+ i=61
+
+
+
+ Views
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.3
+
+ i=84
+ i=61
+
+
+
+ ObjectTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.6
+
+ i=86
+ i=58
+ i=61
+
+
+
+ VariableTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.7
+
+ i=86
+ i=62
+ i=61
+
+
+
+ DataTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.9
+
+ i=86
+ i=24
+ i=61
+
+
+
+ ReferenceTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.8
+
+ i=86
+ i=31
+ i=61
+
+
+
+ XML Schema
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.6
+
+ i=90
+ i=75
+
+
+
+ OPC Binary
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.5
+
+ i=90
+ i=75
+
+
+
+ HasArgumentDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment3/11.18
+
+ i=47
+
+ ArgumentDescriptionOf
+
+
+ HasOptionalInputArgumentDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment3/11.19
+
+ i=129
+
+ OptionalInputArgumentDescriptionOf
+
+
+ http://opcfoundation.org/UA/
+
+ i=15958
+ i=15959
+ i=15960
+ i=15961
+ i=15962
+ i=15963
+ i=15964
+ i=16134
+ i=16135
+ i=16136
+ i=11715
+ i=11616
+
+
+
+ NamespaceUri
+
+ i=68
+ i=15957
+
+
+ http://opcfoundation.org/UA/
+
+
+
+ NamespaceVersion
+
+ i=68
+ i=15957
+
+
+ 1.04.10
+
+
+
+ NamespacePublicationDate
+
+ i=68
+ i=15957
+
+
+ 2021-09-15T00:00:00Z
+
+
+
+ IsNamespaceSubset
+
+ i=68
+ i=15957
+
+
+ false
+
+
+
+ StaticNodeIdTypes
+
+ i=68
+ i=15957
+
+
+
+ 0
+
+
+
+
+ StaticNumericNodeIdRange
+
+ i=68
+ i=15957
+
+
+
+ 1:2252
+ 2270
+ 2273
+ 2280
+ 2283
+ 2291:2293
+ 2297:2734
+ 2738:2991
+ 2995
+ 2998:3703
+ 3710:11191
+ 11194:11195
+ 11202:11241
+ 11243:11272
+ 11276:11280
+ 11284:11311
+ 11315:11491
+ 11495:11501
+ 11503:11701
+ 11706
+ 11708
+ 11716:12164
+ 12169:12748
+ 12752:12872
+ 12875:12884
+ 12888:12910
+ 12912:14414
+ 14416:15003
+ 15005:15605
+ 15607:16300
+ 16306:17633
+ 17635:19090
+ 19092:2147483647
+
+
+
+
+ StaticStringNodeIdPattern
+
+ i=68
+ i=15957
+
+
+
+
+
+
+ DefaultRolePermissions
+
+ i=68
+ i=15957
+
+
+
+ DefaultUserRolePermissions
+
+ i=68
+ i=15957
+
+
+
+ DefaultAccessRestrictions
+
+ i=68
+ i=15957
+
+
+
+ NodeVersion
+
+ i=68
+
+
+
+ ViewVersion
+
+ i=68
+
+
+
+ Icon
+
+ i=68
+
+
+
+ LocalTime
+
+ i=68
+
+
+
+ AllowNulls
+
+ i=68
+
+
+
+ ValueAsText
+
+ i=68
+
+
+
+ MaxStringLength
+
+ i=68
+
+
+
+ MaxCharacters
+
+ i=68
+
+
+
+ MaxByteStringLength
+
+ i=68
+
+
+
+ MaxArrayLength
+
+ i=68
+
+
+
+ EngineeringUnits
+
+ i=68
+
+
+
+ EnumStrings
+
+ i=68
+
+
+
+ EnumValues
+
+ i=68
+
+
+
+ OptionSetValues
+
+ i=68
+
+
+
+ InputArguments
+
+ i=68
+
+
+
+ OutputArguments
+
+ i=68
+
+
+
+ DefaultInstanceBrowseName
+
+ i=68
+
+
+
+ ImageBMP
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.20
+
+ i=30
+
+
+
+ ImageGIF
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.21
+
+ i=30
+
+
+
+ ImageJPG
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.22
+
+ i=30
+
+
+
+ ImagePNG
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.23
+
+ i=30
+
+
+
+ AudioDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.53
+
+ i=15
+
+
+
+ Union
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.42
+
+ i=22
+
+
+
+
+ ServerType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.1
+
+ i=2005
+ i=2006
+ i=15003
+ i=2007
+ i=2008
+ i=2742
+ i=12882
+ i=17612
+ i=2009
+ i=2010
+ i=2011
+ i=2012
+ i=11527
+ i=11489
+ i=12871
+ i=12746
+ i=12883
+ i=58
+
+
+
+ ServerArray
+
+ i=68
+ i=78
+ i=2004
+
+
+
+ NamespaceArray
+
+ i=68
+ i=78
+ i=2004
+
+
+
+ UrisVersion
+
+ i=68
+ i=80
+ i=2004
+
+
+
+ ServerStatus
+
+ i=3074
+ i=3075
+ i=3076
+ i=3077
+ i=3084
+ i=3085
+ i=2138
+ i=78
+ i=2004
+
+
+
+ StartTime
+
+ i=63
+ i=78
+ i=2007
+
+
+
+ CurrentTime
+
+ i=63
+ i=78
+ i=2007
+
+
+
+ State
+
+ i=63
+ i=78
+ i=2007
+
+
+
+ BuildInfo
+
+ i=3078
+ i=3079
+ i=3080
+ i=3081
+ i=3082
+ i=3083
+ i=3051
+ i=78
+ i=2007
+
+
+
+ ProductUri
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ ManufacturerName
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ ProductName
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ SoftwareVersion
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ BuildNumber
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ BuildDate
+
+ i=63
+ i=78
+ i=3077
+
+
+
+ SecondsTillShutdown
+
+ i=63
+ i=78
+ i=2007
+
+
+
+ ShutdownReason
+
+ i=63
+ i=78
+ i=2007
+
+
+
+ ServiceLevel
+
+ i=68
+ i=78
+ i=2004
+
+
+
+ Auditing
+
+ i=68
+ i=78
+ i=2004
+
+
+
+ EstimatedReturnTime
+
+ i=68
+ i=80
+ i=2004
+
+
+
+ LocalTime
+
+ i=68
+ i=80
+ i=2004
+
+
+
+ ServerCapabilities
+
+ i=3086
+ i=3087
+ i=3088
+ i=3089
+ i=3090
+ i=3091
+ i=3092
+ i=3093
+ i=3094
+ i=2013
+ i=78
+ i=2004
+
+
+
+ ServerProfileArray
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ LocaleIdArray
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ MinSupportedSampleRate
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ MaxBrowseContinuationPoints
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ MaxQueryContinuationPoints
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ MaxHistoryContinuationPoints
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ SoftwareCertificates
+
+ i=68
+ i=78
+ i=2009
+
+
+
+ ModellingRules
+
+ i=61
+ i=78
+ i=2009
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=78
+ i=2009
+
+
+
+ ServerDiagnostics
+
+ i=3095
+ i=3110
+ i=3111
+ i=3114
+ i=2020
+ i=78
+ i=2004
+
+
+
+ ServerDiagnosticsSummary
+
+ i=3096
+ i=3097
+ i=3098
+ i=3099
+ i=3100
+ i=3101
+ i=3102
+ i=3104
+ i=3105
+ i=3106
+ i=3107
+ i=3108
+ i=2150
+ i=78
+ i=2010
+
+
+
+ ServerViewCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ CurrentSessionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ CumulatedSessionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ SecurityRejectedSessionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ RejectedSessionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ SessionTimeoutCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ SessionAbortCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ PublishingIntervalCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ CurrentSubscriptionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ CumulatedSubscriptionCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ SecurityRejectedRequestsCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ RejectedRequestsCount
+
+ i=63
+ i=78
+ i=3095
+
+
+
+ SubscriptionDiagnosticsArray
+
+ i=2171
+ i=78
+ i=2010
+
+
+
+ SessionsDiagnosticsSummary
+
+ i=3112
+ i=3113
+ i=2026
+ i=78
+ i=2010
+
+
+
+ SessionDiagnosticsArray
+
+ i=2196
+ i=78
+ i=3111
+
+
+
+ SessionSecurityDiagnosticsArray
+
+ i=2243
+ i=78
+ i=3111
+
+
+
+ EnabledFlag
+
+ i=68
+ i=78
+ i=2010
+
+
+
+ VendorServerInfo
+
+ i=2033
+ i=78
+ i=2004
+
+
+
+ ServerRedundancy
+
+ i=3115
+ i=2034
+ i=78
+ i=2004
+
+
+
+ RedundancySupport
+
+ i=68
+ i=78
+ i=2012
+
+
+
+ Namespaces
+
+ i=11645
+ i=80
+ i=2004
+
+
+
+ GetMonitoredItems
+
+ i=11490
+ i=11491
+ i=80
+ i=2004
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11489
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11489
+
+
+
+
+
+ i=297
+
+
+
+ ServerHandles
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ ClientHandles
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ ResendData
+
+ i=12872
+ i=80
+ i=2004
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12871
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ SetSubscriptionDurable
+
+ i=12747
+ i=12748
+ i=80
+ i=2004
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12746
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ LifetimeInHours
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12746
+
+
+
+
+
+ i=297
+
+
+
+ RevisedLifetimeInHours
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ RequestServerStateChange
+
+ i=12884
+ i=80
+ i=2004
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12883
+
+
+
+
+
+ i=297
+
+
+
+ State
+
+ i=852
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EstimatedReturnTime
+
+ i=13
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecondsTillShutdown
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Reason
+
+ i=21
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Restart
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ ServerCapabilitiesType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.2
+
+ i=2014
+ i=2016
+ i=2017
+ i=2732
+ i=2733
+ i=2734
+ i=3049
+ i=11549
+ i=11550
+ i=12910
+ i=11551
+ i=2019
+ i=2754
+ i=11562
+ i=16295
+ i=58
+
+
+
+ ServerProfileArray
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ LocaleIdArray
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ MinSupportedSampleRate
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ MaxBrowseContinuationPoints
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ MaxQueryContinuationPoints
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ MaxHistoryContinuationPoints
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ SoftwareCertificates
+
+ i=68
+ i=78
+ i=2013
+
+
+
+ MaxArrayLength
+
+ i=68
+ i=80
+ i=2013
+
+
+
+ MaxStringLength
+
+ i=68
+ i=80
+ i=2013
+
+
+
+ MaxByteStringLength
+
+ i=68
+ i=80
+ i=2013
+
+
+
+ OperationLimits
+
+ i=11564
+ i=80
+ i=2013
+
+
+
+ ModellingRules
+
+ i=61
+ i=78
+ i=2013
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=78
+ i=2013
+
+
+
+ <VendorCapability>
+
+ i=2137
+ i=11508
+ i=2013
+
+
+
+ RoleSet
+
+ i=16296
+ i=16299
+ i=15607
+ i=80
+ i=2013
+
+
+
+ AddRole
+
+ i=16297
+ i=16298
+ i=78
+ i=16295
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16296
+
+
+
+
+
+ i=297
+
+
+
+ RoleName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NamespaceUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16296
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveRole
+
+ i=16300
+ i=78
+ i=16295
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16299
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ ServerDiagnosticsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.3
+
+ i=2021
+ i=2022
+ i=2023
+ i=2744
+ i=2025
+ i=58
+
+
+
+ ServerDiagnosticsSummary
+
+ i=3116
+ i=3117
+ i=3118
+ i=3119
+ i=3120
+ i=3121
+ i=3122
+ i=3124
+ i=3125
+ i=3126
+ i=3127
+ i=3128
+ i=2150
+ i=78
+ i=2020
+
+
+
+ ServerViewCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ CurrentSessionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ CumulatedSessionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ SecurityRejectedSessionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ RejectedSessionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ SessionTimeoutCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ SessionAbortCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ PublishingIntervalCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ CurrentSubscriptionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ CumulatedSubscriptionCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ SecurityRejectedRequestsCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ RejectedRequestsCount
+
+ i=63
+ i=78
+ i=2021
+
+
+
+ SamplingIntervalDiagnosticsArray
+
+ i=2164
+ i=80
+ i=2020
+
+
+
+ SubscriptionDiagnosticsArray
+
+ i=2171
+ i=78
+ i=2020
+
+
+
+ SessionsDiagnosticsSummary
+
+ i=3129
+ i=3130
+ i=2026
+ i=78
+ i=2020
+
+
+
+ SessionDiagnosticsArray
+
+ i=2196
+ i=78
+ i=2744
+
+
+
+ SessionSecurityDiagnosticsArray
+
+ i=2243
+ i=78
+ i=2744
+
+
+
+ EnabledFlag
+
+ i=68
+ i=78
+ i=2020
+
+
+
+ SessionsDiagnosticsSummaryType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.4
+
+ i=2027
+ i=2028
+ i=12097
+ i=58
+
+
+
+ SessionDiagnosticsArray
+
+ i=2196
+ i=78
+ i=2026
+
+
+
+ SessionSecurityDiagnosticsArray
+
+ i=2243
+ i=78
+ i=2026
+
+
+
+ <ClientName>
+
+ i=12098
+ i=12142
+ i=12152
+ i=2029
+ i=11508
+ i=2026
+
+
+
+ SessionDiagnostics
+
+ i=12099
+ i=12100
+ i=12101
+ i=12102
+ i=12103
+ i=12104
+ i=12105
+ i=12106
+ i=12107
+ i=12108
+ i=12109
+ i=12110
+ i=12111
+ i=12112
+ i=12113
+ i=12114
+ i=12115
+ i=12116
+ i=12117
+ i=12118
+ i=12119
+ i=12120
+ i=12121
+ i=12122
+ i=12123
+ i=12124
+ i=12125
+ i=12126
+ i=12127
+ i=12128
+ i=12129
+ i=12130
+ i=12131
+ i=12132
+ i=12133
+ i=12134
+ i=12135
+ i=12136
+ i=12137
+ i=12138
+ i=12139
+ i=12140
+ i=12141
+ i=2197
+ i=78
+ i=12097
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ SessionName
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ClientDescription
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ServerUri
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ EndpointUrl
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ LocaleIds
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ActualSessionTimeout
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ MaxResponseMessageSize
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ClientConnectionTime
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ClientLastContactTime
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CurrentSubscriptionsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CurrentMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CurrentPublishRequestsInQueue
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ TotalRequestCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ UnauthorizedRequestCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ReadCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ HistoryReadCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ WriteCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ HistoryUpdateCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CallCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CreateMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ModifyMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ SetMonitoringModeCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ SetTriggeringCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ DeleteMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ CreateSubscriptionCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ ModifySubscriptionCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ SetPublishingModeCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ PublishCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ RepublishCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ TransferSubscriptionsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ DeleteSubscriptionsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ AddNodesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ AddReferencesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ DeleteNodesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ DeleteReferencesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ BrowseCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ BrowseNextCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ TranslateBrowsePathsToNodeIdsCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ QueryFirstCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ QueryNextCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ RegisterNodesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ UnregisterNodesCount
+
+ i=63
+ i=78
+ i=12098
+
+
+
+ SessionSecurityDiagnostics
+
+ i=12143
+ i=12144
+ i=12145
+ i=12146
+ i=12147
+ i=12148
+ i=12149
+ i=12150
+ i=12151
+ i=2244
+ i=78
+ i=12097
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ ClientUserIdOfSession
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ ClientUserIdHistory
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ AuthenticationMechanism
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ Encoding
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ TransportProtocol
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ SecurityMode
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ SecurityPolicyUri
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ ClientCertificate
+
+ i=63
+ i=78
+ i=12142
+
+
+
+ SubscriptionDiagnosticsArray
+
+ i=2171
+ i=78
+ i=12097
+
+
+
+ SessionDiagnosticsObjectType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.5
+
+ i=2030
+ i=2031
+ i=2032
+ i=58
+
+
+
+ SessionDiagnostics
+
+ i=3131
+ i=3132
+ i=3133
+ i=3134
+ i=3135
+ i=3136
+ i=3137
+ i=3138
+ i=3139
+ i=3140
+ i=3141
+ i=3142
+ i=3143
+ i=8898
+ i=11891
+ i=3151
+ i=3152
+ i=3153
+ i=3154
+ i=3155
+ i=3156
+ i=3157
+ i=3158
+ i=3159
+ i=3160
+ i=3161
+ i=3162
+ i=3163
+ i=3164
+ i=3165
+ i=3166
+ i=3167
+ i=3168
+ i=3169
+ i=3170
+ i=3171
+ i=3172
+ i=3173
+ i=3174
+ i=3175
+ i=3176
+ i=3177
+ i=3178
+ i=2197
+ i=78
+ i=2029
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ SessionName
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ClientDescription
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ServerUri
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ EndpointUrl
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ LocaleIds
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ActualSessionTimeout
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ MaxResponseMessageSize
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ClientConnectionTime
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ClientLastContactTime
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CurrentSubscriptionsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CurrentMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CurrentPublishRequestsInQueue
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ TotalRequestCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ UnauthorizedRequestCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ReadCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ HistoryReadCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ WriteCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ HistoryUpdateCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CallCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CreateMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ModifyMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ SetMonitoringModeCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ SetTriggeringCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ DeleteMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ CreateSubscriptionCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ ModifySubscriptionCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ SetPublishingModeCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ PublishCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ RepublishCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ TransferSubscriptionsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ DeleteSubscriptionsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ AddNodesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ AddReferencesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ DeleteNodesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ DeleteReferencesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ BrowseCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ BrowseNextCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ TranslateBrowsePathsToNodeIdsCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ QueryFirstCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ QueryNextCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ RegisterNodesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ UnregisterNodesCount
+
+ i=63
+ i=78
+ i=2030
+
+
+
+ SessionSecurityDiagnostics
+
+ i=3179
+ i=3180
+ i=3181
+ i=3182
+ i=3183
+ i=3184
+ i=3185
+ i=3186
+ i=3187
+ i=2244
+ i=78
+ i=2029
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ ClientUserIdOfSession
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ ClientUserIdHistory
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ AuthenticationMechanism
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ Encoding
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ TransportProtocol
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ SecurityMode
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ SecurityPolicyUri
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ ClientCertificate
+
+ i=63
+ i=78
+ i=2031
+
+
+
+ SubscriptionDiagnosticsArray
+
+ i=2171
+ i=78
+ i=2029
+
+
+
+ VendorServerInfoType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.6
+
+ i=58
+
+
+
+ ServerRedundancyType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.7
+
+ i=2035
+ i=58
+
+
+
+ RedundancySupport
+
+ i=68
+ i=78
+ i=2034
+
+
+
+ TransparentRedundancyType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.8
+
+ i=2037
+ i=2038
+ i=2034
+
+
+
+ CurrentServerId
+
+ i=68
+ i=78
+ i=2036
+
+
+
+ RedundantServerArray
+
+ i=68
+ i=78
+ i=2036
+
+
+
+ NonTransparentRedundancyType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.9
+
+ i=2040
+ i=2034
+
+
+
+ ServerUriArray
+
+ i=68
+ i=78
+ i=2039
+
+
+
+ NonTransparentNetworkRedundancyType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.10
+
+ i=11948
+ i=2039
+
+
+
+ ServerNetworkGroups
+
+ i=68
+ i=78
+ i=11945
+
+
+
+ OperationLimitsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.11
+
+ i=11565
+ i=12161
+ i=12162
+ i=11567
+ i=12163
+ i=12164
+ i=11569
+ i=11570
+ i=11571
+ i=11572
+ i=11573
+ i=11574
+ i=61
+
+
+
+ MaxNodesPerRead
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerHistoryReadData
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerHistoryReadEvents
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerWrite
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerHistoryUpdateData
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerHistoryUpdateEvents
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerMethodCall
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerBrowse
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerRegisterNodes
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerTranslateBrowsePathsToNodeIds
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxNodesPerNodeManagement
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ MaxMonitoredItemsPerCall
+
+ i=68
+ i=80
+ i=11564
+
+
+
+ FileType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.1
+
+ i=11576
+ i=12686
+ i=12687
+ i=11579
+ i=13341
+ i=24244
+ i=11580
+ i=11583
+ i=11585
+ i=11588
+ i=11590
+ i=11593
+ i=58
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=11575
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=11575
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=11575
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=11575
+
+
+
+ MimeType
+
+ i=68
+ i=80
+ i=11575
+
+
+
+ MaxByteStringLength
+
+ i=68
+ i=80
+ i=11575
+
+
+
+ Open
+
+ i=11581
+ i=11582
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11580
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11580
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=11584
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11583
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=11586
+ i=11587
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11585
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11585
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=11589
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11588
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=11591
+ i=11592
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11590
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11590
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=11594
+ i=78
+ i=11575
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11593
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ AddressSpaceFileType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.12
+
+ i=11615
+ i=11575
+
+
+
+ ExportNamespace
+
+ i=80
+ i=11595
+
+
+
+ NamespaceMetadataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.13
+
+ i=11617
+ i=11618
+ i=11619
+ i=11620
+ i=11621
+ i=11622
+ i=11623
+ i=11624
+ i=16137
+ i=16138
+ i=16139
+ i=58
+
+
+
+ NamespaceUri
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ NamespaceVersion
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ NamespacePublicationDate
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ IsNamespaceSubset
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ StaticNodeIdTypes
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ StaticNumericNodeIdRange
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ StaticStringNodeIdPattern
+
+ i=68
+ i=78
+ i=11616
+
+
+
+ NamespaceFile
+
+ i=11625
+ i=12690
+ i=12691
+ i=11628
+ i=11629
+ i=11632
+ i=11634
+ i=11637
+ i=11639
+ i=11642
+ i=11595
+ i=80
+ i=11616
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=11624
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=11624
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=11624
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=11624
+
+
+
+ Open
+
+ i=11630
+ i=11631
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11629
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11629
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=11633
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11632
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=11635
+ i=11636
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11634
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11634
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=11638
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11637
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=11640
+ i=11641
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11639
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=11639
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=11643
+ i=78
+ i=11624
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=11642
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ DefaultRolePermissions
+
+ i=68
+ i=80
+ i=11616
+
+
+
+ DefaultUserRolePermissions
+
+ i=68
+ i=80
+ i=11616
+
+
+
+ DefaultAccessRestrictions
+
+ i=68
+ i=80
+ i=11616
+
+
+
+ NamespacesType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.3.14
+
+ i=11646
+ i=58
+
+
+
+ <NamespaceIdentifier>
+
+ i=11647
+ i=11648
+ i=11649
+ i=11650
+ i=11651
+ i=11652
+ i=11653
+ i=11616
+ i=11508
+ i=11645
+
+
+
+ NamespaceUri
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ NamespaceVersion
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ NamespacePublicationDate
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ IsNamespaceSubset
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ StaticNodeIdTypes
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ StaticNumericNodeIdRange
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ StaticStringNodeIdPattern
+
+ i=68
+ i=78
+ i=11646
+
+
+
+ BaseEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.2
+
+ i=2042
+ i=2043
+ i=2044
+ i=2045
+ i=2046
+ i=2047
+ i=3190
+ i=2050
+ i=2051
+ i=58
+
+
+
+ EventId
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ EventType
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ SourceNode
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ SourceName
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ Time
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ ReceiveTime
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ LocalTime
+
+ i=68
+ i=80
+ i=2041
+
+
+
+ Message
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ Severity
+
+ i=68
+ i=78
+ i=2041
+
+
+
+ AuditEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.3
+
+ i=2053
+ i=2054
+ i=2055
+ i=2056
+ i=2057
+ i=2041
+
+
+
+ ActionTimeStamp
+
+ i=68
+ i=78
+ i=2052
+
+
+
+ Status
+
+ i=68
+ i=78
+ i=2052
+
+
+
+ ServerId
+
+ i=68
+ i=78
+ i=2052
+
+
+
+ ClientAuditEntryId
+
+ i=68
+ i=78
+ i=2052
+
+
+
+ ClientUserId
+
+ i=68
+ i=78
+ i=2052
+
+
+
+ AuditSecurityEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.4
+
+ i=17615
+ i=2052
+
+
+
+ StatusCodeId
+
+ i=68
+ i=80
+ i=2058
+
+
+
+ AuditChannelEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.5
+
+ i=2745
+ i=2058
+
+
+
+ SecureChannelId
+
+ i=68
+ i=78
+ i=2059
+
+
+
+ AuditOpenSecureChannelEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.6
+
+ i=2061
+ i=2746
+ i=2062
+ i=2063
+ i=2065
+ i=2066
+ i=2059
+
+
+
+ ClientCertificate
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ ClientCertificateThumbprint
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ RequestType
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ SecurityPolicyUri
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ SecurityMode
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ RequestedLifetime
+
+ i=68
+ i=78
+ i=2060
+
+
+
+ AuditSessionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.7
+
+ i=2070
+ i=2058
+
+
+
+ SessionId
+
+ i=68
+ i=78
+ i=2069
+
+
+
+ AuditCreateSessionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.8
+
+ i=2072
+ i=2073
+ i=2747
+ i=2074
+ i=2069
+
+
+
+ SecureChannelId
+
+ i=68
+ i=78
+ i=2071
+
+
+
+ ClientCertificate
+
+ i=68
+ i=78
+ i=2071
+
+
+
+ ClientCertificateThumbprint
+
+ i=68
+ i=78
+ i=2071
+
+
+
+ RevisedSessionTimeout
+
+ i=68
+ i=78
+ i=2071
+
+
+
+ AuditUrlMismatchEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.9
+
+ i=2749
+ i=2071
+
+
+
+ EndpointUrl
+
+ i=68
+ i=78
+ i=2748
+
+
+
+ AuditActivateSessionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.10
+
+ i=2076
+ i=2077
+ i=11485
+ i=2069
+
+
+
+ ClientSoftwareCertificates
+
+ i=68
+ i=78
+ i=2075
+
+
+
+ UserIdentityToken
+
+ i=68
+ i=78
+ i=2075
+
+
+
+ SecureChannelId
+
+ i=68
+ i=78
+ i=2075
+
+
+
+ AuditCancelEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.11
+
+ i=2079
+ i=2069
+
+
+
+ RequestHandle
+
+ i=68
+ i=78
+ i=2078
+
+
+
+ AuditCertificateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.12
+
+ i=2081
+ i=2058
+
+
+
+ Certificate
+
+ i=68
+ i=78
+ i=2080
+
+
+
+ AuditCertificateDataMismatchEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.13
+
+ i=2083
+ i=2084
+ i=2080
+
+
+
+ InvalidHostname
+
+ i=68
+ i=78
+ i=2082
+
+
+
+ InvalidUri
+
+ i=68
+ i=78
+ i=2082
+
+
+
+ AuditCertificateExpiredEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.14
+
+ i=2080
+
+
+
+ AuditCertificateInvalidEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.15
+
+ i=2080
+
+
+
+ AuditCertificateUntrustedEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.16
+
+ i=2080
+
+
+
+ AuditCertificateRevokedEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.17
+
+ i=2080
+
+
+
+ AuditCertificateMismatchEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.18
+
+ i=2080
+
+
+
+ AuditNodeManagementEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.19
+
+ i=2052
+
+
+
+ AuditAddNodesEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.20
+
+ i=2092
+ i=2090
+
+
+
+ NodesToAdd
+
+ i=68
+ i=78
+ i=2091
+
+
+
+ AuditDeleteNodesEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.21
+
+ i=2094
+ i=2090
+
+
+
+ NodesToDelete
+
+ i=68
+ i=78
+ i=2093
+
+
+
+ AuditAddReferencesEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.22
+
+ i=2096
+ i=2090
+
+
+
+ ReferencesToAdd
+
+ i=68
+ i=78
+ i=2095
+
+
+
+ AuditDeleteReferencesEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.23
+
+ i=2098
+ i=2090
+
+
+
+ ReferencesToDelete
+
+ i=68
+ i=78
+ i=2097
+
+
+
+ AuditUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.24
+
+ i=2052
+
+
+
+ AuditWriteUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.25
+
+ i=2750
+ i=2101
+ i=2102
+ i=2103
+ i=2099
+
+
+
+ AttributeId
+
+ i=68
+ i=78
+ i=2100
+
+
+
+ IndexRange
+
+ i=68
+ i=78
+ i=2100
+
+
+
+ OldValue
+
+ i=68
+ i=78
+ i=2100
+
+
+
+ NewValue
+
+ i=68
+ i=78
+ i=2100
+
+
+
+ AuditHistoryUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.26
+
+ i=2751
+ i=2099
+
+
+
+ ParameterDataTypeId
+
+ i=68
+ i=78
+ i=2104
+
+
+
+ AuditUpdateMethodEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.27
+
+ i=2128
+ i=2129
+ i=2052
+
+
+
+ MethodId
+
+ i=68
+ i=78
+ i=2127
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=2127
+
+
+
+ SystemEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.28
+
+ i=2041
+
+
+
+ DeviceFailureEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.29
+
+ i=2130
+
+
+
+ SystemStatusChangeEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.30
+
+ i=11696
+ i=2130
+
+
+
+ SystemState
+
+ i=68
+ i=78
+ i=11446
+
+
+
+ BaseModelChangeEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.31
+
+ i=2041
+
+
+
+ GeneralModelChangeEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.32
+
+ i=2134
+ i=2132
+
+
+
+ Changes
+
+ i=68
+ i=78
+ i=2133
+
+
+
+ SemanticChangeEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.33
+
+ i=2739
+ i=2041
+
+
+
+ Changes
+
+ i=68
+ i=78
+ i=2738
+
+
+
+ EventQueueOverflowEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.34
+
+ i=2041
+
+
+
+ ProgressEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.4.35
+
+ i=12502
+ i=12503
+ i=2041
+
+
+
+ Context
+
+ i=68
+ i=78
+ i=11436
+
+
+
+ Progress
+
+ i=68
+ i=78
+ i=11436
+
+
+
+ AggregateFunctionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/6.8
+
+ i=58
+
+
+
+ ServerVendorCapabilityType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.5
+
+ i=63
+
+
+
+ ServerStatusType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.6
+
+ i=2139
+ i=2140
+ i=2141
+ i=2142
+ i=2752
+ i=2753
+ i=63
+
+
+
+ StartTime
+
+ i=63
+ i=78
+ i=2138
+
+
+
+ CurrentTime
+
+ i=63
+ i=78
+ i=2138
+
+
+
+ State
+
+ i=63
+ i=78
+ i=2138
+
+
+
+ BuildInfo
+
+ i=3698
+ i=3699
+ i=3700
+ i=3701
+ i=3702
+ i=3703
+ i=3051
+ i=78
+ i=2138
+
+
+
+ ProductUri
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ ManufacturerName
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ ProductName
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ SoftwareVersion
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ BuildNumber
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ BuildDate
+
+ i=63
+ i=78
+ i=2142
+
+
+
+ SecondsTillShutdown
+
+ i=63
+ i=78
+ i=2138
+
+
+
+ ShutdownReason
+
+ i=63
+ i=78
+ i=2138
+
+
+
+ BuildInfoType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.7
+
+ i=3052
+ i=3053
+ i=3054
+ i=3055
+ i=3056
+ i=3057
+ i=63
+
+
+
+ ProductUri
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ ManufacturerName
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ ProductName
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ SoftwareVersion
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ BuildNumber
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ BuildDate
+
+ i=63
+ i=78
+ i=3051
+
+
+
+ ServerDiagnosticsSummaryType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.8
+
+ i=2151
+ i=2152
+ i=2153
+ i=2154
+ i=2155
+ i=2156
+ i=2157
+ i=2159
+ i=2160
+ i=2161
+ i=2162
+ i=2163
+ i=63
+
+
+
+ ServerViewCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ CurrentSessionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ CumulatedSessionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ SecurityRejectedSessionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ RejectedSessionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ SessionTimeoutCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ SessionAbortCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ PublishingIntervalCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ CurrentSubscriptionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ CumulatedSubscriptionCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ SecurityRejectedRequestsCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ RejectedRequestsCount
+
+ i=63
+ i=78
+ i=2150
+
+
+
+ SamplingIntervalDiagnosticsArrayType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.9
+
+ i=12779
+ i=63
+
+
+
+ SamplingIntervalDiagnostics
+
+ i=12780
+ i=12781
+ i=12782
+ i=12783
+ i=2165
+ i=83
+ i=2164
+
+
+
+ SamplingInterval
+
+ i=63
+ i=78
+ i=12779
+
+
+
+ SampledMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12779
+
+
+
+ MaxSampledMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12779
+
+
+
+ DisabledMonitoredItemsSamplingCount
+
+ i=63
+ i=78
+ i=12779
+
+
+
+ SamplingIntervalDiagnosticsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.10
+
+ i=2166
+ i=11697
+ i=11698
+ i=11699
+ i=63
+
+
+
+ SamplingInterval
+
+ i=63
+ i=78
+ i=2165
+
+
+
+ SampledMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2165
+
+
+
+ MaxSampledMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2165
+
+
+
+ DisabledMonitoredItemsSamplingCount
+
+ i=63
+ i=78
+ i=2165
+
+
+
+ SubscriptionDiagnosticsArrayType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.11
+
+ i=12784
+ i=63
+
+
+
+ SubscriptionDiagnostics
+
+ i=12785
+ i=12786
+ i=12787
+ i=12788
+ i=12789
+ i=12790
+ i=12791
+ i=12792
+ i=12793
+ i=12794
+ i=12795
+ i=12796
+ i=12797
+ i=12798
+ i=12799
+ i=12800
+ i=12801
+ i=12802
+ i=12803
+ i=12804
+ i=12805
+ i=12806
+ i=12807
+ i=12808
+ i=12809
+ i=12810
+ i=12811
+ i=12812
+ i=12813
+ i=12814
+ i=12815
+ i=2172
+ i=83
+ i=2171
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ SubscriptionId
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ Priority
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ PublishingInterval
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ MaxKeepAliveCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ MaxLifetimeCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ MaxNotificationsPerPublish
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ PublishingEnabled
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ ModifyCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ EnableCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ DisableCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ RepublishRequestCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ RepublishMessageRequestCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ RepublishMessageCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ TransferRequestCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ TransferredToAltClientCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ TransferredToSameClientCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ PublishRequestCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ DataChangeNotificationsCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ EventNotificationsCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ NotificationsCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ LatePublishRequestCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ CurrentKeepAliveCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ CurrentLifetimeCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ UnacknowledgedMessageCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ DiscardedMessageCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ MonitoredItemCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ DisabledMonitoredItemCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ MonitoringQueueOverflowCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ NextSequenceNumber
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ EventQueueOverflowCount
+
+ i=63
+ i=78
+ i=12784
+
+
+
+ SubscriptionDiagnosticsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.12
+
+ i=2173
+ i=2174
+ i=2175
+ i=2176
+ i=2177
+ i=8888
+ i=2179
+ i=2180
+ i=2181
+ i=2182
+ i=2183
+ i=2184
+ i=2185
+ i=2186
+ i=2187
+ i=2188
+ i=2189
+ i=2190
+ i=2191
+ i=2998
+ i=2193
+ i=8889
+ i=8890
+ i=8891
+ i=8892
+ i=8893
+ i=8894
+ i=8895
+ i=8896
+ i=8897
+ i=8902
+ i=63
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ SubscriptionId
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ Priority
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ PublishingInterval
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ MaxKeepAliveCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ MaxLifetimeCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ MaxNotificationsPerPublish
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ PublishingEnabled
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ ModifyCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ EnableCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ DisableCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ RepublishRequestCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ RepublishMessageRequestCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ RepublishMessageCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ TransferRequestCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ TransferredToAltClientCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ TransferredToSameClientCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ PublishRequestCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ DataChangeNotificationsCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ EventNotificationsCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ NotificationsCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ LatePublishRequestCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ CurrentKeepAliveCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ CurrentLifetimeCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ UnacknowledgedMessageCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ DiscardedMessageCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ MonitoredItemCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ DisabledMonitoredItemCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ MonitoringQueueOverflowCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ NextSequenceNumber
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ EventQueueOverflowCount
+
+ i=63
+ i=78
+ i=2172
+
+
+
+ SessionDiagnosticsArrayType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.13
+
+ i=12816
+ i=63
+
+
+
+ SessionDiagnostics
+
+ i=12817
+ i=12818
+ i=12819
+ i=12820
+ i=12821
+ i=12822
+ i=12823
+ i=12824
+ i=12825
+ i=12826
+ i=12827
+ i=12828
+ i=12829
+ i=12830
+ i=12831
+ i=12832
+ i=12833
+ i=12834
+ i=12835
+ i=12836
+ i=12837
+ i=12838
+ i=12839
+ i=12840
+ i=12841
+ i=12842
+ i=12843
+ i=12844
+ i=12845
+ i=12846
+ i=12847
+ i=12848
+ i=12849
+ i=12850
+ i=12851
+ i=12852
+ i=12853
+ i=12854
+ i=12855
+ i=12856
+ i=12857
+ i=12858
+ i=12859
+ i=2197
+ i=83
+ i=2196
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ SessionName
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ClientDescription
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ServerUri
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ EndpointUrl
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ LocaleIds
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ActualSessionTimeout
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ MaxResponseMessageSize
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ClientConnectionTime
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ClientLastContactTime
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CurrentSubscriptionsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CurrentMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CurrentPublishRequestsInQueue
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ TotalRequestCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ UnauthorizedRequestCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ReadCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ HistoryReadCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ WriteCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ HistoryUpdateCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CallCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CreateMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ModifyMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ SetMonitoringModeCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ SetTriggeringCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ DeleteMonitoredItemsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ CreateSubscriptionCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ ModifySubscriptionCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ SetPublishingModeCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ PublishCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ RepublishCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ TransferSubscriptionsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ DeleteSubscriptionsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ AddNodesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ AddReferencesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ DeleteNodesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ DeleteReferencesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ BrowseCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ BrowseNextCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ TranslateBrowsePathsToNodeIdsCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ QueryFirstCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ QueryNextCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ RegisterNodesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ UnregisterNodesCount
+
+ i=63
+ i=78
+ i=12816
+
+
+
+ SessionDiagnosticsVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.14
+
+ i=2198
+ i=2199
+ i=2200
+ i=2201
+ i=2202
+ i=2203
+ i=2204
+ i=3050
+ i=2205
+ i=2206
+ i=2207
+ i=2208
+ i=2209
+ i=8900
+ i=11892
+ i=2217
+ i=2218
+ i=2219
+ i=2220
+ i=2221
+ i=2222
+ i=2223
+ i=2224
+ i=2225
+ i=2226
+ i=2227
+ i=2228
+ i=2229
+ i=2230
+ i=2231
+ i=2232
+ i=2233
+ i=2234
+ i=2235
+ i=2236
+ i=2237
+ i=2238
+ i=2239
+ i=2240
+ i=2241
+ i=2242
+ i=2730
+ i=2731
+ i=63
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ SessionName
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ClientDescription
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ServerUri
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ EndpointUrl
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ LocaleIds
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ActualSessionTimeout
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ MaxResponseMessageSize
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ClientConnectionTime
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ClientLastContactTime
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CurrentSubscriptionsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CurrentMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CurrentPublishRequestsInQueue
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ TotalRequestCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ UnauthorizedRequestCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ReadCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ HistoryReadCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ WriteCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ HistoryUpdateCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CallCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CreateMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ModifyMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ SetMonitoringModeCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ SetTriggeringCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ DeleteMonitoredItemsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ CreateSubscriptionCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ ModifySubscriptionCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ SetPublishingModeCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ PublishCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ RepublishCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ TransferSubscriptionsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ DeleteSubscriptionsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ AddNodesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ AddReferencesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ DeleteNodesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ DeleteReferencesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ BrowseCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ BrowseNextCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ TranslateBrowsePathsToNodeIdsCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ QueryFirstCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ QueryNextCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ RegisterNodesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ UnregisterNodesCount
+
+ i=63
+ i=78
+ i=2197
+
+
+
+ SessionSecurityDiagnosticsArrayType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.15
+
+ i=12860
+ i=63
+
+
+
+ SessionSecurityDiagnostics
+
+ i=12861
+ i=12862
+ i=12863
+ i=12864
+ i=12865
+ i=12866
+ i=12867
+ i=12868
+ i=12869
+ i=2244
+ i=83
+ i=2243
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ ClientUserIdOfSession
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ ClientUserIdHistory
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ AuthenticationMechanism
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ Encoding
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ TransportProtocol
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ SecurityMode
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ SecurityPolicyUri
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ ClientCertificate
+
+ i=63
+ i=78
+ i=12860
+
+
+
+ SessionSecurityDiagnosticsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.16
+
+ i=2245
+ i=2246
+ i=2247
+ i=2248
+ i=2249
+ i=2250
+ i=2251
+ i=2252
+ i=3058
+ i=63
+
+
+
+ SessionId
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ ClientUserIdOfSession
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ ClientUserIdHistory
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ AuthenticationMechanism
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ Encoding
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ TransportProtocol
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ SecurityMode
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ SecurityPolicyUri
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ ClientCertificate
+
+ i=63
+ i=78
+ i=2244
+
+
+
+ OptionSetType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.17
+
+ i=11488
+ i=11701
+ i=63
+
+
+
+ OptionSetValues
+
+ i=68
+ i=78
+ i=11487
+
+
+
+ BitMask
+
+ i=68
+ i=80
+ i=11487
+
+
+
+ SelectionListType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.18
+
+ i=17632
+ i=17633
+ i=16312
+ i=63
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=16309
+
+
+
+ SelectionDescriptions
+
+ i=68
+ i=80
+ i=16309
+
+
+
+ RestrictToList
+
+ i=68
+ i=80
+ i=16309
+
+
+
+ AudioVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/7.19
+
+ i=17988
+ i=17989
+ i=17990
+ i=63
+
+
+
+ ListId
+
+ i=68
+ i=80
+ i=17986
+
+
+
+ AgencyId
+
+ i=68
+ i=80
+ i=17986
+
+
+
+ VersionId
+
+ i=68
+ i=80
+ i=17986
+
+
+
+ EventTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.2.10
+
+ i=86
+ i=2041
+ i=61
+
+
+
+ Server
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/8.3.2
+
+ i=2254
+ i=2255
+ i=2256
+ i=2267
+ i=2994
+ i=12885
+ i=17634
+ i=2268
+ i=2274
+ i=2295
+ i=2296
+ i=11715
+ i=11492
+ i=12873
+ i=12749
+ i=12886
+ i=85
+ i=2004
+
+
+
+ ServerArray
+
+ i=68
+ i=2253
+
+
+
+ NamespaceArray
+
+ i=68
+ i=2253
+
+
+
+ ServerStatus
+
+ i=2257
+ i=2258
+ i=2259
+ i=2260
+ i=2992
+ i=2993
+ i=2138
+ i=2253
+
+
+
+ StartTime
+
+ i=63
+ i=2256
+
+
+
+ CurrentTime
+
+ i=63
+ i=2256
+
+
+
+ State
+
+ i=63
+ i=2256
+
+
+
+ BuildInfo
+
+ i=2262
+ i=2263
+ i=2261
+ i=2264
+ i=2265
+ i=2266
+ i=3051
+ i=2256
+
+
+
+ ProductUri
+
+ i=63
+ i=2260
+
+
+
+ ManufacturerName
+
+ i=63
+ i=2260
+
+
+
+ ProductName
+
+ i=63
+ i=2260
+
+
+
+ SoftwareVersion
+
+ i=63
+ i=2260
+
+
+
+ BuildNumber
+
+ i=63
+ i=2260
+
+
+
+ BuildDate
+
+ i=63
+ i=2260
+
+
+
+ SecondsTillShutdown
+
+ i=63
+ i=2256
+
+
+
+ ShutdownReason
+
+ i=63
+ i=2256
+
+
+
+ ServiceLevel
+
+ i=68
+ i=2253
+
+
+
+ Auditing
+
+ i=68
+ i=2253
+
+
+
+ EstimatedReturnTime
+
+ i=68
+ i=2253
+
+
+
+ LocalTime
+
+ i=68
+ i=2253
+
+
+
+ ServerCapabilities
+
+ i=2269
+ i=2271
+ i=2272
+ i=2735
+ i=2736
+ i=2737
+ i=3704
+ i=11702
+ i=11703
+ i=12911
+ i=11704
+ i=2996
+ i=2997
+ i=15606
+ i=2013
+ i=2253
+
+
+
+ ServerProfileArray
+
+ i=68
+ i=2268
+
+
+
+ LocaleIdArray
+
+ i=68
+ i=2268
+
+
+
+ MinSupportedSampleRate
+
+ i=68
+ i=2268
+
+
+
+ MaxBrowseContinuationPoints
+
+ i=68
+ i=2268
+
+
+
+ MaxQueryContinuationPoints
+
+ i=68
+ i=2268
+
+
+
+ MaxHistoryContinuationPoints
+
+ i=68
+ i=2268
+
+
+
+ SoftwareCertificates
+
+ i=68
+ i=2268
+
+
+
+ MaxArrayLength
+
+ i=68
+ i=2268
+
+
+
+ MaxStringLength
+
+ i=68
+ i=2268
+
+
+
+ MaxByteStringLength
+
+ i=68
+ i=2268
+
+
+
+ OperationLimits
+
+ i=11705
+ i=12165
+ i=12166
+ i=11707
+ i=12167
+ i=12168
+ i=11709
+ i=11710
+ i=11711
+ i=11712
+ i=11713
+ i=11714
+ i=11564
+ i=2268
+
+
+
+ MaxNodesPerRead
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerHistoryReadData
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerHistoryReadEvents
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerWrite
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerHistoryUpdateData
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerHistoryUpdateEvents
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerMethodCall
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerBrowse
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerRegisterNodes
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerTranslateBrowsePathsToNodeIds
+
+ i=68
+ i=11704
+
+
+
+ MaxNodesPerNodeManagement
+
+ i=68
+ i=11704
+
+
+
+ MaxMonitoredItemsPerCall
+
+ i=68
+ i=11704
+
+
+
+ ModellingRules
+
+ i=61
+ i=2268
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=2268
+
+
+
+ RoleSet
+
+ i=16301
+ i=16304
+ i=15607
+ i=2268
+
+
+
+ AddRole
+
+ i=16302
+ i=16303
+ i=15606
+
+
+
+ InputArguments
+
+ i=68
+ i=16301
+
+
+
+
+
+ i=297
+
+
+
+ RoleName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NamespaceUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=16301
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveRole
+
+ i=16305
+ i=15606
+
+
+
+ InputArguments
+
+ i=68
+ i=16304
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ ServerDiagnostics
+
+ i=2275
+ i=2289
+ i=2290
+ i=3706
+ i=2294
+ i=2020
+ i=2253
+
+
+
+ ServerDiagnosticsSummary
+
+ i=2276
+ i=2277
+ i=2278
+ i=2279
+ i=3705
+ i=2281
+ i=2282
+ i=2284
+ i=2285
+ i=2286
+ i=2287
+ i=2288
+ i=2150
+ i=2274
+
+
+
+ ServerViewCount
+
+ i=63
+ i=2275
+
+
+
+ CurrentSessionCount
+
+ i=63
+ i=2275
+
+
+
+ CumulatedSessionCount
+
+ i=63
+ i=2275
+
+
+
+ SecurityRejectedSessionCount
+
+ i=63
+ i=2275
+
+
+
+ RejectedSessionCount
+
+ i=63
+ i=2275
+
+
+
+ SessionTimeoutCount
+
+ i=63
+ i=2275
+
+
+
+ SessionAbortCount
+
+ i=63
+ i=2275
+
+
+
+ PublishingIntervalCount
+
+ i=63
+ i=2275
+
+
+
+ CurrentSubscriptionCount
+
+ i=63
+ i=2275
+
+
+
+ CumulatedSubscriptionCount
+
+ i=63
+ i=2275
+
+
+
+ SecurityRejectedRequestsCount
+
+ i=63
+ i=2275
+
+
+
+ RejectedRequestsCount
+
+ i=63
+ i=2275
+
+
+
+ SamplingIntervalDiagnosticsArray
+
+ i=2164
+ i=2274
+
+
+
+ SubscriptionDiagnosticsArray
+
+ i=2171
+ i=2274
+
+
+
+ SessionsDiagnosticsSummary
+
+ i=3707
+ i=3708
+ i=2026
+ i=2274
+
+
+
+ SessionDiagnosticsArray
+
+ i=2196
+ i=3706
+
+
+
+ SessionSecurityDiagnosticsArray
+
+ i=2243
+ i=3706
+
+
+
+ EnabledFlag
+
+ i=68
+ i=2274
+
+
+
+ VendorServerInfo
+
+ i=2033
+ i=2253
+
+
+
+ ServerRedundancy
+
+ i=3709
+ i=2034
+ i=2253
+
+
+
+ RedundancySupport
+
+ i=68
+ i=2296
+
+
+
+ Namespaces
+
+ i=11645
+ i=2253
+
+
+
+ GetMonitoredItems
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/9.1
+
+ i=11493
+ i=11494
+ i=2253
+
+
+
+ InputArguments
+
+ i=68
+ i=11492
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=11492
+
+
+
+
+
+ i=297
+
+
+
+ ServerHandles
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ ClientHandles
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ ResendData
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/9.2
+
+ i=12874
+ i=2253
+
+
+
+ InputArguments
+
+ i=68
+ i=12873
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ SetSubscriptionDurable
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/9.3
+
+ i=12750
+ i=12751
+ i=2253
+
+
+
+ InputArguments
+
+ i=68
+ i=12749
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ LifetimeInHours
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12749
+
+
+
+
+
+ i=297
+
+
+
+ RevisedLifetimeInHours
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ RequestServerStateChange
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/9.4
+
+ i=12887
+ i=2253
+
+
+
+ InputArguments
+
+ i=68
+ i=12886
+
+
+
+
+
+ i=297
+
+
+
+ State
+
+ i=852
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EstimatedReturnTime
+
+ i=13
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecondsTillShutdown
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Reason
+
+ i=21
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Restart
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ CurrentServerId
+
+ i=68
+
+
+
+ RedundantServerArray
+
+ i=68
+
+
+
+ ServerUriArray
+
+ i=68
+
+
+
+ ServerNetworkGroups
+
+ i=68
+
+
+
+ HistoryServerCapabilities
+
+ i=11193
+ i=11242
+ i=11273
+ i=11274
+ i=11196
+ i=11197
+ i=11198
+ i=11199
+ i=11200
+ i=11281
+ i=11282
+ i=11283
+ i=11502
+ i=11275
+ i=11201
+ i=19091
+ i=2268
+ i=2330
+
+
+
+ AccessHistoryDataCapability
+
+ i=68
+ i=11192
+
+
+
+ AccessHistoryEventsCapability
+
+ i=68
+ i=11192
+
+
+
+ MaxReturnDataValues
+
+ i=68
+ i=11192
+
+
+
+ MaxReturnEventValues
+
+ i=68
+ i=11192
+
+
+
+ InsertDataCapability
+
+ i=68
+ i=11192
+
+
+
+ ReplaceDataCapability
+
+ i=68
+ i=11192
+
+
+
+ UpdateDataCapability
+
+ i=68
+ i=11192
+
+
+
+ DeleteRawCapability
+
+ i=68
+ i=11192
+
+
+
+ DeleteAtTimeCapability
+
+ i=68
+ i=11192
+
+
+
+ InsertEventCapability
+
+ i=68
+ i=11192
+
+
+
+ ReplaceEventCapability
+
+ i=68
+ i=11192
+
+
+
+ UpdateEventCapability
+
+ i=68
+ i=11192
+
+
+
+ DeleteEventCapability
+
+ i=68
+ i=11192
+
+
+
+ InsertAnnotationCapability
+
+ i=68
+ i=11192
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=11192
+
+
+
+ ServerTimestampSupported
+
+ i=68
+ i=11192
+
+
+
+ BitFieldMaskDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.18
+
+ i=9
+
+
+
+ KeyValuePair
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.21
+
+ i=22
+
+
+
+
+
+
+
+ AdditionalParametersType
+
+ i=22
+
+
+
+
+
+
+ EphemeralKeyType
+
+ i=22
+
+
+
+
+
+
+
+ EndpointType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.22
+
+ i=22
+
+
+
+
+
+
+
+
+
+ StateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.2
+
+ i=2769
+ i=2770
+ i=58
+
+
+
+ CurrentState
+
+ i=3720
+ i=2755
+ i=78
+ i=2299
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2769
+
+
+
+ LastTransition
+
+ i=3724
+ i=2762
+ i=80
+ i=2299
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2770
+
+
+
+ StateVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.3
+
+ i=2756
+ i=2757
+ i=2758
+ i=2759
+ i=63
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2755
+
+
+
+ Name
+
+ i=68
+ i=80
+ i=2755
+
+
+
+ Number
+
+ i=68
+ i=80
+ i=2755
+
+
+
+ EffectiveDisplayName
+
+ i=68
+ i=80
+ i=2755
+
+
+
+ TransitionVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.4
+
+ i=2763
+ i=2764
+ i=2765
+ i=2766
+ i=11456
+ i=63
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2762
+
+
+
+ Name
+
+ i=68
+ i=80
+ i=2762
+
+
+
+ Number
+
+ i=68
+ i=80
+ i=2762
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=2762
+
+
+
+ EffectiveTransitionTime
+
+ i=68
+ i=80
+ i=2762
+
+
+
+ FiniteStateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.5
+
+ i=2772
+ i=2773
+ i=17635
+ i=17636
+ i=2299
+
+
+
+ CurrentState
+
+ i=3728
+ i=2760
+ i=78
+ i=2771
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2772
+
+
+
+ LastTransition
+
+ i=3732
+ i=2767
+ i=80
+ i=2771
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2773
+
+
+
+ AvailableStates
+
+ i=63
+ i=80
+ i=2771
+
+
+
+ AvailableTransitions
+
+ i=63
+ i=80
+ i=2771
+
+
+
+ FiniteStateVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.6
+
+ i=2761
+ i=2755
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2760
+
+
+
+ FiniteTransitionVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.7
+
+ i=2768
+ i=2762
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2767
+
+
+
+ StateType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.8
+
+ i=2308
+ i=58
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2307
+
+
+
+ InitialStateType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.9
+
+ i=2307
+
+
+
+ TransitionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.10
+
+ i=2312
+ i=58
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2310
+
+
+
+ ChoiceStateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment2/B.6.2
+
+ i=2307
+
+
+
+ HasGuard
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment2/B.6.3
+
+ i=47
+
+ GuardOf
+
+
+ GuardVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment2/B.6.4
+
+ i=63
+
+
+
+ ExpressionGuardVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment2/B.6.5
+
+ i=15129
+ i=15113
+
+
+
+ Expression
+
+ i=68
+ i=78
+ i=15128
+
+
+
+ ElseGuardVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment2/B.6.6
+
+ i=15113
+
+
+
+ RationalNumberType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.20
+
+ i=17712
+ i=17713
+ i=63
+
+
+
+ Numerator
+
+ i=63
+ i=78
+ i=17709
+
+
+
+ Denominator
+
+ i=63
+ i=78
+ i=17709
+
+
+
+ VectorType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.21
+
+ i=17715
+ i=63
+
+
+
+ VectorUnit
+
+ i=68
+ i=80
+ i=17714
+
+
+
+ 3DVectorType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.22
+
+ i=18769
+ i=18770
+ i=18771
+ i=17714
+
+
+
+ X
+
+ i=63
+ i=78
+ i=17716
+
+
+
+ Y
+
+ i=63
+ i=78
+ i=17716
+
+
+
+ Z
+
+ i=63
+ i=78
+ i=17716
+
+
+
+ CartesianCoordinatesType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.23
+
+ i=18773
+ i=63
+
+
+
+ LengthUnit
+
+ i=68
+ i=80
+ i=18772
+
+
+
+ 3DCartesianCoordinatesType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.24
+
+ i=18776
+ i=18777
+ i=18778
+ i=18772
+
+
+
+ X
+
+ i=63
+ i=78
+ i=18774
+
+
+
+ Y
+
+ i=63
+ i=78
+ i=18774
+
+
+
+ Z
+
+ i=63
+ i=78
+ i=18774
+
+
+
+ OrientationType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.25
+
+ i=18780
+ i=63
+
+
+
+ AngleUnit
+
+ i=68
+ i=80
+ i=18779
+
+
+
+ 3DOrientationType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.26
+
+ i=18783
+ i=18784
+ i=18785
+ i=18779
+
+
+
+ A
+
+ i=63
+ i=78
+ i=18781
+
+
+
+ B
+
+ i=63
+ i=78
+ i=18781
+
+
+
+ C
+
+ i=63
+ i=78
+ i=18781
+
+
+
+ FrameType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.27
+
+ i=18801
+ i=18787
+ i=18788
+ i=18789
+ i=18790
+ i=63
+
+
+
+ CartesianCoordinates
+
+ i=18772
+ i=78
+ i=18786
+
+
+
+ Orientation
+
+ i=18779
+ i=78
+ i=18786
+
+
+
+ Constant
+
+ i=68
+ i=80
+ i=18786
+
+
+
+ BaseFrame
+
+ i=63
+ i=80
+ i=18786
+
+
+
+ FixedBase
+
+ i=68
+ i=80
+ i=18786
+
+
+
+ 3DFrameType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/7.28
+
+ i=18796
+ i=18792
+ i=18786
+
+
+
+ CartesianCoordinates
+
+ i=18798
+ i=18799
+ i=18800
+ i=18774
+ i=78
+ i=18791
+
+
+
+ X
+
+ i=63
+ i=78
+ i=18796
+
+
+
+ Y
+
+ i=63
+ i=78
+ i=18796
+
+
+
+ Z
+
+ i=63
+ i=78
+ i=18796
+
+
+
+ Orientation
+
+ i=19074
+ i=19075
+ i=19076
+ i=18781
+ i=78
+ i=18791
+
+
+
+ A
+
+ i=63
+ i=78
+ i=18792
+
+
+
+ B
+
+ i=63
+ i=78
+ i=18792
+
+
+
+ C
+
+ i=63
+ i=78
+ i=18792
+
+
+
+ RationalNumber
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.23
+
+ i=22
+
+
+
+
+
+
+
+ Vector
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.24
+
+ i=22
+
+
+
+
+ 3DVector
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.25
+
+ i=18807
+
+
+
+
+
+
+
+
+ CartesianCoordinates
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.26
+
+ i=22
+
+
+
+
+ 3DCartesianCoordinates
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.27
+
+ i=18809
+
+
+
+
+
+
+
+
+ Orientation
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.28
+
+ i=22
+
+
+
+
+ 3DOrientation
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.29
+
+ i=18811
+
+
+
+
+
+
+
+
+ Frame
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.30
+
+ i=22
+
+
+
+
+ 3DFrame
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment11/12.31
+
+ i=18813
+
+
+
+
+
+
+
+ TransitionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.16
+
+ i=2774
+ i=2775
+ i=2776
+ i=2041
+
+
+
+ Transition
+
+ i=3754
+ i=2762
+ i=78
+ i=2311
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2774
+
+
+
+ FromState
+
+ i=3746
+ i=2755
+ i=78
+ i=2311
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2775
+
+
+
+ ToState
+
+ i=3750
+ i=2755
+ i=78
+ i=2311
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=2776
+
+
+
+ AuditUpdateStateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/B.4.17
+
+ i=2777
+ i=2778
+ i=2127
+
+
+
+ OldStateId
+
+ i=68
+ i=78
+ i=2315
+
+
+
+ NewStateId
+
+ i=68
+ i=78
+ i=2315
+
+
+
+ OpenFileMode
+
+ i=11940
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=11939
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Read
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Write
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ EraseExisting
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ Append
+
+
+
+
+
+
+
+
+ FileDirectoryType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.1
+
+ i=13354
+ i=13366
+ i=13387
+ i=13390
+ i=13393
+ i=13395
+ i=61
+
+
+
+ <FileDirectoryName>
+
+ i=13355
+ i=13358
+ i=17718
+ i=13363
+ i=13353
+ i=11508
+ i=13353
+
+
+
+ CreateDirectory
+
+ i=13356
+ i=13357
+ i=78
+ i=13354
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13355
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13355
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ CreateFile
+
+ i=13359
+ i=13360
+ i=78
+ i=13354
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13358
+
+
+
+
+
+ i=297
+
+
+
+ FileName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestFileOpen
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13358
+
+
+
+
+
+ i=297
+
+
+
+ FileNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Delete
+
+ i=17719
+ i=78
+ i=13354
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17718
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToDelete
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ MoveOrCopy
+
+ i=13364
+ i=13365
+ i=78
+ i=13354
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13363
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToMoveOrCopy
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetDirectory
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CreateCopy
+
+ i=1
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NewName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13363
+
+
+
+
+
+ i=297
+
+
+
+ NewNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ <FileName>
+
+ i=13367
+ i=13368
+ i=13369
+ i=13370
+ i=13372
+ i=13375
+ i=13377
+ i=13380
+ i=13382
+ i=13385
+ i=11575
+ i=11508
+ i=13353
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13366
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13366
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13366
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13366
+
+
+
+ Open
+
+ i=13373
+ i=13374
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13372
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13372
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13376
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13375
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13378
+ i=13379
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13377
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13377
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13381
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13380
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13383
+ i=13384
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13382
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13382
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13386
+ i=78
+ i=13366
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13385
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ CreateDirectory
+
+ i=13388
+ i=13389
+ i=78
+ i=13353
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13387
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13387
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ CreateFile
+
+ i=13391
+ i=13392
+ i=78
+ i=13353
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13390
+
+
+
+
+
+ i=297
+
+
+
+ FileName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestFileOpen
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13390
+
+
+
+
+
+ i=297
+
+
+
+ FileNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Delete
+
+ i=13394
+ i=78
+ i=13353
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13393
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToDelete
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ MoveOrCopy
+
+ i=13396
+ i=13397
+ i=78
+ i=13353
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13395
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToMoveOrCopy
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetDirectory
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CreateCopy
+
+ i=1
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NewName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13395
+
+
+
+
+
+ i=297
+
+
+
+ NewNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ FileSystem
+
+ i=16348
+ i=16351
+ i=16354
+ i=16356
+ i=13353
+
+
+
+ CreateDirectory
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.3
+
+ i=16349
+ i=16350
+ i=16314
+
+
+
+ InputArguments
+
+ i=68
+ i=16348
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=16348
+
+
+
+
+
+ i=297
+
+
+
+ DirectoryNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ CreateFile
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.4
+
+ i=16352
+ i=16353
+ i=16314
+
+
+
+ InputArguments
+
+ i=68
+ i=16351
+
+
+
+
+
+ i=297
+
+
+
+ FileName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestFileOpen
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=16351
+
+
+
+
+
+ i=297
+
+
+
+ FileNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Delete
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.5
+
+ i=16355
+ i=16314
+
+
+
+ InputArguments
+
+ i=68
+ i=16354
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToDelete
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ MoveOrCopy
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.3.6
+
+ i=16357
+ i=16358
+ i=16314
+
+
+
+ InputArguments
+
+ i=68
+ i=16356
+
+
+
+
+
+ i=297
+
+
+
+ ObjectToMoveOrCopy
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetDirectory
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CreateCopy
+
+ i=1
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NewName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=16356
+
+
+
+
+
+ i=297
+
+
+
+ NewNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ TemporaryFileTransferType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.4.1
+
+ i=15745
+ i=15746
+ i=15749
+ i=15751
+ i=15754
+ i=58
+
+
+
+ ClientProcessingTimeout
+
+ i=68
+ i=78
+ i=15744
+
+
+
+ GenerateFileForRead
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.4.3
+
+ i=15747
+ i=15748
+ i=78
+ i=15744
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15746
+
+
+
+
+
+ i=297
+
+
+
+ GenerateOptions
+
+ i=24
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15746
+
+
+
+
+
+ i=297
+
+
+
+ FileNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CompletionStateMachine
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ GenerateFileForWrite
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.4.4
+
+ i=16359
+ i=15750
+ i=78
+ i=15744
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15749
+
+
+
+
+
+ i=297
+
+
+
+ GenerateOptions
+
+ i=24
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15749
+
+
+
+
+
+ i=297
+
+
+
+ FileNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CloseAndCommit
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.4.5
+
+ i=15752
+ i=15753
+ i=78
+ i=15744
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15751
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15751
+
+
+
+
+
+ i=297
+
+
+
+ CompletionStateMachine
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ <TransferState>
+
+ i=15755
+ i=15794
+ i=15803
+ i=11508
+ i=15744
+
+
+
+ CurrentState
+
+ i=15756
+ i=2760
+ i=78
+ i=15754
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=15755
+
+
+
+ Reset
+
+ i=78
+ i=15754
+
+
+
+ FileTransferStateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.4.6
+
+ i=15815
+ i=15817
+ i=15819
+ i=15821
+ i=15823
+ i=15825
+ i=15827
+ i=15829
+ i=15831
+ i=15833
+ i=15835
+ i=15837
+ i=15839
+ i=15841
+ i=15843
+ i=2771
+
+
+
+ Idle
+
+ i=15816
+ i=15825
+ i=15829
+ i=15831
+ i=15833
+ i=15841
+ i=2309
+ i=15803
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=15815
+
+
+ 1
+
+
+
+ ReadPrepare
+
+ i=15818
+ i=15825
+ i=15827
+ i=15835
+ i=2307
+ i=15803
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=15817
+
+
+ 2
+
+
+
+ ReadTransfer
+
+ i=15820
+ i=15827
+ i=15829
+ i=15837
+ i=2307
+ i=15803
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=15819
+
+
+ 3
+
+
+
+ ApplyWrite
+
+ i=15822
+ i=15831
+ i=15833
+ i=15839
+ i=2307
+ i=15803
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=15821
+
+
+ 4
+
+
+
+ Error
+
+ i=15824
+ i=15835
+ i=15837
+ i=15839
+ i=15841
+ i=2307
+ i=15803
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=15823
+
+
+ 5
+
+
+
+ IdleToReadPrepare
+
+ i=15826
+ i=15815
+ i=15817
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15825
+
+
+ 12
+
+
+
+ ReadPrepareToReadTransfer
+
+ i=15828
+ i=15817
+ i=15819
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15827
+
+
+ 23
+
+
+
+ ReadTransferToIdle
+
+ i=15830
+ i=15819
+ i=15815
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15829
+
+
+ 31
+
+
+
+ IdleToApplyWrite
+
+ i=15832
+ i=15815
+ i=15821
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15831
+
+
+ 14
+
+
+
+ ApplyWriteToIdle
+
+ i=15834
+ i=15821
+ i=15815
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15833
+
+
+ 41
+
+
+
+ ReadPrepareToError
+
+ i=15836
+ i=15817
+ i=15823
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15835
+
+
+ 25
+
+
+
+ ReadTransferToError
+
+ i=15838
+ i=15819
+ i=15823
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15837
+
+
+ 35
+
+
+
+ ApplyWriteToError
+
+ i=15840
+ i=15821
+ i=15823
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15839
+
+
+ 45
+
+
+
+ ErrorToIdle
+
+ i=15842
+ i=15823
+ i=15815
+ i=2311
+ i=2310
+ i=15803
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=15841
+
+
+ 51
+
+
+
+ Reset
+
+ i=78
+ i=15803
+
+
+
+ RoleSetType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/F.2.1
+
+ i=15608
+ i=15997
+ i=16000
+ i=58
+
+
+
+ <RoleName>
+
+ i=16162
+ i=15620
+ i=11508
+ i=15607
+
+
+
+ Identities
+
+ i=68
+ i=78
+ i=15608
+
+
+
+ AddRole
+
+ i=15998
+ i=15999
+ i=78
+ i=15607
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15997
+
+
+
+
+
+ i=297
+
+
+
+ RoleName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ NamespaceUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15997
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveRole
+
+ i=16001
+ i=78
+ i=15607
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16000
+
+
+
+
+
+ i=297
+
+
+
+ RoleNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RoleType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/F.3.1
+
+ i=16173
+ i=16174
+ i=15410
+ i=16175
+ i=15411
+ i=15624
+ i=15626
+ i=16176
+ i=16178
+ i=16180
+ i=16182
+ i=58
+
+
+
+ Identities
+
+ i=68
+ i=78
+ i=15620
+
+
+
+ Applications
+
+ i=68
+ i=80
+ i=15620
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=80
+ i=15620
+
+
+
+ Endpoints
+
+ i=68
+ i=80
+ i=15620
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=80
+ i=15620
+
+
+
+ AddIdentity
+
+ i=15625
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15624
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15627
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15626
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16177
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16176
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16179
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16178
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16181
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16180
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16183
+ i=80
+ i=15620
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16182
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ IdentityCriteriaType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/F.3.2
+
+ i=15633
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=15632
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ UserName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Thumbprint
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Role
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ GroupId
+
+
+
+
+
+
+ i=7616
+
+
+
+ 5
+
+ Anonymous
+
+
+
+
+
+
+ i=7616
+
+
+
+ 6
+
+ AuthenticatedUser
+
+
+
+
+
+
+ i=7616
+
+
+
+ 7
+
+ Application
+
+
+
+
+
+
+
+
+ IdentityMappingRuleType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/F.3.2
+
+ i=22
+
+
+
+
+
+
+
+ RoleMappingRuleChangedAuditEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/1
+
+ i=2127
+
+
+
+ Anonymous
+
+ i=16192
+ i=16193
+ i=15412
+ i=16194
+ i=15413
+ i=15648
+ i=15650
+ i=16195
+ i=16197
+ i=16199
+ i=16201
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15644
+
+
+
+ Applications
+
+ i=68
+ i=15644
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15644
+
+
+
+ Endpoints
+
+ i=68
+ i=15644
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15644
+
+
+
+ AddIdentity
+
+ i=15649
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=15648
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15651
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=15650
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16196
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=16195
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16198
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=16197
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16200
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=16199
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16202
+ i=15644
+
+
+
+ InputArguments
+
+ i=68
+ i=16201
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ AuthenticatedUser
+
+ i=16203
+ i=16204
+ i=15414
+ i=16205
+ i=15415
+ i=15660
+ i=15662
+ i=16206
+ i=16208
+ i=16210
+ i=16212
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15656
+
+
+
+ Applications
+
+ i=68
+ i=15656
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15656
+
+
+
+ Endpoints
+
+ i=68
+ i=15656
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15656
+
+
+
+ AddIdentity
+
+ i=15661
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=15660
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15663
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=15662
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16207
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=16206
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16209
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=16208
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16211
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=16210
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16213
+ i=15656
+
+
+
+ InputArguments
+
+ i=68
+ i=16212
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ Observer
+
+ i=16214
+ i=16215
+ i=15416
+ i=16216
+ i=15417
+ i=15672
+ i=15674
+ i=16217
+ i=16219
+ i=16221
+ i=16223
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15668
+
+
+
+ Applications
+
+ i=68
+ i=15668
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15668
+
+
+
+ Endpoints
+
+ i=68
+ i=15668
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15668
+
+
+
+ AddIdentity
+
+ i=15673
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=15672
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15675
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=15674
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16218
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=16217
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16220
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=16219
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16222
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=16221
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16224
+ i=15668
+
+
+
+ InputArguments
+
+ i=68
+ i=16223
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ Operator
+
+ i=16225
+ i=16226
+ i=15418
+ i=16227
+ i=15423
+ i=15684
+ i=15686
+ i=16228
+ i=16230
+ i=16232
+ i=16234
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15680
+
+
+
+ Applications
+
+ i=68
+ i=15680
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15680
+
+
+
+ Endpoints
+
+ i=68
+ i=15680
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15680
+
+
+
+ AddIdentity
+
+ i=15685
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=15684
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15687
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=15686
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16229
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=16228
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16231
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=16230
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16233
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=16232
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16235
+ i=15680
+
+
+
+ InputArguments
+
+ i=68
+ i=16234
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ Engineer
+
+ i=16236
+ i=16237
+ i=15424
+ i=16238
+ i=15425
+ i=16041
+ i=16043
+ i=16239
+ i=16241
+ i=16243
+ i=16245
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=16036
+
+
+
+ Applications
+
+ i=68
+ i=16036
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=16036
+
+
+
+ Endpoints
+
+ i=68
+ i=16036
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=16036
+
+
+
+ AddIdentity
+
+ i=16042
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16041
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=16044
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16043
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16240
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16239
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16242
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16241
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16244
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16243
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16246
+ i=16036
+
+
+
+ InputArguments
+
+ i=68
+ i=16245
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ Supervisor
+
+ i=16247
+ i=16248
+ i=15426
+ i=16249
+ i=15427
+ i=15696
+ i=15698
+ i=16250
+ i=16252
+ i=16254
+ i=16256
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15692
+
+
+
+ Applications
+
+ i=68
+ i=15692
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15692
+
+
+
+ Endpoints
+
+ i=68
+ i=15692
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15692
+
+
+
+ AddIdentity
+
+ i=15697
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=15696
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15699
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=15698
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16251
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=16250
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16253
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=16252
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16255
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=16254
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16257
+ i=15692
+
+
+
+ InputArguments
+
+ i=68
+ i=16256
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ ConfigureAdmin
+
+ i=16269
+ i=16270
+ i=15428
+ i=16271
+ i=15429
+ i=15720
+ i=15722
+ i=16272
+ i=16274
+ i=16276
+ i=16278
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15716
+
+
+
+ Applications
+
+ i=68
+ i=15716
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15716
+
+
+
+ Endpoints
+
+ i=68
+ i=15716
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15716
+
+
+
+ AddIdentity
+
+ i=15721
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=15720
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15723
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=15722
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16273
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=16272
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16275
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=16274
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16277
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=16276
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16279
+ i=15716
+
+
+
+ InputArguments
+
+ i=68
+ i=16278
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ SecurityAdmin
+
+ i=16258
+ i=16259
+ i=15430
+ i=16260
+ i=15527
+ i=15708
+ i=15710
+ i=16261
+ i=16263
+ i=16265
+ i=16267
+ i=15606
+ i=15620
+
+
+
+ Identities
+
+ i=68
+ i=15704
+
+
+
+ Applications
+
+ i=68
+ i=15704
+
+
+
+ ApplicationsExclude
+
+ i=68
+ i=15704
+
+
+
+ Endpoints
+
+ i=68
+ i=15704
+
+
+
+ EndpointsExclude
+
+ i=68
+ i=15704
+
+
+
+ AddIdentity
+
+ i=15709
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=15708
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveIdentity
+
+ i=15711
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=15710
+
+
+
+
+
+ i=297
+
+
+
+ Rule
+
+ i=15634
+
+ -1
+
+
+
+
+
+
+
+
+ AddApplication
+
+ i=16262
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=16261
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveApplication
+
+ i=16264
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=16263
+
+
+
+
+
+ i=297
+
+
+
+ ApplicationUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ AddEndpoint
+
+ i=16266
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=16265
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveEndpoint
+
+ i=16268
+ i=15704
+
+
+
+ InputArguments
+
+ i=68
+ i=16267
+
+
+
+
+
+ i=297
+
+
+
+ Endpoint
+
+ i=15528
+
+ -1
+
+
+
+
+
+
+
+
+ DictionaryEntryType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.2.3
+
+ i=17590
+ i=58
+
+
+
+ <DictionaryEntryName>
+
+ i=17589
+ i=11508
+ i=17589
+
+
+
+ DictionaryFolderType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.2.4
+
+ i=17592
+ i=17593
+ i=61
+
+
+
+ <DictionaryFolderName>
+
+ i=17591
+ i=11508
+ i=17591
+
+
+
+ <DictionaryEntryName>
+
+ i=17589
+ i=11508
+ i=17591
+
+
+
+ Dictionaries
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.2.2
+
+ i=2253
+ i=17591
+
+
+
+ HasDictionaryEntry
+ https://reference.opcfoundation.org/v104/Core/docs/Part19/6.1
+
+ i=32
+
+ DictionaryEntryOf
+
+
+ IrdiDictionaryEntryType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.3
+
+ i=17589
+
+
+
+ UriDictionaryEntryType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment5/G.4
+
+ i=17589
+
+
+
+ BaseInterfaceType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment7/6.9
+
+ i=58
+
+
+
+ InterfaceTypes
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment7/8.2.11
+
+ i=17602
+ i=86
+ i=61
+
+
+
+ HasInterface
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment7/11.20
+
+ i=32
+
+ InterfaceOf
+
+
+ HasAddIn
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment7/11.21
+
+ i=47
+
+ AddInOf
+
+
+ CurrencyUnitType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment10/8.61
+
+ i=22
+
+
+
+
+
+
+
+
+
+ CurrencyUnit
+
+ i=68
+
+
+
+ IOrderedObjectType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment13/6.10
+
+ i=23517
+ i=17602
+
+
+
+ NumberInList
+
+ i=68
+ i=78
+ i=23513
+
+
+
+ OrderedListType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment13/6.10
+
+ i=23519
+ i=23525
+ i=2133
+ i=58
+
+
+
+ <OrderedObject>
+
+ i=23521
+ i=23513
+ i=58
+ i=11508
+ i=23518
+
+
+
+ NumberInList
+
+ i=68
+ i=78
+ i=23519
+
+
+
+ NodeVersion
+
+ i=68
+ i=80
+ i=23518
+
+
+
+ DataItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.1
+
+ i=2366
+ i=2367
+ i=63
+
+
+
+ Definition
+
+ i=68
+ i=80
+ i=2365
+
+
+
+ ValuePrecision
+
+ i=68
+ i=80
+ i=2365
+
+
+
+ BaseAnalogType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.2/#5.3.2.2
+
+ i=17567
+ i=17568
+ i=17569
+ i=2365
+
+
+
+ InstrumentRange
+
+ i=68
+ i=80
+ i=15318
+
+
+
+ EURange
+
+ i=68
+ i=80
+ i=15318
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=80
+ i=15318
+
+
+
+ AnalogItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.2/#5.3.2.3
+
+ i=2369
+ i=15318
+
+
+
+ EURange
+
+ i=68
+ i=78
+ i=2368
+
+
+
+ AnalogUnitType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.2/#5.3.2.4
+
+ i=17502
+ i=15318
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=78
+ i=17497
+
+
+
+ AnalogUnitRangeType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.2/#5.3.2.5
+
+ i=17575
+ i=2368
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=78
+ i=17570
+
+
+
+ DiscreteItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.3/#5.3.3.1
+
+ i=2365
+
+
+
+ TwoStateDiscreteType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.3/#5.3.3.2
+
+ i=2374
+ i=2375
+ i=2372
+
+
+
+ FalseState
+
+ i=68
+ i=78
+ i=2373
+
+
+
+ TrueState
+
+ i=68
+ i=78
+ i=2373
+
+
+
+ MultiStateDiscreteType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.3/#5.3.3.3
+
+ i=2377
+ i=2372
+
+
+
+ EnumStrings
+
+ i=68
+ i=78
+ i=2376
+
+
+
+ MultiStateValueDiscreteType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.3/#5.3.3.4
+
+ i=11241
+ i=11461
+ i=2372
+
+
+
+ EnumValues
+
+ i=68
+ i=78
+ i=11238
+
+
+
+ ValueAsText
+
+ i=68
+ i=78
+ i=11238
+
+
+
+ ArrayItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.1
+
+ i=12024
+ i=12025
+ i=12026
+ i=12027
+ i=12028
+ i=2365
+
+
+
+ InstrumentRange
+
+ i=68
+ i=80
+ i=12021
+
+
+
+ EURange
+
+ i=68
+ i=78
+ i=12021
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=78
+ i=12021
+
+
+
+ Title
+
+ i=68
+ i=78
+ i=12021
+
+
+
+ AxisScaleType
+
+ i=68
+ i=78
+ i=12021
+
+
+
+ YArrayItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.2
+
+ i=12037
+ i=12021
+
+
+
+ XAxisDefinition
+
+ i=68
+ i=78
+ i=12029
+
+
+
+ XYArrayItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.3
+
+ i=12046
+ i=12021
+
+
+
+ XAxisDefinition
+
+ i=68
+ i=78
+ i=12038
+
+
+
+ ImageItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.4
+
+ i=12055
+ i=12056
+ i=12021
+
+
+
+ XAxisDefinition
+
+ i=68
+ i=78
+ i=12047
+
+
+
+ YAxisDefinition
+
+ i=68
+ i=78
+ i=12047
+
+
+
+ CubeItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.5
+
+ i=12065
+ i=12066
+ i=12067
+ i=12021
+
+
+
+ XAxisDefinition
+
+ i=68
+ i=78
+ i=12057
+
+
+
+ YAxisDefinition
+
+ i=68
+ i=78
+ i=12057
+
+
+
+ ZAxisDefinition
+
+ i=68
+ i=78
+ i=12057
+
+
+
+ NDimensionArrayItemType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.3.4/#5.3.4.6
+
+ i=12076
+ i=12021
+
+
+
+ AxisDefinition
+
+ i=68
+ i=78
+ i=12068
+
+
+
+ TwoStateVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.2
+
+ i=8996
+ i=9000
+ i=9001
+ i=11110
+ i=11111
+ i=2755
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=8995
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=8995
+
+
+
+ EffectiveTransitionTime
+
+ i=68
+ i=80
+ i=8995
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=8995
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=8995
+
+
+
+ ConditionVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.3
+
+ i=9003
+ i=63
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=9002
+
+
+
+ HasTrueSubState
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.4.2
+
+ i=32
+
+ IsTrueSubStateOf
+
+
+ HasFalseSubState
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.4.3
+
+ i=32
+
+ IsFalseSubStateOf
+
+
+ HasAlarmSuppressionGroup
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.4.4
+
+ i=47
+
+ IsAlarmSuppressionGroupOf
+
+
+ AlarmGroupMember
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.4.5
+
+ i=35
+
+ MemberOfAlarmGroup
+
+
+ ConditionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.2
+
+ i=11112
+ i=11113
+ i=16363
+ i=16364
+ i=9009
+ i=9010
+ i=3874
+ i=9011
+ i=9020
+ i=9022
+ i=9024
+ i=9026
+ i=9028
+ i=9027
+ i=9029
+ i=3875
+ i=12912
+ i=2041
+
+
+
+ ConditionClassId
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ ConditionClassName
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ ConditionSubClassId
+
+ i=68
+ i=80
+ i=2782
+
+
+
+ ConditionSubClassName
+
+ i=68
+ i=80
+ i=2782
+
+
+
+ ConditionName
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ BranchId
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ Retain
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ EnabledState
+
+ i=9012
+ i=9015
+ i=9016
+ i=9017
+ i=9018
+ i=9019
+ i=8995
+ i=78
+ i=2782
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9011
+
+
+
+ EffectiveDisplayName
+
+ i=68
+ i=80
+ i=9011
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9011
+
+
+
+ EffectiveTransitionTime
+
+ i=68
+ i=80
+ i=9011
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9011
+
+
+
+ en
+ Enabled
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9011
+
+
+
+ en
+ Disabled
+
+
+
+
+ Quality
+
+ i=9021
+ i=9002
+ i=78
+ i=2782
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=9020
+
+
+
+ LastSeverity
+
+ i=9023
+ i=9002
+ i=78
+ i=2782
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=9022
+
+
+
+ Comment
+
+ i=9025
+ i=9002
+ i=78
+ i=2782
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=9024
+
+
+
+ ClientUserId
+
+ i=68
+ i=78
+ i=2782
+
+
+
+ Disable
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.4
+
+ i=2803
+ i=78
+ i=2782
+
+
+
+ Enable
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.5
+
+ i=2803
+ i=78
+ i=2782
+
+
+
+ AddComment
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.6
+
+ i=9030
+ i=2829
+ i=78
+ i=2782
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=9029
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ ConditionRefresh
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.7
+
+ i=3876
+ i=2787
+ i=2788
+ i=2782
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=3875
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=288
+
+ -1
+
+
+ The identifier for the subscription to refresh.
+
+
+
+
+
+
+
+
+ ConditionRefresh2
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.5.8
+
+ i=12913
+ i=2787
+ i=2788
+ i=2782
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12912
+
+
+
+
+
+ i=297
+
+
+
+ SubscriptionId
+
+ i=288
+
+ -1
+
+
+ The identifier for the subscription to refresh.
+
+
+
+
+
+
+ i=297
+
+
+
+ MonitoredItemId
+
+ i=288
+
+ -1
+
+
+ The identifier for the monitored item to refresh.
+
+
+
+
+
+
+
+
+ DialogConditionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.6.2
+
+ i=9035
+ i=9055
+ i=2831
+ i=9064
+ i=9065
+ i=9066
+ i=9067
+ i=9068
+ i=9069
+ i=2782
+
+
+
+ EnabledState
+
+ i=9036
+ i=9055
+ i=8995
+ i=78
+ i=2830
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9035
+
+
+
+ DialogState
+
+ i=9056
+ i=9060
+ i=9062
+ i=9063
+ i=9035
+ i=8995
+ i=78
+ i=2830
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9055
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9055
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9055
+
+
+
+ en
+ Active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9055
+
+
+
+ en
+ Inactive
+
+
+
+
+ Prompt
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ ResponseOptionSet
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ DefaultResponse
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ OkResponse
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ CancelResponse
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ LastResponse
+
+ i=68
+ i=78
+ i=2830
+
+
+
+ Respond
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.6.3
+
+ i=9070
+ i=8927
+ i=78
+ i=2830
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=9069
+
+
+
+
+
+ i=297
+
+
+
+ SelectedResponse
+
+ i=6
+
+ -1
+
+
+ The response to the dialog condition.
+
+
+
+
+
+
+
+
+ AcknowledgeableConditionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.7.2
+
+ i=9073
+ i=9093
+ i=9102
+ i=9111
+ i=9113
+ i=2782
+
+
+
+ EnabledState
+
+ i=9074
+ i=9093
+ i=9102
+ i=8995
+ i=78
+ i=2881
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9073
+
+
+
+ AckedState
+
+ i=9094
+ i=9098
+ i=9100
+ i=9101
+ i=9073
+ i=8995
+ i=78
+ i=2881
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9093
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9093
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9093
+
+
+
+ en
+ Acknowledged
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9093
+
+
+
+ en
+ Unacknowledged
+
+
+
+
+ ConfirmedState
+
+ i=9103
+ i=9107
+ i=9109
+ i=9110
+ i=9073
+ i=8995
+ i=80
+ i=2881
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9102
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9102
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9102
+
+
+
+ en
+ Confirmed
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9102
+
+
+
+ en
+ Unconfirmed
+
+
+
+
+ Acknowledge
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.7.3
+
+ i=9112
+ i=8944
+ i=78
+ i=2881
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=9111
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ Confirm
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.7.4
+
+ i=9114
+ i=8961
+ i=80
+ i=2881
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=9113
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ AlarmConditionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.2
+
+ i=9118
+ i=9160
+ i=11120
+ i=9169
+ i=16371
+ i=9178
+ i=9215
+ i=9216
+ i=16389
+ i=16390
+ i=16380
+ i=16395
+ i=16396
+ i=16397
+ i=16398
+ i=18190
+ i=16399
+ i=16400
+ i=16401
+ i=16402
+ i=16403
+ i=17868
+ i=17869
+ i=17870
+ i=18199
+ i=2881
+
+
+
+ EnabledState
+
+ i=9119
+ i=9160
+ i=9169
+ i=9178
+ i=8995
+ i=78
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9118
+
+
+
+ ActiveState
+
+ i=9161
+ i=9164
+ i=9165
+ i=9166
+ i=9167
+ i=9168
+ i=9118
+ i=8995
+ i=78
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9160
+
+
+
+ EffectiveDisplayName
+
+ i=68
+ i=80
+ i=9160
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9160
+
+
+
+ EffectiveTransitionTime
+
+ i=68
+ i=80
+ i=9160
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9160
+
+
+
+ en
+ Active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9160
+
+
+
+ en
+ Inactive
+
+
+
+
+ InputNode
+
+ i=68
+ i=78
+ i=2915
+
+
+
+ SuppressedState
+
+ i=9170
+ i=9174
+ i=9176
+ i=9177
+ i=9118
+ i=8995
+ i=80
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9169
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9169
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=9169
+
+
+
+ en
+ Suppressed
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=9169
+
+
+
+ en
+ Unsuppressed
+
+
+
+
+ OutOfServiceState
+
+ i=16372
+ i=16376
+ i=16378
+ i=16379
+ i=8995
+ i=80
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=16371
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=16371
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=16371
+
+
+
+ en
+ Out of Service
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=16371
+
+
+
+ en
+ In Service
+
+
+
+
+ ShelvingState
+
+ i=9179
+ i=9184
+ i=9189
+ i=9213
+ i=9211
+ i=9212
+ i=9118
+ i=2929
+ i=80
+ i=2915
+
+
+
+ CurrentState
+
+ i=9180
+ i=2760
+ i=78
+ i=9178
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9179
+
+
+
+ LastTransition
+
+ i=9185
+ i=9188
+ i=2767
+ i=80
+ i=9178
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9184
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9184
+
+
+
+ UnshelveTime
+
+ i=68
+ i=78
+ i=9178
+
+
+
+ TimedShelve
+
+ i=9214
+ i=11093
+ i=78
+ i=9178
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=9213
+
+
+
+
+
+ i=297
+
+
+
+ ShelvingTime
+
+ i=290
+
+ -1
+
+
+ If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.
+
+
+
+
+
+
+
+
+ Unshelve
+
+ i=11093
+ i=78
+ i=9178
+
+
+
+ OneShotShelve
+
+ i=11093
+ i=78
+ i=9178
+
+
+
+ SuppressedOrShelved
+
+ i=68
+ i=78
+ i=2915
+
+
+
+ MaxTimeShelved
+
+ i=68
+ i=80
+ i=2915
+
+
+
+ AudibleEnabled
+
+ i=68
+ i=80
+ i=2915
+
+
+
+ AudibleSound
+
+ i=17986
+ i=80
+ i=2915
+
+
+
+ SilenceState
+
+ i=16381
+ i=16385
+ i=16387
+ i=16388
+ i=8995
+ i=80
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=16380
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=16380
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=16380
+
+
+
+ en
+ Silenced
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=16380
+
+
+
+ en
+ Not Silenced
+
+
+
+
+ OnDelay
+
+ i=68
+ i=80
+ i=2915
+
+
+
+ OffDelay
+
+ i=68
+ i=80
+ i=2915
+
+
+
+ FirstInGroupFlag
+
+ i=63
+ i=80
+ i=2915
+
+
+
+ FirstInGroup
+
+ i=16405
+ i=80
+ i=2915
+
+
+
+ LatchedState
+
+ i=18191
+ i=18195
+ i=18197
+ i=18198
+ i=8995
+ i=80
+ i=2915
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=18190
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=18190
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=18190
+
+
+
+ en
+ Latched
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=18190
+
+
+
+ en
+ Unlatched
+
+
+
+
+ <AlarmGroup>
+
+ i=16405
+ i=11508
+ i=2915
+
+
+
+ ReAlarmTime
+
+ i=68
+ i=80
+ i=2915
+
+
+
+ ReAlarmRepeatCount
+
+ i=63
+ i=80
+ i=2915
+
+
+
+ Silence
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.5
+
+ i=17242
+ i=80
+ i=2915
+
+
+
+ Suppress
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.6
+
+ i=17225
+ i=80
+ i=2915
+
+
+
+ Unsuppress
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.7
+
+ i=17225
+ i=80
+ i=2915
+
+
+
+ RemoveFromService
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.8
+
+ i=17259
+ i=80
+ i=2915
+
+
+
+ PlaceInService
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.9
+
+ i=17259
+ i=80
+ i=2915
+
+
+
+ Reset
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.4
+
+ i=15013
+ i=80
+ i=2915
+
+
+
+ AlarmGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.3
+
+ i=16406
+ i=61
+
+
+
+ <AlarmConditionInstance>
+
+ i=16407
+ i=16408
+ i=16409
+ i=16410
+ i=16411
+ i=16412
+ i=16414
+ i=16415
+ i=16416
+ i=16417
+ i=16420
+ i=16421
+ i=16422
+ i=16423
+ i=16432
+ i=16434
+ i=16436
+ i=16438
+ i=16439
+ i=16440
+ i=16441
+ i=16443
+ i=16461
+ i=16465
+ i=16474
+ i=16519
+ i=2915
+ i=11508
+ i=16405
+
+
+
+ EventId
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ EventType
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ SourceNode
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ SourceName
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ Time
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ ReceiveTime
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ Message
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ Severity
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ ConditionClassId
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ ConditionClassName
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ ConditionName
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ BranchId
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ Retain
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ EnabledState
+
+ i=16424
+ i=8995
+ i=78
+ i=16406
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=16423
+
+
+
+ Quality
+
+ i=16433
+ i=9002
+ i=78
+ i=16406
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=16432
+
+
+
+ LastSeverity
+
+ i=16435
+ i=9002
+ i=78
+ i=16406
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=16434
+
+
+
+ Comment
+
+ i=16437
+ i=9002
+ i=78
+ i=16406
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=16436
+
+
+
+ ClientUserId
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ Disable
+
+ i=2803
+ i=78
+ i=16406
+
+
+
+ Enable
+
+ i=2803
+ i=78
+ i=16406
+
+
+
+ AddComment
+
+ i=16442
+ i=2829
+ i=78
+ i=16406
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16441
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ AckedState
+
+ i=16444
+ i=8995
+ i=78
+ i=16406
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=16443
+
+
+
+ Acknowledge
+
+ i=16462
+ i=8944
+ i=78
+ i=16406
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16461
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ ActiveState
+
+ i=16466
+ i=8995
+ i=78
+ i=16406
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=16465
+
+
+
+ InputNode
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ SuppressedOrShelved
+
+ i=68
+ i=78
+ i=16406
+
+
+
+ ShelvedStateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.10/#5.8.10.1
+
+ i=9115
+ i=2930
+ i=2932
+ i=2933
+ i=2935
+ i=2936
+ i=2940
+ i=2942
+ i=2943
+ i=2945
+ i=2949
+ i=2947
+ i=2948
+ i=2771
+
+
+
+ UnshelveTime
+
+ i=68
+ i=78
+ i=2929
+
+
+
+ Unshelved
+
+ i=6098
+ i=2935
+ i=2936
+ i=2940
+ i=2943
+ i=2307
+ i=2929
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2930
+
+
+ 1
+
+
+
+ TimedShelved
+
+ i=6100
+ i=2935
+ i=2940
+ i=2942
+ i=2945
+ i=2307
+ i=2929
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2932
+
+
+ 2
+
+
+
+ OneShotShelved
+
+ i=6101
+ i=2936
+ i=2942
+ i=2943
+ i=2945
+ i=2307
+ i=2929
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2933
+
+
+ 3
+
+
+
+ UnshelvedToTimedShelved
+
+ i=11322
+ i=2930
+ i=2932
+ i=2915
+ i=2949
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2935
+
+
+ 12
+
+
+
+ UnshelvedToOneShotShelved
+
+ i=11323
+ i=2930
+ i=2933
+ i=2915
+ i=2948
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2936
+
+
+ 13
+
+
+
+ TimedShelvedToUnshelved
+
+ i=11324
+ i=2932
+ i=2930
+ i=2915
+ i=2947
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2940
+
+
+ 21
+
+
+
+ TimedShelvedToOneShotShelved
+
+ i=11325
+ i=2932
+ i=2933
+ i=2915
+ i=2948
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2942
+
+
+ 23
+
+
+
+ OneShotShelvedToUnshelved
+
+ i=11326
+ i=2933
+ i=2930
+ i=2915
+ i=2947
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2943
+
+
+ 31
+
+
+
+ OneShotShelvedToTimedShelved
+
+ i=11327
+ i=2933
+ i=2932
+ i=2915
+ i=2949
+ i=2310
+ i=2929
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2945
+
+
+ 32
+
+
+
+ TimedShelve
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.10/#5.8.10.3
+
+ i=2991
+ i=2935
+ i=2945
+ i=11093
+ i=78
+ i=2929
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=2949
+
+
+
+
+
+ i=297
+
+
+
+ ShelvingTime
+
+ i=290
+
+ -1
+
+
+ If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.
+
+
+
+
+
+
+
+
+ Unshelve
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.10/#5.8.10.2
+
+ i=2940
+ i=2943
+ i=11093
+ i=78
+ i=2929
+
+
+
+ OneShotShelve
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.10/#5.8.10.4
+
+ i=2936
+ i=2942
+ i=11093
+ i=78
+ i=2929
+
+
+
+ LimitAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.11
+
+ i=11124
+ i=11125
+ i=11126
+ i=11127
+ i=16572
+ i=16573
+ i=16574
+ i=16575
+ i=2915
+
+
+
+ HighHighLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ HighLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ LowLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ LowLowLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ BaseHighHighLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ BaseHighLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ BaseLowLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ BaseLowLowLimit
+
+ i=68
+ i=80
+ i=2955
+
+
+
+ ExclusiveLimitStateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.12/#5.8.12.2
+
+ i=9329
+ i=9331
+ i=9333
+ i=9335
+ i=9337
+ i=9338
+ i=9339
+ i=9340
+ i=2771
+
+
+
+ HighHigh
+
+ i=9330
+ i=9339
+ i=9340
+ i=2307
+ i=9318
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=9329
+
+
+ 1
+
+
+
+ High
+
+ i=9332
+ i=9339
+ i=9340
+ i=2307
+ i=9318
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=9331
+
+
+ 2
+
+
+
+ Low
+
+ i=9334
+ i=9337
+ i=9338
+ i=2307
+ i=9318
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=9333
+
+
+ 3
+
+
+
+ LowLow
+
+ i=9336
+ i=9337
+ i=9338
+ i=2307
+ i=9318
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=9335
+
+
+ 4
+
+
+
+ LowLowToLow
+
+ i=11340
+ i=9335
+ i=9333
+ i=2310
+ i=9318
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=9337
+
+
+ 43
+
+
+
+ LowToLowLow
+
+ i=11341
+ i=9333
+ i=9335
+ i=2310
+ i=9318
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=9338
+
+
+ 34
+
+
+
+ HighHighToHigh
+
+ i=11342
+ i=9329
+ i=9331
+ i=2310
+ i=9318
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=9339
+
+
+ 12
+
+
+
+ HighToHighHigh
+
+ i=11343
+ i=9331
+ i=9329
+ i=2310
+ i=9318
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=9340
+
+
+ 21
+
+
+
+ ExclusiveLimitAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.12/#5.8.12.3
+
+ i=9398
+ i=9455
+ i=2955
+
+
+
+ ActiveState
+
+ i=9399
+ i=9455
+ i=8995
+ i=78
+ i=9341
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9398
+
+
+
+ LimitState
+
+ i=9456
+ i=9461
+ i=9398
+ i=9318
+ i=78
+ i=9341
+
+
+
+ CurrentState
+
+ i=9457
+ i=2760
+ i=78
+ i=9455
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9456
+
+
+
+ LastTransition
+
+ i=9462
+ i=9465
+ i=2767
+ i=80
+ i=9455
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9461
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=9461
+
+
+
+ NonExclusiveLimitAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.13
+
+ i=9963
+ i=10020
+ i=10029
+ i=10038
+ i=10047
+ i=2955
+
+
+
+ ActiveState
+
+ i=9964
+ i=10020
+ i=10029
+ i=10038
+ i=10047
+ i=8995
+ i=78
+ i=9906
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=9963
+
+
+
+ HighHighState
+
+ i=10021
+ i=10025
+ i=10027
+ i=10028
+ i=9963
+ i=8995
+ i=80
+ i=9906
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=10020
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=10020
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=10020
+
+
+
+ en
+ HighHigh active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=10020
+
+
+
+ en
+ HighHigh inactive
+
+
+
+
+ HighState
+
+ i=10030
+ i=10034
+ i=10036
+ i=10037
+ i=9963
+ i=8995
+ i=80
+ i=9906
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=10029
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=10029
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=10029
+
+
+
+ en
+ High active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=10029
+
+
+
+ en
+ High inactive
+
+
+
+
+ LowState
+
+ i=10039
+ i=10043
+ i=10045
+ i=10046
+ i=9963
+ i=8995
+ i=80
+ i=9906
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=10038
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=10038
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=10038
+
+
+
+ en
+ Low active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=10038
+
+
+
+ en
+ Low inactive
+
+
+
+
+ LowLowState
+
+ i=10048
+ i=10052
+ i=10054
+ i=10055
+ i=9963
+ i=8995
+ i=80
+ i=9906
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=10047
+
+
+
+ TransitionTime
+
+ i=68
+ i=80
+ i=10047
+
+
+
+ TrueState
+
+ i=68
+ i=80
+ i=10047
+
+
+
+ en
+ LowLow active
+
+
+
+
+ FalseState
+
+ i=68
+ i=80
+ i=10047
+
+
+
+ en
+ LowLow inactive
+
+
+
+
+ NonExclusiveLevelAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.14/#5.8.14.2
+
+ i=9906
+
+
+
+ ExclusiveLevelAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.14/#5.8.14.3
+
+ i=9341
+
+
+
+ NonExclusiveDeviationAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.15/#5.8.15.2
+
+ i=10522
+ i=16776
+ i=9906
+
+
+
+ SetpointNode
+
+ i=68
+ i=78
+ i=10368
+
+
+
+ BaseSetpointNode
+
+ i=68
+ i=80
+ i=10368
+
+
+
+ NonExclusiveRateOfChangeAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.16/#5.8.16.2
+
+ i=16858
+ i=9906
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=80
+ i=10214
+
+
+
+ ExclusiveDeviationAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.15/#5.8.15.3
+
+ i=9905
+ i=16817
+ i=9341
+
+
+
+ SetpointNode
+
+ i=68
+ i=78
+ i=9764
+
+
+
+ BaseSetpointNode
+
+ i=68
+ i=80
+ i=9764
+
+
+
+ ExclusiveRateOfChangeAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.16/#5.8.16.3
+
+ i=16899
+ i=9341
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=80
+ i=9623
+
+
+
+ DiscreteAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.1
+
+ i=2915
+
+
+
+ OffNormalAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.2
+
+ i=11158
+ i=10523
+
+
+
+ NormalState
+
+ i=68
+ i=78
+ i=10637
+
+
+
+ SystemOffNormalAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.3
+
+ i=10637
+
+
+
+ TripAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.4
+
+ i=10637
+
+
+
+ InstrumentDiagnosticAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.5
+
+ i=10637
+
+
+
+ SystemDiagnosticAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.6
+
+ i=10637
+
+
+
+ CertificateExpirationAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.17/#5.8.17.7
+
+ i=13325
+ i=14900
+ i=13326
+ i=13327
+ i=11753
+
+
+
+ ExpirationDate
+
+ i=68
+ i=78
+ i=13225
+
+
+
+ ExpirationLimit
+
+ i=68
+ i=80
+ i=13225
+
+
+
+ CertificateType
+
+ i=68
+ i=78
+ i=13225
+
+
+
+ Certificate
+
+ i=68
+ i=78
+ i=13225
+
+
+
+ DiscrepancyAlarmType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.8.18
+
+ i=17215
+ i=17216
+ i=17217
+ i=2915
+
+
+
+ TargetValueNode
+
+ i=68
+ i=78
+ i=17080
+
+
+
+ ExpectedTime
+
+ i=68
+ i=78
+ i=17080
+
+
+
+ Tolerance
+
+ i=68
+ i=80
+ i=17080
+
+
+
+ BaseConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.2
+
+ i=58
+
+
+
+ ProcessConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.3
+
+ i=11163
+
+
+
+ MaintenanceConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.4
+
+ i=11163
+
+
+
+ SystemConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.5
+
+ i=11163
+
+
+
+ SafetyConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.6
+
+ i=11163
+
+
+
+ HighlyManagedAlarmConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.7
+
+ i=11163
+
+
+
+ TrainingConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.8
+
+ i=11163
+
+
+
+ StatisticalConditionClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.9
+
+ i=11163
+
+
+
+ TestingConditionSubClassType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.9.10
+
+ i=11163
+
+
+
+ AuditConditionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.2
+
+ i=2127
+
+
+
+ AuditConditionEnableEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.3
+
+ i=2790
+
+
+
+ AuditConditionCommentEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.4
+
+ i=17222
+ i=11851
+ i=2790
+
+
+
+ ConditionEventId
+
+ i=68
+ i=78
+ i=2829
+
+
+
+ Comment
+
+ i=68
+ i=78
+ i=2829
+
+
+
+ AuditConditionRespondEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.5
+
+ i=11852
+ i=2790
+
+
+
+ SelectedResponse
+
+ i=68
+ i=78
+ i=8927
+
+
+
+ AuditConditionAcknowledgeEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.6
+
+ i=17223
+ i=11853
+ i=2790
+
+
+
+ ConditionEventId
+
+ i=68
+ i=78
+ i=8944
+
+
+
+ Comment
+
+ i=68
+ i=78
+ i=8944
+
+
+
+ AuditConditionConfirmEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.7
+
+ i=17224
+ i=11854
+ i=2790
+
+
+
+ ConditionEventId
+
+ i=68
+ i=78
+ i=8961
+
+
+
+ Comment
+
+ i=68
+ i=78
+ i=8961
+
+
+
+ AuditConditionShelvingEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.8
+
+ i=11855
+ i=2790
+
+
+
+ ShelvingTime
+
+ i=68
+ i=80
+ i=11093
+
+
+
+ AuditConditionSuppressionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.9
+
+ i=2790
+
+
+
+ AuditConditionSilenceEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.10
+
+ i=2790
+
+
+
+ AuditConditionResetEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.11
+
+ i=2790
+
+
+
+ AuditConditionOutOfServiceEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.10.12
+
+ i=2790
+
+
+
+ RefreshStartEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.11.2
+
+ i=2130
+
+
+
+ RefreshEndEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.11.3
+
+ i=2130
+
+
+
+ RefreshRequiredEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.11.4
+
+ i=2130
+
+
+
+ HasCondition
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/5.12
+
+ i=32
+
+ IsConditionOf
+
+
+ HasEffectDisable
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/7.2
+
+ i=54
+
+ MayBeDisabledBy
+
+
+ HasEffectEnable
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/7.3
+
+ i=54
+
+ MayBeEnabledBy
+
+
+ HasEffectSuppressed
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/7.4
+
+ i=54
+
+ MayBeSuppressedBy
+
+
+ HasEffectUnsuppressed
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/7.5
+
+ i=54
+
+ MayBeUnsuppressedBy
+
+
+ AlarmMetricsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/8.2
+
+ i=17280
+ i=17991
+ i=17281
+ i=17282
+ i=17284
+ i=17286
+ i=17283
+ i=17288
+ i=18666
+ i=58
+
+
+
+ AlarmCount
+
+ i=63
+ i=78
+ i=17279
+
+
+
+ StartTime
+
+ i=63
+ i=78
+ i=17279
+
+
+
+ MaximumActiveState
+
+ i=63
+ i=78
+ i=17279
+
+
+
+ MaximumUnAck
+
+ i=63
+ i=78
+ i=17279
+
+
+
+ CurrentAlarmRate
+
+ i=17285
+ i=17277
+ i=78
+ i=17279
+
+
+
+ Rate
+
+ i=68
+ i=78
+ i=17284
+
+
+
+ MaximumAlarmRate
+
+ i=17287
+ i=17277
+ i=78
+ i=17279
+
+
+
+ Rate
+
+ i=68
+ i=78
+ i=17286
+
+
+
+ MaximumReAlarmCount
+
+ i=63
+ i=78
+ i=17279
+
+
+
+ AverageAlarmRate
+
+ i=17289
+ i=17277
+ i=78
+ i=17279
+
+
+
+ Rate
+
+ i=68
+ i=78
+ i=17288
+
+
+
+ Reset
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/8.4
+
+ i=2127
+ i=78
+ i=17279
+
+
+
+ AlarmRateVariableType
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/8.3
+
+ i=17278
+ i=63
+
+
+
+ Rate
+
+ i=68
+ i=78
+ i=17277
+
+
+
+ ProgramStateMachineType
+ https://reference.opcfoundation.org/v104/Core/docs/Part10/5.2.1
+
+ i=3830
+ i=3835
+ i=2392
+ i=2393
+ i=2394
+ i=2395
+ i=2396
+ i=2397
+ i=2398
+ i=2399
+ i=3850
+ i=2406
+ i=2400
+ i=2402
+ i=2404
+ i=2408
+ i=2410
+ i=2412
+ i=2414
+ i=2416
+ i=2418
+ i=2420
+ i=2422
+ i=2424
+ i=2426
+ i=2427
+ i=2428
+ i=2429
+ i=2430
+ i=2771
+
+
+
+ CurrentState
+
+ i=3831
+ i=3833
+ i=2760
+ i=78
+ i=2391
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=3830
+
+
+
+ Number
+
+ i=68
+ i=78
+ i=3830
+
+
+
+ LastTransition
+
+ i=3836
+ i=3838
+ i=3839
+ i=2767
+ i=78
+ i=2391
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=3835
+
+
+
+ Number
+
+ i=68
+ i=78
+ i=3835
+
+
+
+ TransitionTime
+
+ i=68
+ i=78
+ i=3835
+
+
+
+ Creatable
+
+ i=68
+ i=2391
+
+
+
+ Deletable
+
+ i=68
+ i=78
+ i=2391
+
+
+
+ AutoDelete
+
+ i=68
+ i=78
+ i=2391
+
+
+
+ RecycleCount
+
+ i=68
+ i=78
+ i=2391
+
+
+
+ InstanceCount
+
+ i=68
+ i=2391
+
+
+
+ MaxInstanceCount
+
+ i=68
+ i=2391
+
+
+
+ MaxRecycleCount
+
+ i=68
+ i=2391
+
+
+
+ ProgramDiagnostic
+
+ i=3840
+ i=3841
+ i=3842
+ i=3843
+ i=3844
+ i=3845
+ i=3846
+ i=3847
+ i=15038
+ i=15040
+ i=3848
+ i=3849
+ i=15383
+ i=80
+ i=2391
+
+
+
+ CreateSessionId
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ CreateClientName
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ InvocationCreationTime
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastTransitionTime
+
+ i=68
+ i=78
+ i=2399
+
+
+
+ LastMethodCall
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodSessionId
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodInputArguments
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodOutputArguments
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodInputValues
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodOutputValues
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodCallTime
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ LastMethodReturnStatus
+
+ i=63
+ i=78
+ i=2399
+
+
+
+ FinalResultData
+
+ i=58
+ i=80
+ i=2391
+
+
+
+ Halted
+
+ i=2407
+ i=2408
+ i=2412
+ i=2420
+ i=2424
+ i=2307
+ i=2391
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2406
+
+
+ 11
+
+
+
+ Ready
+
+ i=2401
+ i=2408
+ i=2410
+ i=2414
+ i=2422
+ i=2424
+ i=2307
+ i=2391
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2400
+
+
+ 12
+
+
+
+ Running
+
+ i=2403
+ i=2410
+ i=2412
+ i=2414
+ i=2416
+ i=2418
+ i=2307
+ i=2391
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2402
+
+
+ 13
+
+
+
+ Suspended
+
+ i=2405
+ i=2416
+ i=2418
+ i=2420
+ i=2422
+ i=2307
+ i=2391
+
+
+
+ StateNumber
+
+ i=68
+ i=78
+ i=2404
+
+
+ 14
+
+
+
+ HaltedToReady
+
+ i=2409
+ i=2406
+ i=2400
+ i=2430
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2408
+
+
+ 1
+
+
+
+ ReadyToRunning
+
+ i=2411
+ i=2400
+ i=2402
+ i=2426
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2410
+
+
+ 2
+
+
+
+ RunningToHalted
+
+ i=2413
+ i=2402
+ i=2406
+ i=2429
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2412
+
+
+ 3
+
+
+
+ RunningToReady
+
+ i=2415
+ i=2402
+ i=2400
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2414
+
+
+ 4
+
+
+
+ RunningToSuspended
+
+ i=2417
+ i=2402
+ i=2404
+ i=2427
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2416
+
+
+ 5
+
+
+
+ SuspendedToRunning
+
+ i=2419
+ i=2404
+ i=2402
+ i=2428
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2418
+
+
+ 6
+
+
+
+ SuspendedToHalted
+
+ i=2421
+ i=2404
+ i=2406
+ i=2429
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2420
+
+
+ 7
+
+
+
+ SuspendedToReady
+
+ i=2423
+ i=2404
+ i=2400
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2422
+
+
+ 8
+
+
+
+ ReadyToHalted
+
+ i=2425
+ i=2400
+ i=2406
+ i=2429
+ i=2378
+ i=2310
+ i=2391
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=2424
+
+
+ 9
+
+
+
+ Start
+
+ i=2410
+ i=11508
+ i=2391
+
+
+
+ Suspend
+
+ i=2416
+ i=11508
+ i=2391
+
+
+
+ Resume
+
+ i=2418
+ i=11508
+ i=2391
+
+
+
+ Halt
+
+ i=2412
+ i=2420
+ i=2424
+ i=11508
+ i=2391
+
+
+
+ Reset
+
+ i=2408
+ i=11508
+ i=2391
+
+
+
+ ProgramTransitionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part10/5.2.5/#5.2.5.2
+
+ i=2379
+ i=2311
+
+
+
+ IntermediateResult
+
+ i=63
+ i=78
+ i=2378
+
+
+
+ AuditProgramTransitionEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part10/5.2.6
+
+ i=11875
+ i=2315
+
+
+
+ TransitionNumber
+
+ i=68
+ i=78
+ i=11856
+
+
+
+ ProgramTransitionAuditEventType
+
+ i=3825
+ i=2315
+
+
+
+ Transition
+
+ i=3826
+ i=2767
+ i=78
+ i=3806
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=3825
+
+
+
+ ProgramDiagnosticType
+
+ i=2381
+ i=2382
+ i=2383
+ i=2384
+ i=2385
+ i=2386
+ i=2387
+ i=2388
+ i=2389
+ i=2390
+ i=63
+
+
+
+ CreateSessionId
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ CreateClientName
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ InvocationCreationTime
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastTransitionTime
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodCall
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodSessionId
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodInputArguments
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodOutputArguments
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodCallTime
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ LastMethodReturnStatus
+
+ i=68
+ i=78
+ i=2380
+
+
+
+ ProgramDiagnostic2Type
+ https://reference.opcfoundation.org/v104/Core/docs/Part10/5.2.9
+
+ i=15384
+ i=15385
+ i=15386
+ i=15387
+ i=15388
+ i=15389
+ i=15390
+ i=15391
+ i=15392
+ i=15393
+ i=15394
+ i=15395
+ i=63
+
+
+
+ CreateSessionId
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ CreateClientName
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ InvocationCreationTime
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastTransitionTime
+
+ i=68
+ i=78
+ i=15383
+
+
+
+ LastMethodCall
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodSessionId
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodInputArguments
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodOutputArguments
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodInputValues
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodOutputValues
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodCallTime
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ LastMethodReturnStatus
+
+ i=63
+ i=78
+ i=15383
+
+
+
+ Annotations
+
+ i=68
+
+
+
+ HistoricalDataConfigurationType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.2.2
+
+ i=3059
+ i=11876
+ i=2323
+ i=2324
+ i=2325
+ i=2326
+ i=2327
+ i=2328
+ i=11499
+ i=11500
+ i=19092
+ i=58
+
+
+
+ AggregateConfiguration
+
+ i=11168
+ i=11169
+ i=11170
+ i=11171
+ i=11187
+ i=78
+ i=2318
+
+
+
+ TreatUncertainAsBad
+
+ i=68
+ i=78
+ i=3059
+
+
+
+ PercentDataBad
+
+ i=68
+ i=78
+ i=3059
+
+
+
+ PercentDataGood
+
+ i=68
+ i=78
+ i=3059
+
+
+
+ UseSlopedExtrapolation
+
+ i=68
+ i=78
+ i=3059
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=80
+ i=2318
+
+
+
+ Stepped
+
+ i=68
+ i=78
+ i=2318
+
+
+
+ Definition
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ MaxTimeInterval
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ MinTimeInterval
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ ExceptionDeviation
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ ExceptionDeviationFormat
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ StartOfArchive
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ StartOfOnlineArchive
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ ServerTimestampSupported
+
+ i=68
+ i=80
+ i=2318
+
+
+
+ HA Configuration
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.2.4
+
+ i=11203
+ i=11208
+ i=2318
+
+
+
+ AggregateConfiguration
+
+ i=11204
+ i=11205
+ i=11206
+ i=11207
+ i=11187
+ i=11202
+
+
+
+ TreatUncertainAsBad
+
+ i=68
+ i=11203
+
+
+
+ PercentDataBad
+
+ i=68
+ i=11203
+
+
+
+ PercentDataGood
+
+ i=68
+ i=11203
+
+
+
+ UseSlopedExtrapolation
+
+ i=68
+ i=11203
+
+
+
+ Stepped
+
+ i=68
+ i=11202
+
+
+
+ HistoricalEventFilter
+
+ i=68
+
+
+
+ HistoryServerCapabilitiesType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.4.2
+
+ i=2331
+ i=2332
+ i=11268
+ i=11269
+ i=2334
+ i=2335
+ i=2336
+ i=2337
+ i=2338
+ i=11278
+ i=11279
+ i=11280
+ i=11501
+ i=11270
+ i=11172
+ i=19094
+ i=58
+
+
+
+ AccessHistoryDataCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ AccessHistoryEventsCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ MaxReturnDataValues
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ MaxReturnEventValues
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ InsertDataCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ ReplaceDataCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ UpdateDataCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ DeleteRawCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ DeleteAtTimeCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ InsertEventCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ ReplaceEventCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ UpdateEventCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ DeleteEventCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ InsertAnnotationCapability
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ AggregateFunctions
+
+ i=61
+ i=78
+ i=2330
+
+
+
+ ServerTimestampSupported
+
+ i=68
+ i=78
+ i=2330
+
+
+
+ AuditHistoryEventUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.2
+
+ i=3025
+ i=3028
+ i=3003
+ i=3029
+ i=3030
+ i=2104
+
+
+
+ UpdatedNode
+
+ i=68
+ i=78
+ i=2999
+
+
+
+ PerformInsertReplace
+
+ i=68
+ i=78
+ i=2999
+
+
+
+ Filter
+
+ i=68
+ i=78
+ i=2999
+
+
+
+ NewValues
+
+ i=68
+ i=78
+ i=2999
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=2999
+
+
+
+ AuditHistoryValueUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.3
+
+ i=3026
+ i=3031
+ i=3032
+ i=3033
+ i=2104
+
+
+
+ UpdatedNode
+
+ i=68
+ i=78
+ i=3006
+
+
+
+ PerformInsertReplace
+
+ i=68
+ i=78
+ i=3006
+
+
+
+ NewValues
+
+ i=68
+ i=78
+ i=3006
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=3006
+
+
+
+ AuditHistoryAnnotationUpdateEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.4
+
+ i=19293
+ i=19294
+ i=19295
+ i=2104
+
+
+
+ PerformInsertReplace
+
+ i=68
+ i=78
+ i=19095
+
+
+
+ NewValues
+
+ i=68
+ i=78
+ i=19095
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=19095
+
+
+
+ AuditHistoryDeleteEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.5
+
+ i=3027
+ i=2104
+
+
+
+ UpdatedNode
+
+ i=68
+ i=78
+ i=3012
+
+
+
+ AuditHistoryRawModifyDeleteEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.6
+
+ i=3015
+ i=3016
+ i=3017
+ i=3034
+ i=3012
+
+
+
+ IsDeleteModified
+
+ i=68
+ i=78
+ i=3014
+
+
+
+ StartTime
+
+ i=68
+ i=78
+ i=3014
+
+
+
+ EndTime
+
+ i=68
+ i=78
+ i=3014
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=3014
+
+
+
+ AuditHistoryAtTimeDeleteEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.7
+
+ i=3020
+ i=3021
+ i=3012
+
+
+
+ ReqTimes
+
+ i=68
+ i=78
+ i=3019
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=3019
+
+
+
+ AuditHistoryEventDeleteEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.6.8
+
+ i=3023
+ i=3024
+ i=3012
+
+
+
+ EventIds
+
+ i=68
+ i=78
+ i=3022
+
+
+
+ OldValues
+
+ i=68
+ i=78
+ i=3022
+
+
+
+ TrustListType
+
+ i=12542
+ i=19296
+ i=12543
+ i=12546
+ i=12548
+ i=12550
+ i=11575
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=12522
+
+
+
+ UpdateFrequency
+
+ i=68
+ i=80
+ i=12522
+
+
+
+ OpenWithMasks
+
+ i=12544
+ i=12545
+ i=78
+ i=12522
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12543
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12543
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CloseAndUpdate
+
+ i=12705
+ i=12547
+ i=80
+ i=12522
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12546
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12546
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ AddCertificate
+
+ i=12549
+ i=80
+ i=12522
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12548
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveCertificate
+
+ i=12551
+ i=80
+ i=12522
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12550
+
+
+
+
+
+ i=297
+
+
+
+ Thumbprint
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ TrustListMasks
+
+ i=12553
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=12552
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ None
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ TrustedCertificates
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ TrustedCrls
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ IssuerCertificates
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ IssuerCrls
+
+
+
+
+
+
+ i=7616
+
+
+
+ 15
+
+ All
+
+
+
+
+
+
+
+
+ TrustListDataType
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ TrustListOutOfDateAlarmType
+
+ i=19446
+ i=19447
+ i=19448
+ i=11753
+
+
+
+ TrustListId
+
+ i=68
+ i=78
+ i=19297
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=19297
+
+
+
+ UpdateFrequency
+
+ i=68
+ i=78
+ i=19297
+
+
+
+ CertificateGroupType
+
+ i=13599
+ i=13631
+ i=19450
+ i=20143
+ i=23526
+ i=58
+
+
+
+ TrustList
+
+ i=13600
+ i=13601
+ i=13602
+ i=13603
+ i=13605
+ i=13608
+ i=13610
+ i=13613
+ i=13615
+ i=13618
+ i=13620
+ i=13621
+ i=12522
+ i=78
+ i=12555
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13599
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13599
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13599
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13599
+
+
+
+ Open
+
+ i=13606
+ i=13607
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13605
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13605
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13609
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13608
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13611
+ i=13612
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13610
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13610
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13614
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13613
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13616
+ i=13617
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13615
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13615
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13619
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13618
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13599
+
+
+
+ OpenWithMasks
+
+ i=13622
+ i=13623
+ i=78
+ i=13599
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13621
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13621
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=12555
+
+
+
+ CertificateExpired
+
+ i=19451
+ i=19452
+ i=19453
+ i=19454
+ i=19455
+ i=19456
+ i=19458
+ i=19459
+ i=19460
+ i=19461
+ i=19464
+ i=19465
+ i=19466
+ i=19467
+ i=19476
+ i=19478
+ i=19480
+ i=19482
+ i=19483
+ i=19484
+ i=19485
+ i=19487
+ i=19505
+ i=19509
+ i=19518
+ i=20101
+ i=20138
+ i=20139
+ i=20141
+ i=20142
+ i=13225
+ i=80
+ i=12555
+
+
+
+ EventId
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ EventType
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ SourceNode
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ SourceName
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Time
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ ReceiveTime
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Message
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Severity
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ ConditionClassId
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ ConditionClassName
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ ConditionName
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ BranchId
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Retain
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ EnabledState
+
+ i=19468
+ i=8995
+ i=78
+ i=19450
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=19467
+
+
+
+ Quality
+
+ i=19477
+ i=9002
+ i=78
+ i=19450
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=19476
+
+
+
+ LastSeverity
+
+ i=19479
+ i=9002
+ i=78
+ i=19450
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=19478
+
+
+
+ Comment
+
+ i=19481
+ i=9002
+ i=78
+ i=19450
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=19480
+
+
+
+ ClientUserId
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Disable
+
+ i=2803
+ i=78
+ i=19450
+
+
+
+ Enable
+
+ i=2803
+ i=78
+ i=19450
+
+
+
+ AddComment
+
+ i=19486
+ i=2829
+ i=78
+ i=19450
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=19485
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ AckedState
+
+ i=19488
+ i=8995
+ i=78
+ i=19450
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=19487
+
+
+
+ Acknowledge
+
+ i=19506
+ i=8944
+ i=78
+ i=19450
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=19505
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ ActiveState
+
+ i=19510
+ i=8995
+ i=78
+ i=19450
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=19509
+
+
+
+ InputNode
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ SuppressedOrShelved
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ NormalState
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ ExpirationDate
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ CertificateType
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ Certificate
+
+ i=68
+ i=78
+ i=19450
+
+
+
+ TrustListOutOfDate
+
+ i=20144
+ i=20145
+ i=20146
+ i=20147
+ i=20148
+ i=20149
+ i=20151
+ i=20152
+ i=20153
+ i=20154
+ i=20157
+ i=20158
+ i=20159
+ i=20160
+ i=20169
+ i=20171
+ i=20173
+ i=20175
+ i=20176
+ i=20177
+ i=20178
+ i=20180
+ i=20198
+ i=20202
+ i=20211
+ i=20249
+ i=20286
+ i=20287
+ i=20288
+ i=20289
+ i=19297
+ i=80
+ i=12555
+
+
+
+ EventId
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ EventType
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ SourceNode
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ SourceName
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ Time
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ ReceiveTime
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ Message
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ Severity
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ ConditionClassId
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ ConditionClassName
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ ConditionName
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ BranchId
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ Retain
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ EnabledState
+
+ i=20161
+ i=8995
+ i=78
+ i=20143
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=20160
+
+
+
+ Quality
+
+ i=20170
+ i=9002
+ i=78
+ i=20143
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=20169
+
+
+
+ LastSeverity
+
+ i=20172
+ i=9002
+ i=78
+ i=20143
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=20171
+
+
+
+ Comment
+
+ i=20174
+ i=9002
+ i=78
+ i=20143
+
+
+
+ SourceTimestamp
+
+ i=68
+ i=78
+ i=20173
+
+
+
+ ClientUserId
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ Disable
+
+ i=2803
+ i=78
+ i=20143
+
+
+
+ Enable
+
+ i=2803
+ i=78
+ i=20143
+
+
+
+ AddComment
+
+ i=20179
+ i=2829
+ i=78
+ i=20143
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=20178
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ AckedState
+
+ i=20181
+ i=8995
+ i=78
+ i=20143
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=20180
+
+
+
+ Acknowledge
+
+ i=20199
+ i=8944
+ i=78
+ i=20143
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=20198
+
+
+
+
+
+ i=297
+
+
+
+ EventId
+
+ i=15
+
+ -1
+
+
+ The identifier for the event to comment.
+
+
+
+
+
+
+ i=297
+
+
+
+ Comment
+
+ i=21
+
+ -1
+
+
+ The comment to add to the condition.
+
+
+
+
+
+
+
+
+ ActiveState
+
+ i=20203
+ i=8995
+ i=78
+ i=20143
+
+
+
+ Id
+
+ i=68
+ i=78
+ i=20202
+
+
+
+ InputNode
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ SuppressedOrShelved
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ NormalState
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ TrustListId
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ UpdateFrequency
+
+ i=68
+ i=78
+ i=20143
+
+
+
+ GetRejectedList
+
+ i=23527
+ i=80
+ i=12555
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=23526
+
+
+
+
+
+ i=297
+
+
+
+ Certificates
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ CertificateGroupFolderType
+
+ i=13814
+ i=13848
+ i=13882
+ i=13916
+ i=61
+
+
+
+ DefaultApplicationGroup
+
+ i=13815
+ i=13847
+ i=12555
+ i=78
+ i=13813
+
+
+
+ TrustList
+
+ i=13816
+ i=13817
+ i=13818
+ i=13819
+ i=13821
+ i=13824
+ i=13826
+ i=13829
+ i=13831
+ i=13834
+ i=13836
+ i=13837
+ i=12522
+ i=78
+ i=13814
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13815
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13815
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13815
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13815
+
+
+
+ Open
+
+ i=13822
+ i=13823
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13821
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13821
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13825
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13824
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13827
+ i=13828
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13826
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13826
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13830
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13829
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13832
+ i=13833
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13831
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13831
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13835
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13834
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13815
+
+
+
+ OpenWithMasks
+
+ i=13838
+ i=13839
+ i=78
+ i=13815
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13837
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13837
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=13814
+
+
+
+ DefaultHttpsGroup
+
+ i=13849
+ i=13881
+ i=12555
+ i=80
+ i=13813
+
+
+
+ TrustList
+
+ i=13850
+ i=13851
+ i=13852
+ i=13853
+ i=13855
+ i=13858
+ i=13860
+ i=13863
+ i=13865
+ i=13868
+ i=13870
+ i=13871
+ i=12522
+ i=78
+ i=13848
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13849
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13849
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13849
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13849
+
+
+
+ Open
+
+ i=13856
+ i=13857
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13855
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13855
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13859
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13858
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13861
+ i=13862
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13860
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13860
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13864
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13863
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13866
+ i=13867
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13865
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13865
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13869
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13868
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13849
+
+
+
+ OpenWithMasks
+
+ i=13872
+ i=13873
+ i=78
+ i=13849
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13871
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13871
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=13848
+
+
+
+ DefaultUserTokenGroup
+
+ i=13883
+ i=13915
+ i=12555
+ i=80
+ i=13813
+
+
+
+ TrustList
+
+ i=13884
+ i=13885
+ i=13886
+ i=13887
+ i=13889
+ i=13892
+ i=13894
+ i=13897
+ i=13899
+ i=13902
+ i=13904
+ i=13905
+ i=12522
+ i=78
+ i=13882
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13883
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13883
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13883
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13883
+
+
+
+ Open
+
+ i=13890
+ i=13891
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13889
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13889
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13893
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13892
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13895
+ i=13896
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13894
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13894
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13898
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13897
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13900
+ i=13901
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13899
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13899
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13903
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13902
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13883
+
+
+
+ OpenWithMasks
+
+ i=13906
+ i=13907
+ i=78
+ i=13883
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13905
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13905
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=13882
+
+
+
+ <AdditionalGroup>
+
+ i=13917
+ i=13949
+ i=12555
+ i=11508
+ i=13813
+
+
+
+ TrustList
+
+ i=13918
+ i=13919
+ i=13920
+ i=13921
+ i=13923
+ i=13926
+ i=13928
+ i=13931
+ i=13933
+ i=13936
+ i=13938
+ i=13939
+ i=12522
+ i=78
+ i=13916
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13917
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13917
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13917
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13917
+
+
+
+ Open
+
+ i=13924
+ i=13925
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13923
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13923
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13927
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13926
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13929
+ i=13930
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13928
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13928
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13932
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13931
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13934
+ i=13935
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13933
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13933
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13937
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13936
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13917
+
+
+
+ OpenWithMasks
+
+ i=13940
+ i=13941
+ i=78
+ i=13917
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13939
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13939
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=13916
+
+
+
+ CertificateType
+
+ i=58
+
+
+
+ ApplicationCertificateType
+
+ i=12556
+
+
+
+ HttpsCertificateType
+
+ i=12556
+
+
+
+ UserCredentialCertificateType
+
+ i=12556
+
+
+
+ RsaMinApplicationCertificateType
+
+ i=12557
+
+
+
+ RsaSha256ApplicationCertificateType
+
+ i=12557
+
+
+
+ EccApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=12557
+
+
+
+ EccNistP256ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ EccNistP384ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ EccBrainpoolP256r1ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ EccBrainpoolP384r1ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ EccCurve25519ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ EccCurve448ApplicationCertificateType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=23537
+
+
+
+ TrustListUpdatedAuditEventType
+
+ i=2127
+
+
+
+ ServerConfigurationType
+
+ i=13950
+ i=12708
+ i=12583
+ i=12584
+ i=12585
+ i=12616
+ i=12734
+ i=12731
+ i=12775
+ i=58
+
+
+
+ CertificateGroups
+
+ i=13951
+ i=13813
+ i=78
+ i=12581
+
+
+
+ DefaultApplicationGroup
+
+ i=13952
+ i=13984
+ i=12555
+ i=78
+ i=13950
+
+
+
+ TrustList
+
+ i=13953
+ i=13954
+ i=13955
+ i=13956
+ i=13958
+ i=13961
+ i=13963
+ i=13966
+ i=13968
+ i=13971
+ i=13973
+ i=13974
+ i=12522
+ i=78
+ i=13951
+
+
+
+ Size
+
+ i=68
+ i=78
+ i=13952
+
+
+
+ Writable
+
+ i=68
+ i=78
+ i=13952
+
+
+
+ UserWritable
+
+ i=68
+ i=78
+ i=13952
+
+
+
+ OpenCount
+
+ i=68
+ i=78
+ i=13952
+
+
+
+ Open
+
+ i=13959
+ i=13960
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13958
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13958
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=13962
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13961
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=13964
+ i=13965
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13963
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13963
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=13967
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13966
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=13969
+ i=13970
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13968
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13968
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=13972
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13971
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=78
+ i=13952
+
+
+
+ OpenWithMasks
+
+ i=13975
+ i=13976
+ i=78
+ i=13952
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=13974
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=13974
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=78
+ i=13951
+
+
+
+ ServerCapabilities
+
+ i=68
+ i=78
+ i=12581
+
+
+
+ SupportedPrivateKeyFormats
+
+ i=68
+ i=78
+ i=12581
+
+
+
+ MaxTrustListSize
+
+ i=68
+ i=78
+ i=12581
+
+
+
+ MulticastDnsEnabled
+
+ i=68
+ i=78
+ i=12581
+
+
+
+ UpdateCertificate
+
+ i=12617
+ i=12618
+ i=78
+ i=12581
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12616
+
+
+
+
+
+ i=297
+
+
+
+ CertificateGroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CertificateTypeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IssuerCertificates
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ PrivateKeyFormat
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ PrivateKey
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12616
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ ApplyChanges
+
+ i=78
+ i=12581
+
+
+
+ CreateSigningRequest
+
+ i=12732
+ i=12733
+ i=78
+ i=12581
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=12731
+
+
+
+
+
+ i=297
+
+
+
+ CertificateGroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CertificateTypeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SubjectName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RegeneratePrivateKey
+
+ i=1
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Nonce
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12731
+
+
+
+
+
+ i=297
+
+
+
+ CertificateRequest
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetRejectedList
+
+ i=12776
+ i=78
+ i=12581
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=12775
+
+
+
+
+
+ i=297
+
+
+
+ Certificates
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ CertificateUpdatedAuditEventType
+
+ i=13735
+ i=13736
+ i=2127
+
+
+
+ CertificateGroup
+
+ i=68
+ i=78
+ i=12620
+
+
+
+ CertificateType
+
+ i=68
+ i=78
+ i=12620
+
+
+
+ ServerConfiguration
+
+ i=14053
+ i=12710
+ i=12639
+ i=12640
+ i=12641
+ i=13737
+ i=12740
+ i=12737
+ i=12777
+ i=2253
+ i=12581
+
+
+
+ CertificateGroups
+
+ i=14156
+ i=14088
+ i=14122
+ i=13813
+ i=12637
+
+
+
+ DefaultApplicationGroup
+
+ i=12642
+ i=14161
+ i=12555
+ i=14053
+
+
+
+ TrustList
+
+ i=12643
+ i=14157
+ i=14158
+ i=12646
+ i=12647
+ i=12650
+ i=12652
+ i=12655
+ i=12657
+ i=12660
+ i=12662
+ i=12663
+ i=12666
+ i=12668
+ i=12670
+ i=12522
+ i=14156
+
+
+
+ Size
+
+ i=68
+ i=12642
+
+
+
+ Writable
+
+ i=68
+ i=12642
+
+
+
+ UserWritable
+
+ i=68
+ i=12642
+
+
+
+ OpenCount
+
+ i=68
+ i=12642
+
+
+
+ Open
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.1
+
+ i=12648
+ i=12649
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12647
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12647
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.2
+
+ i=12651
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12650
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.3
+
+ i=12653
+ i=12654
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12652
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12652
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.4
+
+ i=12656
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12655
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.5
+
+ i=12658
+ i=12659
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12657
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12657
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/C.2.6
+
+ i=12661
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12660
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=12642
+
+
+
+ OpenWithMasks
+
+ i=12664
+ i=12665
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12663
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12663
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CloseAndUpdate
+
+ i=14160
+ i=12667
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12666
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12666
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ AddCertificate
+
+ i=12669
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12668
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveCertificate
+
+ i=12671
+ i=12642
+
+
+
+ InputArguments
+
+ i=68
+ i=12670
+
+
+
+
+
+ i=297
+
+
+
+ Thumbprint
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=14156
+
+
+
+ DefaultHttpsGroup
+
+ i=14089
+ i=14121
+ i=12555
+ i=14053
+
+
+
+ TrustList
+
+ i=14090
+ i=14091
+ i=14092
+ i=14093
+ i=14095
+ i=14098
+ i=14100
+ i=14103
+ i=14105
+ i=14108
+ i=14110
+ i=14111
+ i=14114
+ i=14117
+ i=14119
+ i=12522
+ i=14088
+
+
+
+ Size
+
+ i=68
+ i=14089
+
+
+
+ Writable
+
+ i=68
+ i=14089
+
+
+
+ UserWritable
+
+ i=68
+ i=14089
+
+
+
+ OpenCount
+
+ i=68
+ i=14089
+
+
+
+ Open
+
+ i=14096
+ i=14097
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14095
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14095
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=14099
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14098
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=14101
+ i=14102
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14100
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14100
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=14104
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14103
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=14106
+ i=14107
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14105
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14105
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=14109
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14108
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=14089
+
+
+
+ OpenWithMasks
+
+ i=14112
+ i=14113
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14111
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14111
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CloseAndUpdate
+
+ i=14115
+ i=14116
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14114
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14114
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ AddCertificate
+
+ i=14118
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14117
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveCertificate
+
+ i=14120
+ i=14089
+
+
+
+ InputArguments
+
+ i=68
+ i=14119
+
+
+
+
+
+ i=297
+
+
+
+ Thumbprint
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=14088
+
+
+
+ DefaultUserTokenGroup
+
+ i=14123
+ i=14155
+ i=12555
+ i=14053
+
+
+
+ TrustList
+
+ i=14124
+ i=14125
+ i=14126
+ i=14127
+ i=14129
+ i=14132
+ i=14134
+ i=14137
+ i=14139
+ i=14142
+ i=14144
+ i=14145
+ i=14148
+ i=14151
+ i=14153
+ i=12522
+ i=14122
+
+
+
+ Size
+
+ i=68
+ i=14123
+
+
+
+ Writable
+
+ i=68
+ i=14123
+
+
+
+ UserWritable
+
+ i=68
+ i=14123
+
+
+
+ OpenCount
+
+ i=68
+ i=14123
+
+
+
+ Open
+
+ i=14130
+ i=14131
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14129
+
+
+
+
+
+ i=297
+
+
+
+ Mode
+
+ i=3
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14129
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Close
+
+ i=14133
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14132
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ Read
+
+ i=14135
+ i=14136
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14134
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Length
+
+ i=6
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14134
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ Write
+
+ i=14138
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14137
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Data
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetPosition
+
+ i=14140
+ i=14141
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14139
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14139
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ SetPosition
+
+ i=14143
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14142
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Position
+
+ i=9
+
+ -1
+
+
+
+
+
+
+
+
+ LastUpdateTime
+
+ i=68
+ i=14123
+
+
+
+ OpenWithMasks
+
+ i=14146
+ i=14147
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14145
+
+
+
+
+
+ i=297
+
+
+
+ Masks
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14145
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ CloseAndUpdate
+
+ i=14149
+ i=14150
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14148
+
+
+
+
+
+ i=297
+
+
+
+ FileHandle
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=14148
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ AddCertificate
+
+ i=14152
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14151
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveCertificate
+
+ i=14154
+ i=14123
+
+
+
+ InputArguments
+
+ i=68
+ i=14153
+
+
+
+
+
+ i=297
+
+
+
+ Thumbprint
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IsTrustedCertificate
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ CertificateTypes
+
+ i=68
+ i=14122
+
+
+
+ ServerCapabilities
+
+ i=68
+ i=12637
+
+
+
+ SupportedPrivateKeyFormats
+
+ i=68
+ i=12637
+
+
+
+ MaxTrustListSize
+
+ i=68
+ i=12637
+
+
+
+ MulticastDnsEnabled
+
+ i=68
+ i=12637
+
+
+
+ UpdateCertificate
+
+ i=13738
+ i=13739
+ i=12637
+
+
+
+ InputArguments
+
+ i=68
+ i=13737
+
+
+
+
+
+ i=297
+
+
+
+ CertificateGroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CertificateTypeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Certificate
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ IssuerCertificates
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ PrivateKeyFormat
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ PrivateKey
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=13737
+
+
+
+
+
+ i=297
+
+
+
+ ApplyChangesRequired
+
+ i=1
+
+ -1
+
+
+
+
+
+
+
+
+ ApplyChanges
+
+ i=12637
+
+
+
+ CreateSigningRequest
+
+ i=12738
+ i=12739
+ i=12637
+
+
+
+ InputArguments
+
+ i=68
+ i=12737
+
+
+
+
+
+ i=297
+
+
+
+ CertificateGroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CertificateTypeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SubjectName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RegeneratePrivateKey
+
+ i=1
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Nonce
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=12737
+
+
+
+
+
+ i=297
+
+
+
+ CertificateRequest
+
+ i=15
+
+ -1
+
+
+
+
+
+
+
+
+ GetRejectedList
+
+ i=12778
+ i=12637
+
+
+
+ OutputArguments
+
+ i=68
+ i=12777
+
+
+
+
+
+ i=297
+
+
+
+ Certificates
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ KeyCredentialConfigurationFolderType
+
+ i=17511
+ i=17522
+ i=61
+
+
+
+ <ServiceName>
+
+ i=17512
+ i=17513
+ i=18001
+ i=11508
+ i=17496
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=17511
+
+
+
+ ProfileUri
+
+ i=68
+ i=78
+ i=17511
+
+
+
+ CreateCredential
+
+ i=17523
+ i=17524
+ i=80
+ i=17496
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17522
+
+
+
+
+
+ i=297
+
+
+
+ ResourceUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ProfileUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EndpointUrls
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17522
+
+
+
+
+
+ i=297
+
+
+
+ CredentialNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ KeyCredentialConfiguration
+
+ i=12637
+ i=17496
+
+
+
+ KeyCredentialConfigurationType
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.7
+
+ i=18069
+ i=18165
+ i=18004
+ i=18005
+ i=17534
+ i=18006
+ i=18008
+ i=58
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=18001
+
+
+
+ ProfileUri
+
+ i=68
+ i=78
+ i=18001
+
+
+
+ EndpointUrls
+
+ i=68
+ i=80
+ i=18001
+
+
+
+ ServiceStatus
+
+ i=68
+ i=80
+ i=18001
+
+
+
+ GetEncryptingKey
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4/8.5.8
+
+ i=17535
+ i=17536
+ i=80
+ i=18001
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17534
+
+
+
+
+
+ i=297
+
+
+
+ CredentialId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestedSecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17534
+
+
+
+
+
+ i=297
+
+
+
+ PublicKey
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RevisedSecurityPolicyUri
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ UpdateCredential
+ https://reference.opcfoundation.org/v104/Core/docs/Amendment4//#6.7.2.5
+
+ i=18007
+ i=80
+ i=18001
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=18006
+
+
+
+
+
+ i=297
+
+
+
+ CredentialId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CredentialSecret
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CertificateThumbprint
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ DeleteCredential
+
+ i=80
+ i=18001
+
+
+
+ KeyCredentialAuditEventType
+
+ i=18028
+ i=2127
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=18011
+
+
+
+ KeyCredentialUpdatedAuditEventType
+
+ i=18011
+
+
+
+ KeyCredentialDeletedAuditEventType
+
+ i=18011
+
+
+
+ AuthorizationServicesConfigurationFolderType
+
+ i=23557
+ i=61
+
+
+
+ <ServiceName>
+
+ i=23558
+ i=23559
+ i=23560
+ i=17852
+ i=11508
+ i=23556
+
+
+
+ ServiceUri
+
+ i=68
+ i=78
+ i=23557
+
+
+
+ ServiceCertificate
+
+ i=68
+ i=78
+ i=23557
+
+
+
+ IssuerEndpointUrl
+
+ i=68
+ i=78
+ i=23557
+
+
+
+ AuthorizationServices
+
+ i=12637
+ i=61
+
+
+
+ AuthorizationServiceConfigurationType
+
+ i=18072
+ i=17860
+ i=18073
+ i=58
+
+
+
+ ServiceUri
+
+ i=68
+ i=78
+ i=17852
+
+
+
+ ServiceCertificate
+
+ i=68
+ i=78
+ i=17852
+
+
+
+ IssuerEndpointUrl
+
+ i=68
+ i=78
+ i=17852
+
+
+
+ AggregateConfigurationType
+
+ i=11188
+ i=11189
+ i=11190
+ i=11191
+ i=58
+
+
+
+ TreatUncertainAsBad
+
+ i=68
+ i=78
+ i=11187
+
+
+
+ PercentDataBad
+
+ i=68
+ i=78
+ i=11187
+
+
+
+ PercentDataGood
+
+ i=68
+ i=78
+ i=11187
+
+
+
+ UseSlopedExtrapolation
+
+ i=68
+ i=78
+ i=11187
+
+
+
+ Interpolative
+
+ i=2340
+
+
+
+ Average
+
+ i=2340
+
+
+
+ TimeAverage
+
+ i=2340
+
+
+
+ TimeAverage2
+
+ i=2340
+
+
+
+ Total
+
+ i=2340
+
+
+
+ Total2
+
+ i=2340
+
+
+
+ Minimum
+
+ i=2340
+
+
+
+ Maximum
+
+ i=2340
+
+
+
+ MinimumActualTime
+
+ i=2340
+
+
+
+ MaximumActualTime
+
+ i=2340
+
+
+
+ Range
+
+ i=2340
+
+
+
+ Minimum2
+
+ i=2340
+
+
+
+ Maximum2
+
+ i=2340
+
+
+
+ MinimumActualTime2
+
+ i=2340
+
+
+
+ MaximumActualTime2
+
+ i=2340
+
+
+
+ Range2
+
+ i=2340
+
+
+
+ AnnotationCount
+
+ i=2340
+
+
+
+ Count
+
+ i=2340
+
+
+
+ DurationInStateZero
+
+ i=2340
+
+
+
+ DurationInStateNonZero
+
+ i=2340
+
+
+
+ NumberOfTransitions
+
+ i=2340
+
+
+
+ Start
+
+ i=2340
+
+
+
+ End
+
+ i=2340
+
+
+
+ Delta
+
+ i=2340
+
+
+
+ StartBound
+
+ i=2340
+
+
+
+ EndBound
+
+ i=2340
+
+
+
+ DeltaBounds
+
+ i=2340
+
+
+
+ DurationGood
+
+ i=2340
+
+
+
+ DurationBad
+
+ i=2340
+
+
+
+ PercentGood
+
+ i=2340
+
+
+
+ PercentBad
+
+ i=2340
+
+
+
+ WorstQuality
+
+ i=2340
+
+
+
+ WorstQuality2
+
+ i=2340
+
+
+
+ StandardDeviationSample
+
+ i=2340
+
+
+
+ StandardDeviationPopulation
+
+ i=2340
+
+
+
+ VarianceSample
+
+ i=2340
+
+
+
+ VariancePopulation
+
+ i=2340
+
+
+
+ DecimalDataType
+
+ i=22
+
+
+
+
+
+
+
+ DataTypeSchemaHeader
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.1.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+ DataTypeDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.1.2
+
+ i=22
+
+
+
+
+
+
+
+ StructureDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.1.3
+
+ i=14525
+
+
+
+
+
+
+ EnumDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.1.4
+
+ i=14525
+
+
+
+
+
+
+
+ SimpleTypeDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.1.5
+
+ i=14525
+
+
+
+
+
+
+
+ UABinaryFileDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.2
+
+ i=15534
+
+
+
+
+
+
+
+
+ PubSubState
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.1
+
+ i=14648
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=14647
+
+
+
+
+ Disabled
+
+
+ Paused
+
+
+ Operational
+
+
+ Error
+
+
+ PreOperational
+
+
+
+
+
+ DataSetMetaDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.1.2
+
+ i=15534
+
+
+
+
+
+
+
+
+
+
+ FieldMetaData
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.1.3
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DataSetFieldFlags
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.1.4
+
+ i=15577
+ i=5
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15904
+
+
+
+
+ PromotedField
+
+
+
+
+
+ ConfigurationVersionDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.1.5
+
+ i=22
+
+
+
+
+
+
+
+ PublishedDataSetDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.4
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ PublishedDataSetSourceDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.5
+
+ i=22
+
+
+
+
+ PublishedVariableDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.6.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PublishedDataItemsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.6.2
+
+ i=15580
+
+
+
+
+
+
+ PublishedEventsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.2/#6.2.2.7.4
+
+ i=15580
+
+
+
+
+
+
+
+
+ DataSetFieldContentMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.3/#6.2.3.2
+
+ i=15584
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15583
+
+
+
+
+ StatusCode
+
+
+ SourceTimestamp
+
+
+ ServerTimestamp
+
+
+ SourcePicoSeconds
+
+
+ ServerPicoSeconds
+
+
+ RawData
+
+
+
+
+
+ DataSetWriterDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.3/#6.2.3.5.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DataSetWriterTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.3/#6.2.3.5.2
+
+ i=22
+
+
+
+
+ DataSetWriterMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.3/#6.2.3.5.3
+
+ i=22
+
+
+
+
+ PubSubGroupDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.4/#6.2.4.7
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ WriterGroupDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.5/#6.2.5.6.1
+
+ i=15609
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WriterGroupTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.5/#6.2.5.6.2
+
+ i=22
+
+
+
+
+ WriterGroupMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.5/#6.2.5.6.3
+
+ i=22
+
+
+
+
+ PubSubConnectionDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.6/#6.2.6.5.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ConnectionTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.6/#6.2.6.5.2
+
+ i=22
+
+
+
+
+ NetworkAddressDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.6/#6.2.6.5.3
+
+ i=22
+
+
+
+
+
+
+ NetworkAddressUrlDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.6/#6.2.6.5.4
+
+ i=15502
+
+
+
+
+
+
+ ReaderGroupDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.7/#6.2.7.2.1
+
+ i=15609
+
+
+
+
+
+
+
+
+ ReaderGroupTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.7/#6.2.7.2.2
+
+ i=22
+
+
+
+
+ ReaderGroupMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.7/#6.2.7.2.3
+
+ i=22
+
+
+
+
+ DataSetReaderDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.8/#6.2.8.11.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DataSetReaderTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.8/#6.2.8.11.2
+
+ i=22
+
+
+
+
+ DataSetReaderMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.8/#6.2.8.11.3
+
+ i=22
+
+
+
+
+ SubscribedDataSetDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.9/#6.2.9.1
+
+ i=22
+
+
+
+
+ TargetVariablesDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.9/#6.2.9.2.2
+
+ i=15630
+
+
+
+
+
+
+ FieldTargetDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.9/#6.2.9.2.3
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ OverrideValueHandling
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.9/#6.2.9.2.4
+
+ i=15875
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=15874
+
+
+
+
+ Disabled
+
+
+ LastUsableValue
+
+
+ OverrideValue
+
+
+
+
+
+ SubscribedDataSetMirrorDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.9/#6.2.9.3.3
+
+ i=15630
+
+
+
+
+
+
+
+ PubSubConfigurationDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.2.11
+
+ i=22
+
+
+
+
+
+
+
+
+ DataSetOrderingType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.1.3
+
+ i=15641
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=20408
+
+
+
+
+ Undefined
+
+
+ AscendingWriterId
+
+
+ AscendingWriterIdSingle
+
+
+
+
+
+ UadpNetworkMessageContentMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.1.4
+
+ i=15643
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15642
+
+
+
+
+ PublisherId
+
+
+ GroupHeader
+
+
+ WriterGroupId
+
+
+ GroupVersion
+
+
+ NetworkMessageNumber
+
+
+ SequenceNumber
+
+
+ PayloadHeader
+
+
+ Timestamp
+
+
+ PicoSeconds
+
+
+ DataSetClassId
+
+
+ PromotedFields
+
+
+
+
+
+ UadpWriterGroupMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.1.7
+
+ i=15616
+
+
+
+
+
+
+
+
+
+
+ UadpDataSetMessageContentMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.2.2
+
+ i=15647
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15646
+
+
+
+
+ Timestamp
+
+
+ PicoSeconds
+
+
+ Status
+
+
+ MajorVersion
+
+
+ MinorVersion
+
+
+ SequenceNumber
+
+
+
+
+
+ UadpDataSetWriterMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.2.6
+
+ i=15605
+
+
+
+
+
+
+
+
+
+ UadpDataSetReaderMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.1/#6.3.1.3.10
+
+ i=15629
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JsonNetworkMessageContentMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.2/#6.3.2.1.1
+
+ i=15655
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15654
+
+
+
+
+ NetworkMessageHeader
+
+
+ DataSetMessageHeader
+
+
+ SingleDataSetMessage
+
+
+ PublisherId
+
+
+ DataSetClassId
+
+
+ ReplyTo
+
+
+
+
+
+ JsonWriterGroupMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.2/#6.3.2.1.2
+
+ i=15616
+
+
+
+
+
+
+ JsonDataSetMessageContentMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.2/#6.3.2.2.1
+
+ i=15659
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15658
+
+
+
+
+ DataSetWriterId
+
+
+ MetaDataVersion
+
+
+ SequenceNumber
+
+
+ Timestamp
+
+
+ Status
+
+
+ MessageType
+
+
+
+
+
+ JsonDataSetWriterMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.2/#6.3.2.2.2
+
+ i=15605
+
+
+
+
+
+
+ JsonDataSetReaderMessageDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.3.2/#6.3.2.3.3
+
+ i=15629
+
+
+
+
+
+
+
+ DatagramConnectionTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.1/#6.4.1.1.2
+
+ i=15618
+
+
+
+
+
+
+ DatagramWriterGroupTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.1/#6.4.1.2.3
+
+ i=15611
+
+
+
+
+
+
+
+ BrokerConnectionTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.2/#6.4.2.1.3
+
+ i=15618
+
+
+
+
+
+
+
+ BrokerTransportQualityOfService
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.2/#6.4.2.2.5
+
+ i=15009
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=15008
+
+
+
+
+ NotSpecified
+
+
+ BestEffort
+
+
+ AtLeastOnce
+
+
+ AtMostOnce
+
+
+ ExactlyOnce
+
+
+
+
+
+ BrokerWriterGroupTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.2/#6.4.2.2.6
+
+ i=15611
+
+
+
+
+
+
+
+
+
+ BrokerDataSetWriterTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.2/#6.4.2.3.7
+
+ i=15598
+
+
+
+
+
+
+
+
+
+
+
+ BrokerDataSetReaderTransportDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/6.4.2/#6.4.2.4.6
+
+ i=15628
+
+
+
+
+
+
+
+
+
+
+ PubSubKeyServiceType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/8.3
+
+ i=15907
+ i=15910
+ i=15913
+ i=58
+
+
+
+ GetSecurityKeys
+
+ i=15908
+ i=15909
+ i=80
+ i=15906
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15907
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ StartingTokenId
+
+ i=288
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestedKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15907
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FirstTokenId
+
+ i=288
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Keys
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ TimeToNextKey
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+
+
+ GetSecurityGroup
+
+ i=15911
+ i=15912
+ i=80
+ i=15906
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15910
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15910
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ SecurityGroups
+
+ i=15914
+ i=15917
+ i=15452
+ i=80
+ i=15906
+
+
+
+ AddSecurityGroup
+
+ i=15915
+ i=15916
+ i=78
+ i=15913
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15914
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxFutureKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxPastKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15914
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveSecurityGroup
+
+ i=15918
+ i=78
+ i=15913
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15917
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ SecurityGroupFolderType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/8.7
+
+ i=15453
+ i=15459
+ i=15461
+ i=15464
+ i=61
+
+
+
+ <SecurityGroupFolderName>
+
+ i=15454
+ i=15457
+ i=15452
+ i=11508
+ i=15452
+
+
+
+ AddSecurityGroup
+
+ i=15455
+ i=15456
+ i=78
+ i=15453
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15454
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxFutureKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxPastKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15454
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveSecurityGroup
+
+ i=15458
+ i=78
+ i=15453
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15457
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ <SecurityGroupName>
+
+ i=15460
+ i=15010
+ i=15011
+ i=15012
+ i=15043
+ i=15471
+ i=11508
+ i=15452
+
+
+
+ SecurityGroupId
+
+ i=68
+ i=78
+ i=15459
+
+
+
+ KeyLifetime
+
+ i=68
+ i=78
+ i=15459
+
+
+
+ SecurityPolicyUri
+
+ i=68
+ i=78
+ i=15459
+
+
+
+ MaxFutureKeyCount
+
+ i=68
+ i=78
+ i=15459
+
+
+
+ MaxPastKeyCount
+
+ i=68
+ i=78
+ i=15459
+
+
+
+ AddSecurityGroup
+
+ i=15462
+ i=15463
+ i=78
+ i=15452
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15461
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxFutureKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxPastKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15461
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveSecurityGroup
+
+ i=15465
+ i=78
+ i=15452
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15464
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ SecurityGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/8.6
+
+ i=15472
+ i=15046
+ i=15047
+ i=15048
+ i=15056
+ i=58
+
+
+
+ SecurityGroupId
+
+ i=68
+ i=78
+ i=15471
+
+
+
+ KeyLifetime
+
+ i=68
+ i=78
+ i=15471
+
+
+
+ SecurityPolicyUri
+
+ i=68
+ i=78
+ i=15471
+
+
+
+ MaxFutureKeyCount
+
+ i=68
+ i=78
+ i=15471
+
+
+
+ MaxPastKeyCount
+
+ i=68
+ i=78
+ i=15471
+
+
+
+ PublishSubscribeType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.3/#9.1.3.2
+
+ i=14417
+ i=17296
+ i=16598
+ i=14432
+ i=14434
+ i=15844
+ i=18715
+ i=17479
+ i=15906
+
+
+
+ <ConnectionName>
+
+ i=14418
+ i=17292
+ i=17478
+ i=14423
+ i=14419
+ i=14209
+ i=11508
+ i=14416
+
+
+
+ PublisherId
+
+ i=68
+ i=78
+ i=14417
+
+
+
+ TransportProfileUri
+
+ i=17706
+ i=16309
+ i=78
+ i=14417
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=17292
+
+
+
+ ConnectionProperties
+
+ i=68
+ i=78
+ i=14417
+
+
+
+ Address
+
+ i=15533
+ i=21145
+ i=78
+ i=14417
+
+
+
+ NetworkInterface
+
+ i=17503
+ i=16309
+ i=78
+ i=14423
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=15533
+
+
+
+ Status
+
+ i=14420
+ i=14643
+ i=78
+ i=14417
+
+
+
+ State
+
+ i=63
+ i=78
+ i=14419
+
+
+
+ SetSecurityKeys
+
+ i=17297
+ i=80
+ i=14416
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17296
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CurrentTokenId
+
+ i=288
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ CurrentKey
+
+ i=15
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FutureKeys
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ TimeToNextKey
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+
+
+ AddConnection
+
+ i=16599
+ i=16600
+ i=80
+ i=14416
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16598
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15617
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16598
+
+
+
+
+
+ i=297
+
+
+
+ ConnectionId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveConnection
+
+ i=14433
+ i=80
+ i=14416
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14432
+
+
+
+
+
+ i=297
+
+
+
+ ConnectionId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ PublishedDataSets
+
+ i=14477
+ i=78
+ i=14416
+
+
+
+ Status
+
+ i=15845
+ i=14643
+ i=78
+ i=14416
+
+
+
+ State
+
+ i=63
+ i=78
+ i=15844
+
+
+
+ Diagnostics
+
+ i=18716
+ i=18717
+ i=18722
+ i=18727
+ i=18728
+ i=18729
+ i=18760
+ i=19732
+ i=80
+ i=14416
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=18715
+
+
+
+ TotalInformation
+
+ i=18718
+ i=18719
+ i=18720
+ i=19725
+ i=78
+ i=18715
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18717
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18717
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18717
+
+
+
+ TotalError
+
+ i=18723
+ i=18724
+ i=18725
+ i=19725
+ i=78
+ i=18715
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18722
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18722
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18722
+
+
+
+ Reset
+
+ i=78
+ i=18715
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=18715
+
+
+
+ Counters
+
+ i=18730
+ i=18735
+ i=18740
+ i=18745
+ i=18750
+ i=18755
+ i=58
+ i=78
+ i=18715
+
+
+
+ StateError
+
+ i=18731
+ i=18732
+ i=18733
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18730
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18730
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18730
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=18736
+ i=18737
+ i=18738
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18735
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18735
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18735
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=18741
+ i=18742
+ i=18743
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18740
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18740
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18740
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=18746
+ i=18747
+ i=18748
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18745
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18745
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18745
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=18751
+ i=18752
+ i=18753
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18750
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18750
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18750
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=18756
+ i=18757
+ i=18758
+ i=19725
+ i=78
+ i=18729
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=18755
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=18755
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18755
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=18761
+ i=18763
+ i=18765
+ i=18767
+ i=58
+ i=78
+ i=18715
+
+
+
+ ConfiguredDataSetWriters
+
+ i=18762
+ i=63
+ i=78
+ i=18760
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18761
+
+
+ 0
+
+
+
+ ConfiguredDataSetReaders
+
+ i=18764
+ i=63
+ i=78
+ i=18760
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18763
+
+
+ 0
+
+
+
+ OperationalDataSetWriters
+
+ i=18766
+ i=63
+ i=78
+ i=18760
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18765
+
+
+ 0
+
+
+
+ OperationalDataSetReaders
+
+ i=18768
+ i=63
+ i=78
+ i=18760
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=18767
+
+
+ 0
+
+
+
+ SupportedTransportProfiles
+
+ i=68
+ i=78
+ i=14416
+
+
+
+ PublishSubscribe
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/8.2
+
+ i=15215
+ i=15440
+ i=15443
+ i=17366
+ i=17369
+ i=17371
+ i=17405
+ i=17409
+ i=17481
+ i=2253
+ i=14416
+
+
+
+ GetSecurityKeys
+
+ i=15216
+ i=15217
+ i=14443
+
+
+
+ InputArguments
+
+ i=68
+ i=15215
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ StartingTokenId
+
+ i=288
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RequestedKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=15215
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FirstTokenId
+
+ i=288
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ Keys
+
+ i=15
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ TimeToNextKey
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+
+
+ GetSecurityGroup
+
+ i=15441
+ i=15442
+ i=14443
+
+
+
+ InputArguments
+
+ i=68
+ i=15440
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=15440
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ SecurityGroups
+
+ i=15444
+ i=15447
+ i=15452
+ i=14443
+
+
+
+ AddSecurityGroup
+
+ i=15445
+ i=15446
+ i=15443
+
+
+
+ InputArguments
+
+ i=68
+ i=15444
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ KeyLifetime
+
+ i=290
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityPolicyUri
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxFutureKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ MaxPastKeyCount
+
+ i=7
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=15444
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupId
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveSecurityGroup
+
+ i=15448
+ i=15443
+
+
+
+ InputArguments
+
+ i=68
+ i=15447
+
+
+
+
+
+ i=297
+
+
+
+ SecurityGroupNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddConnection
+
+ i=17367
+ i=17368
+ i=14443
+
+
+
+ InputArguments
+
+ i=68
+ i=17366
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15617
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=17366
+
+
+
+
+
+ i=297
+
+
+
+ ConnectionId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveConnection
+
+ i=17370
+ i=14443
+
+
+
+ InputArguments
+
+ i=68
+ i=17369
+
+
+
+
+
+ i=297
+
+
+
+ ConnectionId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ PublishedDataSets
+
+ i=14477
+ i=14443
+
+
+
+ Status
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.10/#9.1.10.4
+
+ i=17406
+ i=14643
+ i=14443
+
+
+
+ State
+
+ i=63
+ i=17405
+
+
+
+ Diagnostics
+
+ i=17410
+ i=17411
+ i=17416
+ i=17421
+ i=17422
+ i=17423
+ i=17457
+ i=19732
+ i=14443
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=17409
+
+
+
+ TotalInformation
+
+ i=17412
+ i=17413
+ i=17414
+ i=19725
+ i=17409
+
+
+
+ Active
+
+ i=68
+ i=17411
+
+
+
+ Classification
+
+ i=68
+ i=17411
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17411
+
+
+
+ TotalError
+
+ i=17417
+ i=17418
+ i=17419
+ i=19725
+ i=17409
+
+
+
+ Active
+
+ i=68
+ i=17416
+
+
+
+ Classification
+
+ i=68
+ i=17416
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17416
+
+
+
+ Reset
+
+ i=17409
+
+
+
+ SubError
+
+ i=63
+ i=17409
+
+
+
+ Counters
+
+ i=17424
+ i=17431
+ i=17436
+ i=17441
+ i=17446
+ i=17451
+ i=58
+ i=17409
+
+
+
+ StateError
+
+ i=17425
+ i=17426
+ i=17429
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17424
+
+
+
+ Classification
+
+ i=68
+ i=17424
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17424
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=17432
+ i=17433
+ i=17434
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17431
+
+
+
+ Classification
+
+ i=68
+ i=17431
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17431
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=17437
+ i=17438
+ i=17439
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17436
+
+
+
+ Classification
+
+ i=68
+ i=17436
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17436
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=17442
+ i=17443
+ i=17444
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17441
+
+
+
+ Classification
+
+ i=68
+ i=17441
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17441
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=17447
+ i=17448
+ i=17449
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17446
+
+
+
+ Classification
+
+ i=68
+ i=17446
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17446
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=17452
+ i=17453
+ i=17454
+ i=19725
+ i=17423
+
+
+
+ Active
+
+ i=68
+ i=17451
+
+
+
+ Classification
+
+ i=68
+ i=17451
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17451
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=17458
+ i=17460
+ i=17462
+ i=17464
+ i=58
+ i=17409
+
+
+
+ ConfiguredDataSetWriters
+
+ i=17459
+ i=63
+ i=17457
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17458
+
+
+ 0
+
+
+
+ ConfiguredDataSetReaders
+
+ i=17461
+ i=63
+ i=17457
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17460
+
+
+ 0
+
+
+
+ OperationalDataSetWriters
+
+ i=17463
+ i=63
+ i=17457
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17462
+
+
+ 0
+
+
+
+ OperationalDataSetReaders
+
+ i=17466
+ i=63
+ i=17457
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=17464
+
+
+ 0
+
+
+
+ SupportedTransportProfiles
+
+ i=68
+ i=14443
+
+
+
+ HasPubSubConnection
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.3/#9.1.3.6
+
+ i=47
+
+ PubSubConnectionOf
+
+
+ PublishedDataSetType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.2.1
+
+ i=15222
+ i=14519
+ i=15229
+ i=16759
+ i=15481
+ i=58
+
+
+
+ <DataSetWriterName>
+
+ i=16720
+ i=16721
+ i=17482
+ i=15223
+ i=15298
+ i=11508
+ i=14509
+
+
+
+ DataSetWriterId
+
+ i=68
+ i=78
+ i=15222
+
+
+
+ DataSetFieldContentMask
+
+ i=68
+ i=78
+ i=15222
+
+
+
+ DataSetWriterProperties
+
+ i=68
+ i=78
+ i=15222
+
+
+
+ Status
+
+ i=15224
+ i=14643
+ i=78
+ i=15222
+
+
+
+ State
+
+ i=63
+ i=78
+ i=15223
+
+
+
+ ConfigurationVersion
+
+ i=68
+ i=78
+ i=14509
+
+
+
+ DataSetMetaData
+
+ i=68
+ i=78
+ i=14509
+
+
+
+ DataSetClassId
+
+ i=68
+ i=80
+ i=14509
+
+
+
+ ExtensionFields
+
+ i=15482
+ i=15485
+ i=15489
+ i=80
+ i=14509
+
+
+
+ AddExtensionField
+
+ i=15483
+ i=15484
+ i=78
+ i=15481
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15482
+
+
+
+
+
+ i=297
+
+
+
+ FieldName
+
+ i=20
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldValue
+
+ i=24
+
+ -2
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15482
+
+
+
+
+
+ i=297
+
+
+
+ FieldId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveExtensionField
+
+ i=15486
+ i=78
+ i=15481
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15485
+
+
+
+
+
+ i=297
+
+
+
+ FieldId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ ExtensionFieldsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.2.2
+
+ i=15490
+ i=15491
+ i=15494
+ i=58
+
+
+
+ <ExtensionFieldName>
+
+ i=68
+ i=11508
+ i=15489
+
+
+
+ AddExtensionField
+
+ i=15492
+ i=15493
+ i=78
+ i=15489
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15491
+
+
+
+
+
+ i=297
+
+
+
+ FieldName
+
+ i=20
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldValue
+
+ i=24
+
+ -2
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15491
+
+
+
+
+
+ i=297
+
+
+
+ FieldId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveExtensionField
+
+ i=15495
+ i=78
+ i=15489
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15494
+
+
+
+
+
+ i=297
+
+
+
+ FieldId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ DataSetToWriter
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.2.5
+
+ i=33
+
+ WriterToDataSet
+
+
+ PublishedDataItemsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.3.1
+
+ i=14548
+ i=14555
+ i=14558
+ i=14509
+
+
+
+ PublishedData
+
+ i=68
+ i=78
+ i=14534
+
+
+
+ AddVariables
+
+ i=14556
+ i=14557
+ i=80
+ i=14534
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14555
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ PromotedFields
+
+ i=1
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToAdd
+
+ i=14273
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14555
+
+
+
+
+
+ i=297
+
+
+
+ NewConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ RemoveVariables
+
+ i=14559
+ i=14560
+ i=80
+ i=14534
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14558
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToRemove
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14558
+
+
+
+
+
+ i=297
+
+
+
+ NewConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RemoveResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ PublishedEventsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.4.1
+
+ i=14586
+ i=14587
+ i=14588
+ i=15052
+ i=14509
+
+
+
+ EventNotifier
+
+ i=68
+ i=78
+ i=14572
+
+
+
+ SelectedFields
+
+ i=68
+ i=78
+ i=14572
+
+
+
+ Filter
+
+ i=68
+ i=78
+ i=14572
+
+
+
+ ModifyFieldSelection
+
+ i=15053
+ i=15517
+ i=80
+ i=14572
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15052
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ PromotedFields
+
+ i=1
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ SelectedFields
+
+ i=601
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15052
+
+
+
+
+
+ i=297
+
+
+
+ NewConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+
+
+ DataSetFolderType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.4/#9.1.4.5.1
+
+ i=14478
+ i=14487
+ i=14493
+ i=14496
+ i=16935
+ i=16960
+ i=14499
+ i=16994
+ i=16997
+ i=61
+
+
+
+ <DataSetFolderName>
+
+ i=14479
+ i=14482
+ i=16842
+ i=16881
+ i=14485
+ i=16884
+ i=16923
+ i=14477
+ i=11508
+ i=14477
+
+
+
+ AddPublishedDataItems
+
+ i=14480
+ i=14481
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14479
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldFlags
+
+ i=15904
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToAdd
+
+ i=14273
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14479
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ AddPublishedEvents
+
+ i=14483
+ i=14484
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14482
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EventNotifier
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldFlags
+
+ i=15904
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ SelectedFields
+
+ i=601
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ Filter
+
+ i=586
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14482
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddPublishedDataItemsTemplate
+
+ i=16843
+ i=16853
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16842
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetMetaData
+
+ i=14523
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToAdd
+
+ i=14273
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16842
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ AddPublishedEventsTemplate
+
+ i=16882
+ i=16883
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16881
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetMetaData
+
+ i=14523
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EventNotifier
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SelectedFields
+
+ i=601
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ Filter
+
+ i=586
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16881
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemovePublishedDataSet
+
+ i=14486
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14485
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddDataSetFolder
+
+ i=16894
+ i=16922
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16884
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16884
+
+
+
+
+
+ i=297
+
+
+
+ DataSetFolderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveDataSetFolder
+
+ i=16924
+ i=80
+ i=14478
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16923
+
+
+
+
+
+ i=297
+
+
+
+ DataSetFolderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ <PublishedDataSetName>
+
+ i=14489
+ i=15221
+ i=14509
+ i=11508
+ i=14477
+
+
+
+ ConfigurationVersion
+
+ i=68
+ i=78
+ i=14487
+
+
+
+ DataSetMetaData
+
+ i=68
+ i=78
+ i=14487
+
+
+
+ AddPublishedDataItems
+
+ i=14494
+ i=14495
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14493
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldFlags
+
+ i=15904
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToAdd
+
+ i=14273
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14493
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ AddPublishedEvents
+
+ i=14497
+ i=14498
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14496
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EventNotifier
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldNameAliases
+
+ i=12
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ FieldFlags
+
+ i=15904
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ SelectedFields
+
+ i=601
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ Filter
+
+ i=586
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=14496
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddPublishedDataItemsTemplate
+
+ i=16958
+ i=16959
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16935
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetMetaData
+
+ i=14523
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ VariablesToAdd
+
+ i=14273
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16935
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ AddPublishedEventsTemplate
+
+ i=16961
+ i=16971
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16960
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ DataSetMetaData
+
+ i=14523
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ EventNotifier
+
+ i=17
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ SelectedFields
+
+ i=601
+
+ 1
+
+ 0
+
+
+
+
+
+
+ i=297
+
+
+
+ Filter
+
+ i=586
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16960
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemovePublishedDataSet
+
+ i=14500
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14499
+
+
+
+
+
+ i=297
+
+
+
+ DataSetNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddDataSetFolder
+
+ i=16995
+ i=16996
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16994
+
+
+
+
+
+ i=297
+
+
+
+ Name
+
+ i=12
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=16994
+
+
+
+
+
+ i=297
+
+
+
+ DataSetFolderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveDataSetFolder
+
+ i=17007
+ i=80
+ i=14477
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=16997
+
+
+
+
+
+ i=297
+
+
+
+ DataSetFolderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ PubSubConnectionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.5/#9.1.5.2
+
+ i=14595
+ i=17306
+ i=17485
+ i=14221
+ i=17203
+ i=17310
+ i=17325
+ i=14600
+ i=19241
+ i=17427
+ i=17465
+ i=14225
+ i=58
+
+
+
+ PublisherId
+
+ i=68
+ i=78
+ i=14209
+
+
+
+ TransportProfileUri
+
+ i=17710
+ i=16309
+ i=78
+ i=14209
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=17306
+
+
+
+ ConnectionProperties
+
+ i=68
+ i=78
+ i=14209
+
+
+
+ Address
+
+ i=17202
+ i=21145
+ i=78
+ i=14209
+
+
+
+ NetworkInterface
+
+ i=17576
+ i=16309
+ i=78
+ i=14221
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=17202
+
+
+
+ TransportSettings
+
+ i=17721
+ i=80
+ i=14209
+
+
+
+ <WriterGroupName>
+
+ i=17311
+ i=17204
+ i=17486
+ i=17314
+ i=17214
+ i=17318
+ i=17319
+ i=17321
+ i=17322
+ i=17558
+ i=17725
+ i=11508
+ i=14209
+
+
+
+ SecurityMode
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ MaxNetworkMessageSize
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ GroupProperties
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ Status
+
+ i=17315
+ i=14643
+ i=78
+ i=17310
+
+
+
+ State
+
+ i=63
+ i=78
+ i=17314
+
+
+
+ WriterGroupId
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ PublishingInterval
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ KeepAliveTime
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ Priority
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ LocaleIds
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ HeaderLayoutUri
+
+ i=68
+ i=78
+ i=17310
+
+
+
+ <ReaderGroupName>
+
+ i=17326
+ i=17302
+ i=17487
+ i=17329
+ i=17999
+ i=11508
+ i=14209
+
+
+
+ SecurityMode
+
+ i=68
+ i=78
+ i=17325
+
+
+
+ MaxNetworkMessageSize
+
+ i=68
+ i=78
+ i=17325
+
+
+
+ GroupProperties
+
+ i=68
+ i=78
+ i=17325
+
+
+
+ Status
+
+ i=17330
+ i=14643
+ i=78
+ i=17325
+
+
+
+ State
+
+ i=63
+ i=78
+ i=17329
+
+
+
+ Status
+
+ i=14601
+ i=14643
+ i=78
+ i=14209
+
+
+
+ State
+
+ i=63
+ i=78
+ i=14600
+
+
+
+ Diagnostics
+
+ i=19242
+ i=19243
+ i=19248
+ i=19253
+ i=19254
+ i=19255
+ i=19286
+ i=19786
+ i=80
+ i=14209
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=19241
+
+
+
+ TotalInformation
+
+ i=19244
+ i=19245
+ i=19246
+ i=19725
+ i=78
+ i=19241
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19243
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19243
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19243
+
+
+
+ TotalError
+
+ i=19249
+ i=19250
+ i=19251
+ i=19725
+ i=78
+ i=19241
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19248
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19248
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19248
+
+
+
+ Reset
+
+ i=78
+ i=19241
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=19241
+
+
+
+ Counters
+
+ i=19256
+ i=19261
+ i=19266
+ i=19271
+ i=19276
+ i=19281
+ i=58
+ i=78
+ i=19241
+
+
+
+ StateError
+
+ i=19257
+ i=19258
+ i=19259
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19256
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19256
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19256
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=19262
+ i=19263
+ i=19264
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19261
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19261
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19261
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=19267
+ i=19268
+ i=19269
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19266
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19266
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19266
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=19272
+ i=19273
+ i=19274
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19271
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19271
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19271
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=19277
+ i=19278
+ i=19279
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19276
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19276
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19276
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=19282
+ i=19283
+ i=19284
+ i=19725
+ i=78
+ i=19255
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19281
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19281
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19281
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=19287
+ i=58
+ i=78
+ i=19241
+
+
+
+ ResolvedAddress
+
+ i=19288
+ i=63
+ i=78
+ i=19286
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19287
+
+
+ 0
+
+
+
+ AddWriterGroup
+
+ i=17428
+ i=17456
+ i=80
+ i=14209
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17427
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15480
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17427
+
+
+
+
+
+ i=297
+
+
+
+ GroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ AddReaderGroup
+
+ i=17507
+ i=17508
+ i=80
+ i=14209
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17465
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15520
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17465
+
+
+
+
+
+ i=297
+
+
+
+ GroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveGroup
+
+ i=14226
+ i=80
+ i=14209
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=14225
+
+
+
+
+
+ i=297
+
+
+
+ GroupId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ ConnectionTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.5/#9.1.5.6
+
+ i=58
+
+
+
+ PubSubGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.2
+
+ i=15926
+ i=15927
+ i=15928
+ i=17724
+ i=17488
+ i=15265
+ i=58
+
+
+
+ SecurityMode
+
+ i=68
+ i=78
+ i=14232
+
+
+
+ SecurityGroupId
+
+ i=68
+ i=80
+ i=14232
+
+
+
+ SecurityKeyServices
+
+ i=68
+ i=80
+ i=14232
+
+
+
+ MaxNetworkMessageSize
+
+ i=68
+ i=78
+ i=14232
+
+
+
+ GroupProperties
+
+ i=68
+ i=78
+ i=14232
+
+
+
+ Status
+
+ i=15266
+ i=14643
+ i=78
+ i=14232
+
+
+
+ State
+
+ i=63
+ i=78
+ i=15265
+
+
+
+ WriterGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.3
+
+ i=17736
+ i=17737
+ i=17738
+ i=17739
+ i=17740
+ i=17559
+ i=17741
+ i=17742
+ i=17743
+ i=17812
+ i=17969
+ i=17992
+ i=14232
+
+
+
+ WriterGroupId
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ PublishingInterval
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ KeepAliveTime
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ Priority
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ LocaleIds
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ HeaderLayoutUri
+
+ i=68
+ i=78
+ i=17725
+
+
+
+ TransportSettings
+
+ i=17997
+ i=80
+ i=17725
+
+
+
+ MessageSettings
+
+ i=17998
+ i=80
+ i=17725
+
+
+
+ <DataSetWriterName>
+
+ i=17744
+ i=17745
+ i=17490
+ i=17749
+ i=15298
+ i=11508
+ i=17725
+
+
+
+ DataSetWriterId
+
+ i=68
+ i=78
+ i=17743
+
+
+
+ DataSetFieldContentMask
+
+ i=68
+ i=78
+ i=17743
+
+
+
+ DataSetWriterProperties
+
+ i=68
+ i=78
+ i=17743
+
+
+
+ Status
+
+ i=17750
+ i=14643
+ i=78
+ i=17743
+
+
+
+ State
+
+ i=63
+ i=78
+ i=17749
+
+
+
+ Diagnostics
+
+ i=17813
+ i=17814
+ i=17819
+ i=17824
+ i=17825
+ i=17826
+ i=17858
+ i=19834
+ i=80
+ i=17725
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=17812
+
+
+
+ TotalInformation
+
+ i=17815
+ i=17816
+ i=17817
+ i=19725
+ i=78
+ i=17812
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17814
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17814
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17814
+
+
+
+ TotalError
+
+ i=17820
+ i=17821
+ i=17822
+ i=19725
+ i=78
+ i=17812
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17819
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17819
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17819
+
+
+
+ Reset
+
+ i=78
+ i=17812
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=17812
+
+
+
+ Counters
+
+ i=17827
+ i=17832
+ i=17837
+ i=17842
+ i=17847
+ i=17853
+ i=17859
+ i=17874
+ i=17900
+ i=58
+ i=78
+ i=17812
+
+
+
+ StateError
+
+ i=17828
+ i=17829
+ i=17830
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17827
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17827
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17827
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=17833
+ i=17834
+ i=17835
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17832
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17832
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17832
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=17838
+ i=17839
+ i=17840
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17837
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17837
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17837
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=17843
+ i=17844
+ i=17845
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17842
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17842
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17842
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=17848
+ i=17849
+ i=17850
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17847
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17847
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17847
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=17854
+ i=17855
+ i=17856
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17853
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17853
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17853
+
+
+ 0
+
+
+
+ SentNetworkMessages
+
+ i=17864
+ i=17871
+ i=17872
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17859
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17859
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17859
+
+
+ 0
+
+
+
+ FailedTransmissions
+
+ i=17878
+ i=17885
+ i=17892
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17874
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17874
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17874
+
+
+ 0
+
+
+
+ EncryptionErrors
+
+ i=17901
+ i=17902
+ i=17903
+ i=19725
+ i=78
+ i=17826
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=17900
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=17900
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17900
+
+
+ 1
+
+
+
+ LiveValues
+
+ i=17913
+ i=17927
+ i=58
+ i=78
+ i=17812
+
+
+
+ ConfiguredDataSetWriters
+
+ i=17920
+ i=63
+ i=78
+ i=17858
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17913
+
+
+ 0
+
+
+
+ OperationalDataSetWriters
+
+ i=17934
+ i=63
+ i=78
+ i=17858
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=17927
+
+
+ 0
+
+
+
+ AddDataSetWriter
+
+ i=17976
+ i=17987
+ i=80
+ i=17725
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17969
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15597
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17969
+
+
+
+
+
+ i=297
+
+
+
+ DataSetWriterNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveDataSetWriter
+
+ i=17993
+ i=80
+ i=17725
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17992
+
+
+
+
+
+ i=297
+
+
+
+ DataSetWriterNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ HasDataSetWriter
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.6
+
+ i=47
+
+ IsWriterInGroup
+
+
+ HasWriterGroup
+
+ i=47
+
+ IsWriterGroupOf
+
+
+ WriterGroupTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.7
+
+ i=58
+
+
+
+ WriterGroupMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.8
+
+ i=58
+
+
+
+ ReaderGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.9
+
+ i=18076
+ i=21015
+ i=21080
+ i=21081
+ i=21082
+ i=21085
+ i=14232
+
+
+
+ <DataSetReaderName>
+
+ i=18077
+ i=18078
+ i=18079
+ i=18080
+ i=18081
+ i=18082
+ i=17560
+ i=17562
+ i=17492
+ i=18088
+ i=21006
+ i=15306
+ i=11508
+ i=17999
+
+
+
+ PublisherId
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ WriterGroupId
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ DataSetWriterId
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ DataSetMetaData
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ DataSetFieldContentMask
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ MessageReceiveTimeout
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ KeyFrameCount
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ HeaderLayoutUri
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ DataSetReaderProperties
+
+ i=68
+ i=78
+ i=18076
+
+
+
+ Status
+
+ i=18089
+ i=14643
+ i=78
+ i=18076
+
+
+
+ State
+
+ i=63
+ i=78
+ i=18088
+
+
+
+ SubscribedDataSet
+
+ i=15108
+ i=78
+ i=18076
+
+
+
+ Diagnostics
+
+ i=21016
+ i=21017
+ i=21022
+ i=21027
+ i=21028
+ i=21029
+ i=21060
+ i=19903
+ i=80
+ i=17999
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=21015
+
+
+
+ TotalInformation
+
+ i=21018
+ i=21019
+ i=21020
+ i=19725
+ i=78
+ i=21015
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21017
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21017
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21017
+
+
+
+ TotalError
+
+ i=21023
+ i=21024
+ i=21025
+ i=19725
+ i=78
+ i=21015
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21022
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21022
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21022
+
+
+
+ Reset
+
+ i=78
+ i=21015
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=21015
+
+
+
+ Counters
+
+ i=21030
+ i=21035
+ i=21040
+ i=21045
+ i=21050
+ i=21055
+ i=21061
+ i=58
+ i=78
+ i=21015
+
+
+
+ StateError
+
+ i=21031
+ i=21032
+ i=21033
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21030
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21030
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21030
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=21036
+ i=21037
+ i=21038
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21035
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21035
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21035
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=21041
+ i=21042
+ i=21043
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21040
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21040
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21040
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=21046
+ i=21047
+ i=21048
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21045
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21045
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21045
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=21051
+ i=21052
+ i=21053
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21050
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21050
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21050
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=21056
+ i=21057
+ i=21058
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21055
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21055
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21055
+
+
+ 0
+
+
+
+ ReceivedNetworkMessages
+
+ i=21062
+ i=21063
+ i=21064
+ i=19725
+ i=78
+ i=21029
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=21061
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=21061
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21061
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=21076
+ i=21078
+ i=58
+ i=78
+ i=21015
+
+
+
+ ConfiguredDataSetReaders
+
+ i=21077
+ i=63
+ i=78
+ i=21060
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21076
+
+
+ 0
+
+
+
+ OperationalDataSetReaders
+
+ i=21079
+ i=63
+ i=78
+ i=21060
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=21078
+
+
+ 0
+
+
+
+ TransportSettings
+
+ i=21090
+ i=80
+ i=17999
+
+
+
+ MessageSettings
+
+ i=21091
+ i=80
+ i=17999
+
+
+
+ AddDataSetReader
+
+ i=21083
+ i=21084
+ i=80
+ i=17999
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=21082
+
+
+
+
+
+ i=297
+
+
+
+ Configuration
+
+ i=15623
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=21082
+
+
+
+
+
+ i=297
+
+
+
+ DataSetReaderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ RemoveDataSetReader
+
+ i=21086
+ i=80
+ i=17999
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=21085
+
+
+
+
+
+ i=297
+
+
+
+ DataSetReaderNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ HasDataSetReader
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.12
+
+ i=47
+
+ IsReaderInGroup
+
+
+ HasReaderGroup
+
+ i=47
+
+ IsReaderGroupOf
+
+
+ ReaderGroupTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.13
+
+ i=58
+
+
+
+ ReaderGroupMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.6/#9.1.6.14
+
+ i=58
+
+
+
+ DataSetWriterType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.7/#9.1.7.2
+
+ i=21092
+ i=21093
+ i=21094
+ i=17493
+ i=15303
+ i=21095
+ i=15299
+ i=19550
+ i=58
+
+
+
+ DataSetWriterId
+
+ i=68
+ i=78
+ i=15298
+
+
+
+ DataSetFieldContentMask
+
+ i=68
+ i=78
+ i=15298
+
+
+
+ KeyFrameCount
+
+ i=68
+ i=80
+ i=15298
+
+
+
+ DataSetWriterProperties
+
+ i=68
+ i=78
+ i=15298
+
+
+
+ TransportSettings
+
+ i=15305
+ i=80
+ i=15298
+
+
+
+ MessageSettings
+
+ i=21096
+ i=80
+ i=15298
+
+
+
+ Status
+
+ i=15300
+ i=14643
+ i=78
+ i=15298
+
+
+
+ State
+
+ i=63
+ i=78
+ i=15299
+
+
+
+ Diagnostics
+
+ i=19551
+ i=19552
+ i=19557
+ i=19562
+ i=19563
+ i=19564
+ i=19595
+ i=19968
+ i=80
+ i=15298
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=19550
+
+
+
+ TotalInformation
+
+ i=19553
+ i=19554
+ i=19555
+ i=19725
+ i=78
+ i=19550
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19552
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19552
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19552
+
+
+
+ TotalError
+
+ i=19558
+ i=19559
+ i=19560
+ i=19725
+ i=78
+ i=19550
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19557
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19557
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19557
+
+
+
+ Reset
+
+ i=78
+ i=19550
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=19550
+
+
+
+ Counters
+
+ i=19565
+ i=19570
+ i=19575
+ i=19580
+ i=19585
+ i=19590
+ i=19596
+ i=58
+ i=78
+ i=19550
+
+
+
+ StateError
+
+ i=19566
+ i=19567
+ i=19568
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19565
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19565
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19565
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=19571
+ i=19572
+ i=19573
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19570
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19570
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19570
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=19576
+ i=19577
+ i=19578
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19575
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19575
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19575
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=19581
+ i=19582
+ i=19583
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19580
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19580
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19580
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=19586
+ i=19587
+ i=19588
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19585
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19585
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19585
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=19591
+ i=19592
+ i=19593
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19590
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19590
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19590
+
+
+ 0
+
+
+
+ FailedDataSetMessages
+
+ i=19597
+ i=19598
+ i=19599
+ i=19725
+ i=78
+ i=19564
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19596
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19596
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19596
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=58
+ i=78
+ i=19550
+
+
+
+ DataSetWriterTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.7/#9.1.7.3
+
+ i=58
+
+
+
+ DataSetWriterMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.7/#9.1.7.4
+
+ i=58
+
+
+
+ DataSetReaderType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.8/#9.1.8.2
+
+ i=21097
+ i=21098
+ i=21099
+ i=21100
+ i=21101
+ i=21102
+ i=17563
+ i=17564
+ i=15932
+ i=15933
+ i=15934
+ i=17494
+ i=15311
+ i=21103
+ i=15307
+ i=19609
+ i=15316
+ i=17386
+ i=17389
+ i=58
+
+
+
+ PublisherId
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ WriterGroupId
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ DataSetWriterId
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ DataSetMetaData
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ DataSetFieldContentMask
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ MessageReceiveTimeout
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ KeyFrameCount
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ HeaderLayoutUri
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ SecurityMode
+
+ i=68
+ i=80
+ i=15306
+
+
+
+ SecurityGroupId
+
+ i=68
+ i=80
+ i=15306
+
+
+
+ SecurityKeyServices
+
+ i=68
+ i=80
+ i=15306
+
+
+
+ DataSetReaderProperties
+
+ i=68
+ i=78
+ i=15306
+
+
+
+ TransportSettings
+
+ i=15319
+ i=80
+ i=15306
+
+
+
+ MessageSettings
+
+ i=21104
+ i=80
+ i=15306
+
+
+
+ Status
+
+ i=15308
+ i=14643
+ i=78
+ i=15306
+
+
+
+ State
+
+ i=63
+ i=78
+ i=15307
+
+
+
+ Diagnostics
+
+ i=19610
+ i=19611
+ i=19616
+ i=19621
+ i=19622
+ i=19623
+ i=19654
+ i=20027
+ i=80
+ i=15306
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=19609
+
+
+
+ TotalInformation
+
+ i=19612
+ i=19613
+ i=19614
+ i=19725
+ i=78
+ i=19609
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19611
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19611
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19611
+
+
+
+ TotalError
+
+ i=19617
+ i=19618
+ i=19619
+ i=19725
+ i=78
+ i=19609
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19616
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19616
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19616
+
+
+
+ Reset
+
+ i=78
+ i=19609
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=19609
+
+
+
+ Counters
+
+ i=19624
+ i=19629
+ i=19634
+ i=19639
+ i=19644
+ i=19649
+ i=19655
+ i=58
+ i=78
+ i=19609
+
+
+
+ StateError
+
+ i=19625
+ i=19626
+ i=19627
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19624
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19624
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19624
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=19630
+ i=19631
+ i=19632
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19629
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19629
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19629
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=19635
+ i=19636
+ i=19637
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19634
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19634
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19634
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=19640
+ i=19641
+ i=19642
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19639
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19639
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19639
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=19645
+ i=19646
+ i=19647
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19644
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19644
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19644
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=19650
+ i=19651
+ i=19652
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19649
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19649
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19649
+
+
+ 0
+
+
+
+ FailedDataSetMessages
+
+ i=19656
+ i=19657
+ i=19658
+ i=19725
+ i=78
+ i=19623
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19655
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19655
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19655
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=58
+ i=78
+ i=19609
+
+
+
+ SubscribedDataSet
+
+ i=15108
+ i=78
+ i=15306
+
+
+
+ CreateTargetVariables
+
+ i=17387
+ i=17388
+ i=80
+ i=15306
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17386
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetVariablesToAdd
+
+ i=14744
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17386
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ CreateDataSetMirror
+
+ i=17390
+ i=17391
+ i=80
+ i=15306
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=17389
+
+
+
+
+
+ i=297
+
+
+
+ ParentNodeName
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ RolePermissions
+
+ i=96
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=17389
+
+
+
+
+
+ i=297
+
+
+
+ ParentNodeId
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ DataSetReaderTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.8/#9.1.8.3
+
+ i=58
+
+
+
+ DataSetReaderMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.8/#9.1.8.4
+
+ i=58
+
+
+
+ SubscribedDataSetType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.9/#9.1.9.1
+
+ i=58
+
+
+
+ TargetVariablesType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.9/#9.1.9.2
+
+ i=15114
+ i=15115
+ i=15118
+ i=15108
+
+
+
+ TargetVariables
+
+ i=68
+ i=78
+ i=15111
+
+
+
+ AddTargetVariables
+
+ i=15116
+ i=15117
+ i=80
+ i=15111
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15115
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetVariablesToAdd
+
+ i=14744
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15115
+
+
+
+
+
+ i=297
+
+
+
+ AddResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ RemoveTargetVariables
+
+ i=15119
+ i=15120
+ i=80
+ i=15111
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=15118
+
+
+
+
+
+ i=297
+
+
+
+ ConfigurationVersion
+
+ i=14593
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ TargetsToRemove
+
+ i=7
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=15118
+
+
+
+
+
+ i=297
+
+
+
+ RemoveResults
+
+ i=19
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ SubscribedDataSetMirrorType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.9/#9.1.9.5
+
+ i=15108
+
+
+
+ PubSubStatusType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.10/#9.1.10.1
+
+ i=14644
+ i=14645
+ i=14646
+ i=58
+
+
+
+ State
+
+ i=63
+ i=78
+ i=14643
+
+
+
+ Enable
+
+ i=80
+ i=14643
+
+
+
+ Disable
+
+ i=80
+ i=14643
+
+
+
+ PubSubDiagnosticsType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.2
+
+ i=19678
+ i=19679
+ i=19684
+ i=19689
+ i=19690
+ i=19691
+ i=19722
+ i=58
+
+
+
+ DiagnosticsLevel
+
+ i=63
+ i=78
+ i=19677
+
+
+
+ TotalInformation
+
+ i=19680
+ i=19681
+ i=19682
+ i=19725
+ i=78
+ i=19677
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19679
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19679
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19679
+
+
+
+ TotalError
+
+ i=19685
+ i=19686
+ i=19687
+ i=19725
+ i=78
+ i=19677
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19684
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19684
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19684
+
+
+
+ Reset
+
+ i=78
+ i=19677
+
+
+
+ SubError
+
+ i=63
+ i=78
+ i=19677
+
+
+
+ Counters
+
+ i=19692
+ i=19697
+ i=19702
+ i=19707
+ i=19712
+ i=19717
+ i=58
+ i=78
+ i=19677
+
+
+
+ StateError
+
+ i=19693
+ i=19694
+ i=19695
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19692
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19692
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19692
+
+
+ 0
+
+
+
+ StateOperationalByMethod
+
+ i=19698
+ i=19699
+ i=19700
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19697
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19697
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19697
+
+
+ 0
+
+
+
+ StateOperationalByParent
+
+ i=19703
+ i=19704
+ i=19705
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19702
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19702
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19702
+
+
+ 0
+
+
+
+ StateOperationalFromError
+
+ i=19708
+ i=19709
+ i=19710
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19707
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19707
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19707
+
+
+ 0
+
+
+
+ StatePausedByParent
+
+ i=19713
+ i=19714
+ i=19715
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19712
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19712
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19712
+
+
+ 0
+
+
+
+ StateDisabledByMethod
+
+ i=19718
+ i=19719
+ i=19720
+ i=19725
+ i=78
+ i=19691
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19717
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19717
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19717
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=58
+ i=78
+ i=19677
+
+
+
+ DiagnosticsLevel
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.4
+
+ i=19724
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=19723
+
+
+
+
+ Basic
+
+
+ Advanced
+
+
+ Info
+
+
+ Log
+
+
+ Debug
+
+
+
+
+
+ PubSubDiagnosticsCounterType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.5
+
+ i=19726
+ i=19727
+ i=19728
+ i=19729
+ i=63
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19725
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19725
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19725
+
+
+
+ TimeFirstChange
+
+ i=68
+ i=80
+ i=19725
+
+
+
+ PubSubDiagnosticsCounterClassification
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.6
+
+ i=19731
+ i=29
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=19730
+
+
+
+
+ Information
+
+
+ Error
+
+
+
+
+
+ PubSubDiagnosticsRootType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.7
+
+ i=19777
+ i=19677
+
+
+
+ LiveValues
+
+ i=19778
+ i=19780
+ i=19782
+ i=19784
+ i=58
+ i=78
+ i=19732
+
+
+
+ ConfiguredDataSetWriters
+
+ i=19779
+ i=63
+ i=78
+ i=19777
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19778
+
+
+ 0
+
+
+
+ ConfiguredDataSetReaders
+
+ i=19781
+ i=63
+ i=78
+ i=19777
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19780
+
+
+ 0
+
+
+
+ OperationalDataSetWriters
+
+ i=19783
+ i=63
+ i=78
+ i=19777
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19782
+
+
+ 0
+
+
+
+ OperationalDataSetReaders
+
+ i=19785
+ i=63
+ i=78
+ i=19777
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19784
+
+
+ 0
+
+
+
+ PubSubDiagnosticsConnectionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.8
+
+ i=19831
+ i=19677
+
+
+
+ LiveValues
+
+ i=19832
+ i=58
+ i=78
+ i=19786
+
+
+
+ ResolvedAddress
+
+ i=19833
+ i=63
+ i=78
+ i=19831
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19832
+
+
+ 0
+
+
+
+ PubSubDiagnosticsWriterGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.9
+
+ i=19848
+ i=19879
+ i=19677
+
+
+
+ Counters
+
+ i=19880
+ i=19885
+ i=19890
+ i=58
+ i=78
+ i=19834
+
+
+
+ SentNetworkMessages
+
+ i=19881
+ i=19882
+ i=19883
+ i=19725
+ i=78
+ i=19848
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19880
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19880
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19880
+
+
+ 0
+
+
+
+ FailedTransmissions
+
+ i=19886
+ i=19887
+ i=19888
+ i=19725
+ i=78
+ i=19848
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19885
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19885
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19885
+
+
+ 0
+
+
+
+ EncryptionErrors
+
+ i=19891
+ i=19892
+ i=19893
+ i=19725
+ i=78
+ i=19848
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19890
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19890
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19890
+
+
+ 1
+
+
+
+ LiveValues
+
+ i=19895
+ i=19897
+ i=19899
+ i=19901
+ i=58
+ i=78
+ i=19834
+
+
+
+ ConfiguredDataSetWriters
+
+ i=19896
+ i=63
+ i=78
+ i=19879
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19895
+
+
+ 0
+
+
+
+ OperationalDataSetWriters
+
+ i=19898
+ i=63
+ i=78
+ i=19879
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19897
+
+
+ 0
+
+
+
+ SecurityTokenID
+
+ i=19900
+ i=63
+ i=80
+ i=19879
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19899
+
+
+ 2
+
+
+
+ TimeToNextTokenID
+
+ i=19902
+ i=63
+ i=80
+ i=19879
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19901
+
+
+ 2
+
+
+
+ PubSubDiagnosticsReaderGroupType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.10
+
+ i=19917
+ i=19948
+ i=19677
+
+
+
+ Counters
+
+ i=19949
+ i=19954
+ i=19959
+ i=58
+ i=78
+ i=19903
+
+
+
+ ReceivedNetworkMessages
+
+ i=19950
+ i=19951
+ i=19952
+ i=19725
+ i=78
+ i=19917
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19949
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19949
+
+
+ 0
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19949
+
+
+ 0
+
+
+
+ ReceivedInvalidNetworkMessages
+
+ i=19955
+ i=19956
+ i=19957
+ i=19725
+ i=80
+ i=19917
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19954
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19954
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19954
+
+
+ 1
+
+
+
+ DecryptionErrors
+
+ i=19960
+ i=19961
+ i=19962
+ i=19725
+ i=80
+ i=19917
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=19959
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=19959
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19959
+
+
+ 1
+
+
+
+ LiveValues
+
+ i=19964
+ i=19966
+ i=58
+ i=78
+ i=19903
+
+
+
+ ConfiguredDataSetReaders
+
+ i=19965
+ i=63
+ i=78
+ i=19948
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19964
+
+
+ 0
+
+
+
+ OperationalDataSetReaders
+
+ i=19967
+ i=63
+ i=78
+ i=19948
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=19966
+
+
+ 0
+
+
+
+ PubSubDiagnosticsDataSetWriterType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.11
+
+ i=19982
+ i=20013
+ i=19677
+
+
+
+ Counters
+
+ i=20014
+ i=58
+ i=78
+ i=19968
+
+
+
+ FailedDataSetMessages
+
+ i=20015
+ i=20016
+ i=20017
+ i=19725
+ i=78
+ i=19982
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=20014
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=20014
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20014
+
+
+ 0
+
+
+
+ LiveValues
+
+ i=20019
+ i=20021
+ i=20023
+ i=20025
+ i=58
+ i=78
+ i=19968
+
+
+
+ MessageSequenceNumber
+
+ i=20020
+ i=63
+ i=80
+ i=20013
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20019
+
+
+ 2
+
+
+
+ StatusCode
+
+ i=20022
+ i=63
+ i=80
+ i=20013
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20021
+
+
+ 2
+
+
+
+ MajorVersion
+
+ i=20024
+ i=63
+ i=80
+ i=20013
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20023
+
+
+ 2
+
+
+
+ MinorVersion
+
+ i=20026
+ i=63
+ i=80
+ i=20013
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20025
+
+
+ 2
+
+
+
+ PubSubDiagnosticsDataSetReaderType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.11/#9.1.11.12
+
+ i=20041
+ i=20072
+ i=19677
+
+
+
+ Counters
+
+ i=20073
+ i=20078
+ i=58
+ i=78
+ i=20027
+
+
+
+ FailedDataSetMessages
+
+ i=20074
+ i=20075
+ i=20076
+ i=19725
+ i=78
+ i=20041
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=20073
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=20073
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20073
+
+
+ 0
+
+
+
+ DecryptionErrors
+
+ i=20079
+ i=20080
+ i=20081
+ i=19725
+ i=80
+ i=20041
+
+
+
+ Active
+
+ i=68
+ i=78
+ i=20078
+
+
+
+ Classification
+
+ i=68
+ i=78
+ i=20078
+
+
+ 1
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20078
+
+
+ 1
+
+
+
+ LiveValues
+
+ i=20083
+ i=20085
+ i=20087
+ i=20089
+ i=20091
+ i=20093
+ i=58
+ i=78
+ i=20027
+
+
+
+ MessageSequenceNumber
+
+ i=20084
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20083
+
+
+ 2
+
+
+
+ StatusCode
+
+ i=20086
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20085
+
+
+ 2
+
+
+
+ MajorVersion
+
+ i=20088
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20087
+
+
+ 2
+
+
+
+ MinorVersion
+
+ i=20090
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20089
+
+
+ 2
+
+
+
+ SecurityTokenID
+
+ i=20092
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20091
+
+
+ 2
+
+
+
+ TimeToNextTokenID
+
+ i=20094
+ i=63
+ i=80
+ i=20072
+
+
+
+ DiagnosticsLevel
+
+ i=68
+ i=78
+ i=20093
+
+
+ 2
+
+
+
+ PubSubStatusEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.12/#9.1.12.1
+
+ i=15545
+ i=15546
+ i=15547
+ i=2130
+
+
+
+ ConnectionId
+
+ i=68
+ i=78
+ i=15535
+
+
+
+ GroupId
+
+ i=68
+ i=78
+ i=15535
+
+
+
+ State
+
+ i=68
+ i=78
+ i=15535
+
+
+
+ PubSubTransportLimitsExceedEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.12/#9.1.12.2
+
+ i=15561
+ i=15562
+ i=15535
+
+
+
+ Actual
+
+ i=68
+ i=78
+ i=15548
+
+
+
+ Maximum
+
+ i=68
+ i=78
+ i=15548
+
+
+
+ PubSubCommunicationFailureEventType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.1.12/#9.1.12.3
+
+ i=15576
+ i=15535
+
+
+
+ Error
+
+ i=68
+ i=78
+ i=15563
+
+
+
+ UadpWriterGroupMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.1/#9.2.1.1
+
+ i=21106
+ i=21107
+ i=21108
+ i=21109
+ i=21110
+ i=17998
+
+
+
+ GroupVersion
+
+ i=68
+ i=78
+ i=21105
+
+
+
+ DataSetOrdering
+
+ i=68
+ i=78
+ i=21105
+
+
+
+ NetworkMessageContentMask
+
+ i=68
+ i=78
+ i=21105
+
+
+
+ SamplingOffset
+
+ i=68
+ i=80
+ i=21105
+
+
+
+ PublishingOffset
+
+ i=68
+ i=78
+ i=21105
+
+
+
+ UadpDataSetWriterMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.1/#9.2.1.2
+
+ i=21112
+ i=21113
+ i=21114
+ i=21115
+ i=21096
+
+
+
+ DataSetMessageContentMask
+
+ i=68
+ i=78
+ i=21111
+
+
+
+ ConfiguredSize
+
+ i=68
+ i=78
+ i=21111
+
+
+
+ NetworkMessageNumber
+
+ i=68
+ i=78
+ i=21111
+
+
+
+ DataSetOffset
+
+ i=68
+ i=78
+ i=21111
+
+
+
+ UadpDataSetReaderMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.1/#9.2.1.3
+
+ i=21117
+ i=21119
+ i=17477
+ i=21120
+ i=21121
+ i=21122
+ i=21123
+ i=21124
+ i=21125
+ i=21104
+
+
+
+ GroupVersion
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ NetworkMessageNumber
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ DataSetOffset
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ DataSetClassId
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ NetworkMessageContentMask
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ DataSetMessageContentMask
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ PublishingInterval
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ ProcessingOffset
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ ReceiveOffset
+
+ i=68
+ i=78
+ i=21116
+
+
+
+ JsonWriterGroupMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.2/#9.2.2.1
+
+ i=21127
+ i=17998
+
+
+
+ NetworkMessageContentMask
+
+ i=68
+ i=78
+ i=21126
+
+
+
+ JsonDataSetWriterMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.2/#9.2.2.2
+
+ i=21129
+ i=21096
+
+
+
+ DataSetMessageContentMask
+
+ i=68
+ i=78
+ i=21128
+
+
+
+ JsonDataSetReaderMessageType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.2.2/#9.2.2.3
+
+ i=21131
+ i=21132
+ i=21104
+
+
+
+ NetworkMessageContentMask
+
+ i=68
+ i=78
+ i=21130
+
+
+
+ DataSetMessageContentMask
+
+ i=68
+ i=78
+ i=21130
+
+
+
+ DatagramConnectionTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.1/#9.3.1.1
+
+ i=15072
+ i=17721
+
+
+
+ DiscoveryAddress
+
+ i=15154
+ i=21145
+ i=78
+ i=15064
+
+
+
+ NetworkInterface
+
+ i=17579
+ i=16309
+ i=78
+ i=15072
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=15154
+
+
+
+ DatagramWriterGroupTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.1/#9.3.1.2
+
+ i=21134
+ i=21135
+ i=17997
+
+
+
+ MessageRepeatCount
+
+ i=68
+ i=80
+ i=21133
+
+
+
+ MessageRepeatDelay
+
+ i=68
+ i=80
+ i=21133
+
+
+
+ BrokerConnectionTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.2/#9.3.2.1
+
+ i=15156
+ i=15178
+ i=17721
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=15155
+
+
+
+ AuthenticationProfileUri
+
+ i=68
+ i=78
+ i=15155
+
+
+
+ BrokerWriterGroupTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.2/#9.3.2.2
+
+ i=21137
+ i=15246
+ i=15247
+ i=15249
+ i=17997
+
+
+
+ QueueName
+
+ i=68
+ i=78
+ i=21136
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=21136
+
+
+
+ AuthenticationProfileUri
+
+ i=68
+ i=78
+ i=21136
+
+
+
+ RequestedDeliveryGuarantee
+
+ i=68
+ i=78
+ i=21136
+
+
+
+ BrokerDataSetWriterTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.2/#9.3.2.3
+
+ i=21139
+ i=21140
+ i=15250
+ i=15251
+ i=15330
+ i=21141
+ i=15305
+
+
+
+ QueueName
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ MetaDataQueueName
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ AuthenticationProfileUri
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ RequestedDeliveryGuarantee
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ MetaDataUpdateTime
+
+ i=68
+ i=78
+ i=21138
+
+
+
+ BrokerDataSetReaderTransportType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/9.3.2/#9.3.2.4
+
+ i=21143
+ i=15334
+ i=15419
+ i=15420
+ i=21144
+ i=15319
+
+
+
+ QueueName
+
+ i=68
+ i=78
+ i=21142
+
+
+
+ ResourceUri
+
+ i=68
+ i=78
+ i=21142
+
+
+
+ AuthenticationProfileUri
+
+ i=68
+ i=78
+ i=21142
+
+
+
+ RequestedDeliveryGuarantee
+
+ i=68
+ i=78
+ i=21142
+
+
+
+ MetaDataQueueName
+
+ i=68
+ i=78
+ i=21142
+
+
+
+ NetworkAddressType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.3.1
+
+ i=21146
+ i=58
+
+
+
+ NetworkInterface
+
+ i=17582
+ i=16309
+ i=78
+ i=21145
+
+
+
+ Selections
+
+ i=68
+ i=78
+ i=21146
+
+
+
+ NetworkAddressUrlType
+ https://reference.opcfoundation.org/v104/Core/docs/Part14/A.3.2
+
+ i=21149
+ i=21145
+
+
+
+ Url
+
+ i=63
+ i=78
+ i=21147
+
+
+
+ AliasNameType
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/6.2
+
+ i=58
+
+
+
+ AliasNameCategoryType
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/6.3.1
+
+ i=23457
+ i=23458
+ i=23462
+ i=61
+
+
+
+ <Alias>
+
+ i=23455
+ i=11508
+ i=23456
+
+
+
+ <SubAliasNameCategories>
+
+ i=23459
+ i=23456
+ i=11508
+ i=23456
+
+
+
+ FindAlias
+
+ i=23460
+ i=23461
+ i=78
+ i=23458
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=23459
+
+
+
+
+
+ i=297
+
+
+
+ AliasNameSearchPattern
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ReferenceTypeFilter
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=23459
+
+
+
+
+
+ i=297
+
+
+
+ AliasNodeList
+
+ i=23468
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ FindAlias
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/6.3.2
+
+ i=23463
+ i=23464
+ i=78
+ i=23456
+
+
+
+ InputArguments
+
+ i=68
+ i=78
+ i=23462
+
+
+
+
+
+ i=297
+
+
+
+ AliasNameSearchPattern
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ReferenceTypeFilter
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=78
+ i=23462
+
+
+
+
+
+ i=297
+
+
+
+ AliasNodeList
+
+ i=23468
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ AliasNameDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/7.2
+
+ i=22
+
+
+
+
+
+
+
+ AliasFor
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/8.2
+
+ i=32
+
+ HasAlias
+
+
+ Aliases
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/9.2
+
+ i=23476
+ i=85
+ i=23456
+
+
+
+ FindAlias
+
+ i=23477
+ i=23478
+ i=23470
+
+
+
+ InputArguments
+
+ i=68
+ i=23476
+
+
+
+
+
+ i=297
+
+
+
+ AliasNameSearchPattern
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ReferenceTypeFilter
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=23476
+
+
+
+
+
+ i=297
+
+
+
+ AliasNodeList
+
+ i=23468
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ TagVariables
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/9.3
+
+ i=23485
+ i=23470
+ i=23456
+
+
+
+ FindAlias
+
+ i=23486
+ i=23487
+ i=23479
+
+
+
+ InputArguments
+
+ i=68
+ i=23485
+
+
+
+
+
+ i=297
+
+
+
+ AliasNameSearchPattern
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ReferenceTypeFilter
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=23485
+
+
+
+
+
+ i=297
+
+
+
+ AliasNodeList
+
+ i=23468
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ Topics
+ https://reference.opcfoundation.org/v104/Core/docs/Part17/9.4
+
+ i=23494
+ i=23470
+ i=23456
+
+
+
+ FindAlias
+
+ i=23495
+ i=23496
+ i=23488
+
+
+
+ InputArguments
+
+ i=68
+ i=23494
+
+
+
+
+
+ i=297
+
+
+
+ AliasNameSearchPattern
+
+ i=12
+
+ -1
+
+
+
+
+
+
+ i=297
+
+
+
+ ReferenceTypeFilter
+
+ i=17
+
+ -1
+
+
+
+
+
+
+
+
+ OutputArguments
+
+ i=68
+ i=23494
+
+
+
+
+
+ i=297
+
+
+
+ AliasNodeList
+
+ i=23468
+
+ 1
+
+ 0
+
+
+
+
+
+
+
+
+ MultiStateDictionaryEntryDiscreteBaseType
+ https://reference.opcfoundation.org/v104/Core/docs/Part19/7.1
+
+ i=19082
+ i=19083
+ i=11238
+
+
+
+ EnumDictionaryEntries
+
+ i=68
+ i=78
+ i=19077
+
+
+
+ ValueAsDictionaryEntries
+
+ i=68
+ i=80
+ i=19077
+
+
+
+ MultiStateDictionaryEntryDiscreteType
+ https://reference.opcfoundation.org/v104/Core/docs/Part19/7.2
+
+ i=19090
+ i=19077
+
+
+
+ ValueAsDictionaryEntries
+
+ i=68
+ i=78
+ i=19084
+
+
+
+ IIetfBaseNetworkInterfaceType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.1
+
+ i=24149
+ i=24150
+ i=24151
+ i=24152
+ i=17602
+
+
+
+ AdminStatus
+
+ i=63
+ i=78
+ i=24148
+
+
+
+ OperStatus
+
+ i=63
+ i=78
+ i=24148
+
+
+
+ PhysAddress
+
+ i=63
+ i=80
+ i=24148
+
+
+
+ Speed
+
+ i=24157
+ i=17497
+ i=78
+ i=24148
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=78
+ i=24152
+
+
+
+
+ i=888
+
+
+
+ http://www.opcfoundation.org/UA/units/un/cefact
+ 4337968
+
+ en
+ bit/s
+
+
+ en
+ bit per second
+
+
+
+
+
+
+
+ IIeeeBaseEthernetPortType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.2
+
+ i=24159
+ i=24165
+ i=24166
+ i=17602
+
+
+
+ Speed
+
+ i=24164
+ i=17497
+ i=78
+ i=24158
+
+
+
+ EngineeringUnits
+
+ i=68
+ i=78
+ i=24159
+
+
+
+
+ i=888
+
+
+
+ http://www.opcfoundation.org/UA/units/un/cefact
+ 4534832
+
+ en
+ Mbit/s
+
+
+ en
+ megabit per second
+
+
+
+
+
+
+
+ Duplex
+
+ i=63
+ i=78
+ i=24158
+
+
+
+ MaxFrameLength
+
+ i=63
+ i=78
+ i=24158
+
+
+
+ IIeeeAutoNegotiationStatusType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.3
+
+ i=24234
+ i=17602
+
+
+
+ NegotiationStatus
+
+ i=63
+ i=78
+ i=24233
+
+
+
+ IBaseEthernetCapabilitiesType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.4
+
+ i=24168
+ i=17602
+
+
+
+ VlanTagCapable
+
+ i=63
+ i=78
+ i=24167
+
+
+
+ ISrClassType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.5
+
+ i=24170
+ i=24171
+ i=24172
+ i=17602
+
+
+
+ Id
+
+ i=63
+ i=78
+ i=24169
+
+
+
+ Priority
+
+ i=63
+ i=78
+ i=24169
+
+
+
+ Vid
+
+ i=63
+ i=78
+ i=24169
+
+
+
+ IIeeeBaseTsnStreamType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.6
+
+ i=24174
+ i=24175
+ i=24176
+ i=24177
+ i=24178
+ i=17602
+
+
+
+ StreamId
+
+ i=63
+ i=78
+ i=24173
+
+
+
+ StreamName
+
+ i=63
+ i=78
+ i=24173
+
+
+
+ State
+
+ i=63
+ i=78
+ i=24173
+
+
+
+ AccumulatedLatency
+
+ i=63
+ i=80
+ i=24173
+
+
+
+ SrClassId
+
+ i=63
+ i=80
+ i=24173
+
+
+
+ IIeeeBaseTsnTrafficSpecificationType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.7
+
+ i=24180
+ i=24181
+ i=24182
+ i=17602
+
+
+
+ MaxIntervalFrames
+
+ i=63
+ i=78
+ i=24179
+
+
+
+ MaxFrameSize
+
+ i=63
+ i=78
+ i=24179
+
+
+
+ Interval
+
+ i=63
+ i=78
+ i=24179
+
+
+
+ IIeeeBaseTsnStatusStreamType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.8
+
+ i=24184
+ i=24185
+ i=24186
+ i=24187
+ i=17602
+
+
+
+ TalkerStatus
+
+ i=63
+ i=80
+ i=24183
+
+
+
+ ListenerStatus
+
+ i=63
+ i=80
+ i=24183
+
+
+
+ FailureCode
+
+ i=63
+ i=78
+ i=24183
+
+
+
+ FailureSystemIdentifier
+
+ i=63
+ i=78
+ i=24183
+
+
+
+ IIeeeTsnInterfaceConfigurationType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.9
+
+ i=24189
+ i=24190
+ i=17602
+
+
+
+ MacAddress
+
+ i=63
+ i=78
+ i=24188
+
+
+
+ InterfaceName
+
+ i=63
+ i=80
+ i=24188
+
+
+
+ IIeeeTsnInterfaceConfigurationTalkerType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.10
+
+ i=24194
+ i=24188
+
+
+
+ TimeAwareOffset
+
+ i=63
+ i=80
+ i=24191
+
+
+
+ IIeeeTsnInterfaceConfigurationListenerType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.11
+
+ i=24198
+ i=24188
+
+
+
+ ReceiveOffset
+
+ i=63
+ i=80
+ i=24195
+
+
+
+ IIeeeTsnMacAddressType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.12
+
+ i=24200
+ i=24201
+ i=17602
+
+
+
+ DestinationAddress
+
+ i=63
+ i=78
+ i=24199
+
+
+
+ SourceAddress
+
+ i=63
+ i=80
+ i=24199
+
+
+
+ IIeeeTsnVlanTagType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.13
+
+ i=24203
+ i=24204
+ i=17602
+
+
+
+ VlanId
+
+ i=63
+ i=78
+ i=24202
+
+
+
+ PriorityCodePoint
+
+ i=63
+ i=78
+ i=24202
+
+
+
+ IPriorityMappingEntryType
+ https://reference.opcfoundation.org/v104/Part22/docs/5.2.14
+
+ i=24206
+ i=24207
+ i=24208
+ i=24209
+ i=17602
+
+
+
+ MappingUri
+
+ i=63
+ i=78
+ i=24205
+
+
+
+ PriorityLabel
+
+ i=63
+ i=78
+ i=24205
+
+
+
+ PriorityValue_PCP
+
+ i=63
+ i=80
+ i=24205
+
+
+
+ PriorityValue_DSCP
+
+ i=63
+ i=80
+ i=24205
+
+
+
+ Duplex
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.1
+
+ i=24235
+ i=29
+
+
+
+ Full duplex.
+
+
+ Half duplex.
+
+
+ Link is currently disconnected or initializing.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24210
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ Full
+
+
+ Full duplex.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Half
+
+
+ Half duplex.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Unknown
+
+
+ Link is currently disconnected or initializing.
+
+
+
+
+
+
+
+
+ InterfaceAdminStatus
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.2
+
+ i=24236
+ i=29
+
+
+
+ Ready to pass packets.
+
+
+ Not ready to pass packets and not in some test mode.
+
+
+ In some test mode.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24212
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ Up
+
+
+ Ready to pass packets.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Down
+
+
+ Not ready to pass packets and not in some test mode.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Testing
+
+
+ In some test mode.
+
+
+
+
+
+
+
+
+ InterfaceOperStatus
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.3
+
+ i=24237
+ i=29
+
+
+
+ Ready to pass packets.
+
+
+ The interface does not pass any packets.
+
+
+ In some test mode. No operational packets can be passed.
+
+
+ Status cannot be determined for some reason.
+
+
+ Waiting for some external event.
+
+
+ Some component (typically hardware) is missing.
+
+
+ Down due to state of lower-layer interface(s).
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24214
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ Up
+
+
+ Ready to pass packets.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Down
+
+
+ The interface does not pass any packets.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Testing
+
+
+ In some test mode. No operational packets can be passed.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Unknown
+
+
+ Status cannot be determined for some reason.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ Dormant
+
+
+ Waiting for some external event.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 5
+
+ NotPresent
+
+
+ Some component (typically hardware) is missing.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 6
+
+ LowerLayerDown
+
+
+ Down due to state of lower-layer interface(s).
+
+
+
+
+
+
+
+
+ NegotiationStatus
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.4
+
+ i=24238
+ i=29
+
+
+
+ The auto-negotiation protocol is running and negotiation is currently in-progress.
+
+
+ The auto-negotiation protocol has completed successfully.
+
+
+ The auto-negotiation protocol has failed.
+
+
+ The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).
+
+
+ No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24216
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ InProgress
+
+
+ The auto-negotiation protocol is running and negotiation is currently in-progress.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Complete
+
+
+ The auto-negotiation protocol has completed successfully.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Failed
+
+
+ The auto-negotiation protocol has failed.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Unknown
+
+
+ The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ NoNegotiation
+
+
+ No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.
+
+
+
+
+
+
+
+
+ TsnFailureCode
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.5
+
+ i=24239
+ i=29
+
+
+
+ No failure
+
+
+ Insufficient bandwidth
+
+
+ Insufficient bridge resources
+
+
+ Insufficient bandwidth for Traffic Class
+
+
+ StreamID in use by another Talker
+
+
+ Stream destination address already in use
+
+
+ Stream pre-empted by higher rank
+
+
+ Reported latency has changed
+
+
+ Egress port is not AVBCapable
+
+
+ Use a different destination address
+
+
+ Out of MSRP resources
+
+
+ Out of MMRP resources
+
+
+ Cannot store destination address
+
+
+ Requested priority is not an SR Class priority
+
+
+ MaxFrameSize is too large for media
+
+
+ MaxFanInPorts limit has been reached
+
+
+ Changes in FirstValue for a registered StreamID
+
+
+ VLAN is blocked on this egress port (Registration Forbidden)
+
+
+ VLAN tagging is disabled on this egress port (untagged set)
+
+
+ SR class priority mismatch
+
+
+ Enhanced feature cannot be propagated to original Port
+
+
+ MaxLatency exceeded
+
+
+ Nearest Bridge cannot provide network identification for stream transformation
+
+
+ Stream transformation not supported
+
+
+ Stream identification type not supported for stream transformation
+
+
+ Enhanced feature cannot be supported without a CNC
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24218
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ NoFailure
+
+
+ No failure
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ InsufficientBandwidth
+
+
+ Insufficient bandwidth
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ InsufficientResources
+
+
+ Insufficient bridge resources
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ InsufficientTrafficClassBandwidth
+
+
+ Insufficient bandwidth for Traffic Class
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ StreamIdInUse
+
+
+ StreamID in use by another Talker
+
+
+
+
+
+
+ i=7616
+
+
+
+ 5
+
+ StreamDestinationAddressInUse
+
+
+ Stream destination address already in use
+
+
+
+
+
+
+ i=7616
+
+
+
+ 6
+
+ StreamPreemptedByHigherRank
+
+
+ Stream pre-empted by higher rank
+
+
+
+
+
+
+ i=7616
+
+
+
+ 7
+
+ LatencyHasChanged
+
+
+ Reported latency has changed
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ EgressPortNotAvbCapable
+
+
+ Egress port is not AVBCapable
+
+
+
+
+
+
+ i=7616
+
+
+
+ 9
+
+ UseDifferentDestinationAddress
+
+
+ Use a different destination address
+
+
+
+
+
+
+ i=7616
+
+
+
+ 10
+
+ OutOfMsrpResources
+
+
+ Out of MSRP resources
+
+
+
+
+
+
+ i=7616
+
+
+
+ 11
+
+ OutOfMmrpResources
+
+
+ Out of MMRP resources
+
+
+
+
+
+
+ i=7616
+
+
+
+ 12
+
+ CannotStoreDestinationAddress
+
+
+ Cannot store destination address
+
+
+
+
+
+
+ i=7616
+
+
+
+ 13
+
+ PriorityIsNotAnSrcClass
+
+
+ Requested priority is not an SR Class priority
+
+
+
+
+
+
+ i=7616
+
+
+
+ 14
+
+ MaxFrameSizeTooLarge
+
+
+ MaxFrameSize is too large for media
+
+
+
+
+
+
+ i=7616
+
+
+
+ 15
+
+ MaxFanInPortsLimitReached
+
+
+ MaxFanInPorts limit has been reached
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16
+
+ FirstValueChangedForStreamId
+
+
+ Changes in FirstValue for a registered StreamID
+
+
+
+
+
+
+ i=7616
+
+
+
+ 17
+
+ VlanBlockedOnEgress
+
+
+ VLAN is blocked on this egress port (Registration Forbidden)
+
+
+
+
+
+
+ i=7616
+
+
+
+ 18
+
+ VlanTaggingDisabledOnEgress
+
+
+ VLAN tagging is disabled on this egress port (untagged set)
+
+
+
+
+
+
+ i=7616
+
+
+
+ 19
+
+ SrClassPriorityMismatch
+
+
+ SR class priority mismatch
+
+
+
+
+
+
+ i=7616
+
+
+
+ 20
+
+ FeatureNotPropagated
+
+
+ Enhanced feature cannot be propagated to original Port
+
+
+
+
+
+
+ i=7616
+
+
+
+ 21
+
+ MaxLatencyExceeded
+
+
+ MaxLatency exceeded
+
+
+
+
+
+
+ i=7616
+
+
+
+ 22
+
+ BridgeDoesNotProvideNetworkId
+
+
+ Nearest Bridge cannot provide network identification for stream transformation
+
+
+
+
+
+
+ i=7616
+
+
+
+ 23
+
+ StreamTransformNotSupported
+
+
+ Stream transformation not supported
+
+
+
+
+
+
+ i=7616
+
+
+
+ 24
+
+ StreamIdTypeNotSupported
+
+
+ Stream identification type not supported for stream transformation
+
+
+
+
+
+
+ i=7616
+
+
+
+ 25
+
+ FeatureNotSupported
+
+
+ Enhanced feature cannot be supported without a CNC
+
+
+
+
+
+
+
+
+ TsnStreamState
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.6
+
+ i=24240
+ i=29
+
+
+
+ The related TSN Stream is currently disabled.
+
+
+ The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.
+
+
+ The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.
+
+
+ The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.
+
+
+ The related TSN Stream object is in an error state.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24220
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ Disabled
+
+
+ The related TSN Stream is currently disabled.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Configuring
+
+
+ The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Ready
+
+
+ The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Operational
+
+
+ The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ Error
+
+
+ The related TSN Stream object is in an error state.
+
+
+
+
+
+
+
+
+ TsnTalkerStatus
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.7
+
+ i=24241
+ i=29
+
+
+
+ No Talker detected.
+
+
+ Talker ready (configured).
+
+
+ Talker failed.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24222
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ None
+
+
+ No Talker detected.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Ready
+
+
+ Talker ready (configured).
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Failed
+
+
+ Talker failed.
+
+
+
+
+
+
+
+
+ TsnListenerStatus
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.1/#5.3.1.8
+
+ i=24242
+ i=29
+
+
+
+ No Listener detected.
+
+
+ Listener ready (configured).
+
+
+ One or more Listeners ready, and one or more Listeners failed.
+
+
+ Listener failed.
+
+
+
+
+ EnumValues
+
+ i=68
+ i=24224
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ None
+
+
+ No Listener detected.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Ready
+
+
+ Listener ready (configured).
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ PartialFailed
+
+
+ One or more Listeners ready, and one or more Listeners failed.
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Failed
+
+
+ Listener failed.
+
+
+
+
+
+
+
+
+ UnsignedRationalNumber
+ https://reference.opcfoundation.org/v104/Part22/docs/5.3.2/#5.3.2.1
+
+ i=22
+
+
+
+
+
+
+
+ Resources
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.1
+
+ i=2253
+ i=61
+
+
+
+ Communication
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.2
+
+ i=24226
+ i=61
+
+
+
+ MappingTables
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.3
+
+ i=24227
+ i=61
+
+
+
+ NetworkInterfaces
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.4
+
+ i=24227
+ i=61
+
+
+
+ Streams
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.5
+
+ i=24227
+ i=61
+
+
+
+ TalkerStreams
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.6
+
+ i=24230
+ i=61
+
+
+
+ ListenerStreams
+ https://reference.opcfoundation.org/v104/Part22/docs/5.4.7
+
+ i=24230
+ i=61
+
+
+
+ IdType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.2.3
+
+ i=7591
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=256
+
+
+
+
+ Numeric
+
+
+ String
+
+
+ Guid
+
+
+ Opaque
+
+
+
+
+
+ NodeClass
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/5.2.3
+
+ i=11878
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=257
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ Unspecified
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Object
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Variable
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ Method
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ ObjectType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16
+
+ VariableType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 32
+
+ ReferenceType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 64
+
+ DataType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 128
+
+ View
+
+
+
+
+
+
+
+
+ PermissionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.55
+
+ i=15030
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=94
+
+
+
+
+ Browse
+
+
+ ReadRolePermissions
+
+
+ WriteAttribute
+
+
+ WriteRolePermissions
+
+
+ WriteHistorizing
+
+
+ Read
+
+
+ Write
+
+
+ ReadHistory
+
+
+ InsertHistory
+
+
+ ModifyHistory
+
+
+ DeleteHistory
+
+
+ ReceiveEvents
+
+
+ Call
+
+
+ AddReference
+
+
+ RemoveReference
+
+
+ DeleteNode
+
+
+ AddNode
+
+
+
+
+
+ AccessLevelType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.57
+
+ i=15032
+ i=3
+
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15031
+
+
+
+
+ CurrentRead
+
+
+ CurrentWrite
+
+
+ HistoryRead
+
+
+ HistoryWrite
+
+
+ SemanticChange
+
+
+ StatusWrite
+
+
+ TimestampWrite
+
+
+
+
+
+ AccessLevelExType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.58
+
+ i=15407
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15406
+
+
+
+
+ CurrentRead
+
+
+ CurrentWrite
+
+
+ HistoryRead
+
+
+ HistoryWrite
+
+
+ SemanticChange
+
+
+ StatusWrite
+
+
+ TimestampWrite
+
+
+ Reserved
+
+
+ NonatomicRead
+
+
+ NonatomicWrite
+
+
+ WriteFullArrayOnly
+
+
+ NoSubDataTypes
+
+
+
+
+
+ EventNotifierType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.59
+
+ i=15034
+ i=3
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=15033
+
+
+
+
+ SubscribeToEvents
+
+
+ Reserved
+
+
+ HistoryRead
+
+
+ HistoryWrite
+
+
+
+
+
+ AccessRestrictionType
+
+ i=15035
+ i=5
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=95
+
+
+
+
+ SigningRequired
+
+
+ EncryptionRequired
+
+
+ SessionRequired
+
+
+ ApplyRestrictionsToBrowse
+
+
+
+
+
+ RolePermissionType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/5.2.9
+
+ i=22
+
+
+
+
+
+
+
+ DataTypeDefinition
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=22
+
+
+
+
+ StructureType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.49
+
+ i=14528
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=98
+
+
+
+
+ Structure
+
+
+ StructureWithOptionalFields
+
+
+ Union
+
+
+ StructureWithSubtypedValues
+
+
+ UnionWithSubtypedValues
+
+
+
+
+
+ StructureField
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.51
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ StructureDefinition
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.49
+
+ i=97
+
+
+
+
+
+
+
+
+
+ EnumDefinition
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.50
+
+ i=97
+
+
+
+
+
+
+ Node
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/D.5.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ InstanceNode
+
+ i=258
+
+
+
+
+ TypeNode
+
+ i=258
+
+
+
+
+ ObjectNode
+
+ i=11879
+
+
+
+
+
+
+ ObjectTypeNode
+
+ i=11880
+
+
+
+
+
+
+ VariableNode
+
+ i=11879
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VariableTypeNode
+
+ i=11880
+
+
+
+
+
+
+
+
+
+
+ ReferenceTypeNode
+
+ i=11880
+
+
+
+
+
+
+
+
+ MethodNode
+
+ i=11879
+
+
+
+
+
+
+
+ ViewNode
+
+ i=11879
+
+
+
+
+
+
+
+ DataTypeNode
+
+ i=11880
+
+
+
+
+
+
+
+ ReferenceNode
+
+ i=22
+
+
+
+
+
+
+
+
+ Argument
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.6
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ EnumValueType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.2
+
+ i=22
+
+
+
+
+
+
+
+
+ EnumField
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.52
+
+ i=7594
+
+
+
+
+
+
+ OptionSet
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.41
+
+ i=22
+
+
+
+
+
+
+
+ NormalizedString
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.46
+
+ i=12
+
+
+
+ DecimalString
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.44
+
+ i=12
+
+
+
+ DurationString
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.45
+
+ i=12
+
+
+
+ TimeString
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.47
+
+ i=12
+
+
+
+ DateString
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.43
+
+ i=12
+
+
+
+ Duration
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.13
+
+ i=11
+
+
+
+ UtcTime
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.38
+
+ i=13
+
+
+
+ Time
+
+ i=12
+
+
+
+ Date
+
+ i=13
+
+
+
+ LocaleId
+ https://reference.opcfoundation.org/v104/Core/docs/Part9/A.1.3
+
+ i=12
+
+
+
+ TimeZoneDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.28
+
+ i=22
+
+
+
+
+
+
+
+ Index
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.13
+
+ i=7
+
+
+
+ IntegerId
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.14
+
+ i=7
+
+
+
+ ApplicationType
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.1
+
+ i=7597
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=307
+
+
+
+
+ Server
+
+
+ Client
+
+
+ ClientAndServer
+
+
+ DiscoveryServer
+
+
+
+
+
+ ApplicationDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ RequestHeader
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.28
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ ResponseHeader
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.29
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ VersionTime
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.38
+
+ i=7
+
+
+
+ ServiceFault
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.30
+
+ i=22
+
+
+
+
+
+
+ SessionlessInvokeRequestType
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ SessionlessInvokeResponseType
+
+ i=22
+
+
+
+
+
+
+
+
+ FindServersRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.2/#5.4.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ FindServersResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.2/#5.4.2.2
+
+ i=22
+
+
+
+
+
+
+
+ ServerOnNetwork
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.3/#5.4.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ FindServersOnNetworkRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.3/#5.4.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ FindServersOnNetworkResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.3/#5.4.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ ApplicationInstanceCertificate
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.2
+
+ i=15
+
+
+
+ MessageSecurityMode
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.15
+
+ i=7595
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=302
+
+
+
+
+ Invalid
+
+
+ None
+
+
+ Sign
+
+
+ SignAndEncrypt
+
+
+
+
+
+ UserTokenType
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.37
+
+ i=7596
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=303
+
+
+
+
+ Anonymous
+
+
+ UserName
+
+
+ Certificate
+
+
+ IssuedToken
+
+
+
+
+
+ UserTokenPolicy
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.37
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ EndpointDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.10
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GetEndpointsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.4/#5.4.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ GetEndpointsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.4/#5.4.4.2
+
+ i=22
+
+
+
+
+
+
+
+ RegisteredServer
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.27
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RegisterServerRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.5/#5.4.5.2
+
+ i=22
+
+
+
+
+
+
+
+ RegisterServerResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.5/#5.4.5.2
+
+ i=22
+
+
+
+
+
+
+ DiscoveryConfiguration
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.9.1
+
+ i=22
+
+
+
+
+ MdnsDiscoveryConfiguration
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.9.2
+
+ i=12890
+
+
+
+
+
+
+
+ RegisterServer2Request
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.6/#5.4.6.2
+
+ i=22
+
+
+
+
+
+
+
+
+ RegisterServer2Response
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.4.6/#5.4.6.2
+
+ i=22
+
+
+
+
+
+
+
+
+ SecurityTokenRequestType
+
+ i=7598
+ i=29
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=315
+
+
+
+
+ Issue
+
+
+ Renew
+
+
+
+
+
+ ChannelSecurityToken
+
+ i=22
+
+
+
+
+
+
+
+
+
+ OpenSecureChannelRequest
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ OpenSecureChannelResponse
+
+ i=22
+
+
+
+
+
+
+
+
+
+ CloseSecureChannelRequest
+
+ i=22
+
+
+
+
+
+
+ CloseSecureChannelResponse
+
+ i=22
+
+
+
+
+
+
+ SignedSoftwareCertificate
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.33
+
+ i=22
+
+
+
+
+
+
+
+ SessionAuthenticationToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.31
+
+ i=17
+
+
+
+ SignatureData
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.32
+
+ i=22
+
+
+
+
+
+
+
+ CreateSessionRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.2/#5.6.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CreateSessionResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.2/#5.6.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UserIdentityToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.1
+
+ i=22
+
+
+
+
+
+
+ AnonymousIdentityToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.3
+
+ i=316
+
+
+
+
+ UserNameIdentityToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.4
+
+ i=316
+
+
+
+
+
+
+
+
+ X509IdentityToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.5
+
+ i=316
+
+
+
+
+
+
+ IssuedIdentityToken
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.6
+
+ i=316
+
+
+
+
+
+
+
+ RsaEncryptedSecret
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.36.2/#7.36.2.4
+
+ i=24
+
+
+
+ EccEncryptedSecret
+
+ i=24
+
+
+
+ ActivateSessionRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.3/#5.6.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ ActivateSessionResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.3/#5.6.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ CloseSessionRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.4/#5.6.4.2
+
+ i=22
+
+
+
+
+
+
+
+ CloseSessionResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.4/#5.6.4.2
+
+ i=22
+
+
+
+
+
+
+ CancelRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.5/#5.6.5.2
+
+ i=22
+
+
+
+
+
+
+
+ CancelResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.5/#5.6.5.2
+
+ i=22
+
+
+
+
+
+
+
+ NodeAttributesMask
+
+ i=11881
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=348
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ None
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ AccessLevel
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ ArrayDimensions
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ BrowseName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ ContainsNoLoops
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16
+
+ DataType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 32
+
+ Description
+
+
+
+
+
+
+ i=7616
+
+
+
+ 64
+
+ DisplayName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 128
+
+ EventNotifier
+
+
+
+
+
+
+ i=7616
+
+
+
+ 256
+
+ Executable
+
+
+
+
+
+
+ i=7616
+
+
+
+ 512
+
+ Historizing
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1024
+
+ InverseName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2048
+
+ IsAbstract
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4096
+
+ MinimumSamplingInterval
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8192
+
+ NodeClass
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16384
+
+ NodeId
+
+
+
+
+
+
+ i=7616
+
+
+
+ 32768
+
+ Symmetric
+
+
+
+
+
+
+ i=7616
+
+
+
+ 65536
+
+ UserAccessLevel
+
+
+
+
+
+
+ i=7616
+
+
+
+ 131072
+
+ UserExecutable
+
+
+
+
+
+
+ i=7616
+
+
+
+ 262144
+
+ UserWriteMask
+
+
+
+
+
+
+ i=7616
+
+
+
+ 524288
+
+ ValueRank
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1048576
+
+ WriteMask
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2097152
+
+ Value
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4194304
+
+ DataTypeDefinition
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8388608
+
+ RolePermissions
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16777216
+
+ AccessRestrictions
+
+
+
+
+
+
+ i=7616
+
+
+
+ 33554431
+
+ All
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26501220
+
+ BaseNode
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26501348
+
+ Object
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26503268
+
+ ObjectType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26571383
+
+ Variable
+
+
+
+
+
+
+ i=7616
+
+
+
+ 28600438
+
+ VariableType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26632548
+
+ Method
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26537060
+
+ ReferenceType
+
+
+
+
+
+
+ i=7616
+
+
+
+ 26501356
+
+ View
+
+
+
+
+
+
+
+
+ NodeAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ ObjectAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.2
+
+ i=349
+
+
+
+
+
+
+ VariableAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.3
+
+ i=349
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MethodAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.4
+
+ i=349
+
+
+
+
+
+
+
+ ObjectTypeAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.5
+
+ i=349
+
+
+
+
+
+
+ VariableTypeAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.6
+
+ i=349
+
+
+
+
+
+
+
+
+
+
+ ReferenceTypeAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.7
+
+ i=349
+
+
+
+
+
+
+
+
+ DataTypeAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.8
+
+ i=349
+
+
+
+
+
+
+ ViewAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.9
+
+ i=349
+
+
+
+
+
+
+
+ GenericAttributeValue
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.10
+
+ i=22
+
+
+
+
+
+
+
+ GenericAttributes
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.19.10
+
+ i=349
+
+
+
+
+
+
+ AddNodesItem
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.2/#5.7.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ AddNodesResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.2/#5.7.2.2
+
+ i=22
+
+
+
+
+
+
+
+ AddNodesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.2/#5.7.2.2
+
+ i=22
+
+
+
+
+
+
+
+ AddNodesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.2/#5.7.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ AddReferencesItem
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.3/#5.7.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ AddReferencesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.3/#5.7.3.2
+
+ i=22
+
+
+
+
+
+
+
+ AddReferencesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.3/#5.7.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ DeleteNodesItem
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.4/#5.7.4.2
+
+ i=22
+
+
+
+
+
+
+
+ DeleteNodesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.4/#5.7.4.2
+
+ i=22
+
+
+
+
+
+
+
+ DeleteNodesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.4/#5.7.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ DeleteReferencesItem
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.5/#5.7.5.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ DeleteReferencesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.5/#5.7.5.1
+
+ i=22
+
+
+
+
+
+
+
+ DeleteReferencesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.7.5/#5.7.5.1
+
+ i=22
+
+
+
+
+
+
+
+
+ AttributeWriteMask
+ https://reference.opcfoundation.org/v104/Core/docs/Part3/8.60
+
+ i=15036
+ i=7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OptionSetValues
+
+ i=68
+ i=347
+
+
+
+
+ AccessLevel
+
+
+ ArrayDimensions
+
+
+ BrowseName
+
+
+ ContainsNoLoops
+
+
+ DataType
+
+
+ Description
+
+
+ DisplayName
+
+
+ EventNotifier
+
+
+ Executable
+
+
+ Historizing
+
+
+ InverseName
+
+
+ IsAbstract
+
+
+ MinimumSamplingInterval
+
+
+ NodeClass
+
+
+ NodeId
+
+
+ Symmetric
+
+
+ UserAccessLevel
+
+
+ UserExecutable
+
+
+ UserWriteMask
+
+
+ ValueRank
+
+
+ WriteMask
+
+
+ ValueForVariableType
+
+
+ DataTypeDefinition
+
+
+ RolePermissions
+
+
+ AccessRestrictions
+
+
+ AccessLevelEx
+
+
+
+
+
+ BrowseDirection
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.2/#5.8.2.2
+
+ i=7603
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=510
+
+
+
+
+ Forward
+
+
+ Inverse
+
+
+ Both
+
+
+ Invalid
+
+
+
+
+
+ ViewDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.39
+
+ i=22
+
+
+
+
+
+
+
+
+ BrowseDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.2/#5.8.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ BrowseResultMask
+
+ i=11883
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=517
+
+
+
+
+
+ i=7616
+
+
+
+ 0
+
+ None
+
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ ReferenceTypeId
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ IsForward
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ NodeClass
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ BrowseName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16
+
+ DisplayName
+
+
+
+
+
+
+ i=7616
+
+
+
+ 32
+
+ TypeDefinition
+
+
+
+
+
+
+ i=7616
+
+
+
+ 63
+
+ All
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ ReferenceTypeInfo
+
+
+
+
+
+
+ i=7616
+
+
+
+ 60
+
+ TargetInfo
+
+
+
+
+
+
+
+
+ ReferenceDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.25
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ ContinuationPoint
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.6
+
+ i=15
+
+
+
+ BrowseResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.3
+
+ i=22
+
+
+
+
+
+
+
+
+ BrowseRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.2/#5.8.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ BrowseResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.2/#5.8.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ BrowseNextRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.3/#5.8.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ BrowseNextResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.3/#5.8.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ RelativePathElement
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.26
+
+ i=22
+
+
+
+
+
+
+
+
+
+ RelativePath
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.26
+
+ i=22
+
+
+
+
+
+
+ BrowsePath
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/#5.8.4.2
+
+ i=22
+
+
+
+
+
+
+
+ BrowsePathTarget
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/#5.8.4.2
+
+ i=22
+
+
+
+
+
+
+
+ BrowsePathResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/#5.8.4.2
+
+ i=22
+
+
+
+
+
+
+
+ TranslateBrowsePathsToNodeIdsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/#5.8.4.2
+
+ i=22
+
+
+
+
+
+
+
+ TranslateBrowsePathsToNodeIdsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.4/#5.8.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ RegisterNodesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.5/#5.8.5.2
+
+ i=22
+
+
+
+
+
+
+
+ RegisterNodesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.5/#5.8.5.2
+
+ i=22
+
+
+
+
+
+
+
+ UnregisterNodesRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.6/#5.8.6.2
+
+ i=22
+
+
+
+
+
+
+
+ UnregisterNodesResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.8.6/#5.8.6.2
+
+ i=22
+
+
+
+
+
+
+ Counter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.5
+
+ i=7
+
+
+
+ NumericRange
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.22
+
+ i=12
+
+
+
+ EndpointConfiguration
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ QueryDataDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.3/#5.9.3.1
+
+ i=22
+
+
+
+
+
+
+
+
+ NodeTypeDescription
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.3/#5.9.3.1
+
+ i=22
+
+
+
+
+
+
+
+
+ FilterOperator
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.3
+
+ i=7605
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=576
+
+
+
+
+ Equals
+
+
+ IsNull
+
+
+ GreaterThan
+
+
+ LessThan
+
+
+ GreaterThanOrEqual
+
+
+ LessThanOrEqual
+
+
+ Like
+
+
+ Not
+
+
+ Between
+
+
+ InList
+
+
+ And
+
+
+ Or
+
+
+ Cast
+
+
+ InView
+
+
+ OfType
+
+
+ RelatedTo
+
+
+ BitwiseAnd
+
+
+ BitwiseOr
+
+
+
+
+
+ QueryDataSet
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.23
+
+ i=22
+
+
+
+
+
+
+
+
+ NodeReference
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ContentFilterElement
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.1
+
+ i=22
+
+
+
+
+
+
+
+ ContentFilter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.1
+
+ i=22
+
+
+
+
+
+
+ FilterOperand
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.4
+
+ i=22
+
+
+
+
+ ElementOperand
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.4/#7.4.4.2
+
+ i=589
+
+
+
+
+
+
+ LiteralOperand
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.4/#7.4.4.3
+
+ i=589
+
+
+
+
+
+
+ AttributeOperand
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.4/#7.4.4.4
+
+ i=589
+
+
+
+
+
+
+
+
+
+
+ SimpleAttributeOperand
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.4/#7.4.4.5
+
+ i=589
+
+
+
+
+
+
+
+
+
+ ContentFilterElementResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ ContentFilterResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.4.2
+
+ i=22
+
+
+
+
+
+
+
+ ParsingResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.3/#5.9.3.1
+
+ i=22
+
+
+
+
+
+
+
+
+ QueryFirstRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.3/#5.9.3.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ QueryFirstResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.3/#5.9.3.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ QueryNextRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.4/#5.9.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ QueryNextResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.9.4/#5.9.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ TimestampsToReturn
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.35
+
+ i=7606
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=625
+
+
+
+
+ Source
+
+
+ Server
+
+
+ Both
+
+
+ Neither
+
+
+ Invalid
+
+
+
+
+
+ ReadValueId
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.24
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ReadRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.2/#5.10.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ReadResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.2/#5.10.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ HistoryReadValueId
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.3/#5.10.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ HistoryReadResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.3/#5.10.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ HistoryReadDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.1
+
+ i=22
+
+
+
+
+ ReadEventDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.2/#6.4.2.1
+
+ i=641
+
+
+
+
+
+
+
+
+
+ ReadRawModifiedDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.3/#6.4.3.1
+
+ i=641
+
+
+
+
+
+
+
+
+
+
+ ReadProcessedDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.4/#6.4.4.1
+
+ i=641
+
+
+
+
+
+
+
+
+
+
+ ReadAtTimeDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.5/#6.4.5.1
+
+ i=641
+
+
+
+
+
+
+
+ ReadAnnotationDataDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.6/#6.4.6.1
+
+ i=641
+
+
+
+
+
+
+ HistoryData
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.5.2
+
+ i=22
+
+
+
+
+
+
+ ModificationInfo
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.5.3
+
+ i=22
+
+
+
+
+
+
+
+
+ HistoryModifiedData
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.5.3
+
+ i=656
+
+
+
+
+
+
+ HistoryEvent
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.5.4
+
+ i=22
+
+
+
+
+
+
+ HistoryReadRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.3/#5.10.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ HistoryReadResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.3/#5.10.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ WriteValue
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.4/#5.10.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ WriteRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.4/#5.10.4.2
+
+ i=22
+
+
+
+
+
+
+
+ WriteResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.4/#5.10.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ HistoryUpdateDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.1
+
+ i=22
+
+
+
+
+
+
+ HistoryUpdateType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.6
+
+ i=11884
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=11234
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Insert
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Replace
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Update
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ Delete
+
+
+
+
+
+
+
+
+ PerformUpdateType
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.7
+
+ i=11885
+ i=29
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=11293
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ Insert
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ Replace
+
+
+
+
+
+
+ i=7616
+
+
+
+ 3
+
+ Update
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ Remove
+
+
+
+
+
+
+
+
+ UpdateDataDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.2/#6.8.2.1
+
+ i=677
+
+
+
+
+
+
+
+ UpdateStructureDataDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.3/#6.8.3.1
+
+ i=677
+
+
+
+
+
+
+
+ UpdateEventDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.4/#6.8.4.1
+
+ i=677
+
+
+
+
+
+
+
+
+ DeleteRawModifiedDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.5/#6.8.5.1
+
+ i=677
+
+
+
+
+
+
+
+
+ DeleteAtTimeDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.6/#6.8.6.1
+
+ i=677
+
+
+
+
+
+
+ DeleteEventDetails
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.8.7/#6.8.7.1
+
+ i=677
+
+
+
+
+
+
+ HistoryUpdateResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.5/#5.10.5.2
+
+ i=22
+
+
+
+
+
+
+
+
+ HistoryUpdateRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.5/#5.10.5.2
+
+ i=22
+
+
+
+
+
+
+
+ HistoryUpdateResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.10.5/#5.10.5.2
+
+ i=22
+
+
+
+
+
+
+
+
+ CallMethodRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.11.2/#5.11.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ CallMethodResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.11.2/#5.11.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ CallRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.11.2/#5.11.2.2
+
+ i=22
+
+
+
+
+
+
+
+ CallResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.11.2/#5.11.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ MonitoringMode
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.18
+
+ i=7608
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=716
+
+
+
+
+ Disabled
+
+
+ Sampling
+
+
+ Reporting
+
+
+
+
+
+ DataChangeTrigger
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.2
+
+ i=7609
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=717
+
+
+
+
+ Status
+
+
+ StatusValue
+
+
+ StatusValueTimestamp
+
+
+
+
+
+ DeadbandType
+
+ i=7610
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=718
+
+
+
+
+ None
+
+
+ Absolute
+
+
+ Percent
+
+
+
+
+
+ MonitoringFilter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.1
+
+ i=22
+
+
+
+
+ DataChangeFilter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.2
+
+ i=719
+
+
+
+
+
+
+
+
+ EventFilter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.3
+
+ i=719
+
+
+
+
+
+
+
+ AggregateConfiguration
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/6.4.4/#6.4.4.1
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ AggregateFilter
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.4
+
+ i=719
+
+
+
+
+
+
+
+
+
+ MonitoringFilterResult
+
+ i=22
+
+
+
+
+ EventFilterResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.3
+
+ i=731
+
+
+
+
+
+
+
+
+ AggregateFilterResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.17.4
+
+ i=731
+
+
+
+
+
+
+
+
+ MonitoringParameters
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.16
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ MonitoredItemCreateRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.2/#5.12.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ MonitoredItemCreateResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.2/#5.12.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ CreateMonitoredItemsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.2/#5.12.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ CreateMonitoredItemsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.2/#5.12.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+ MonitoredItemModifyRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.3/#5.12.3.2
+
+ i=22
+
+
+
+
+
+
+
+ MonitoredItemModifyResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.3/#5.12.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ModifyMonitoredItemsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.3/#5.12.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ModifyMonitoredItemsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.3/#5.12.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+ SetMonitoringModeRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.4/#5.12.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ SetMonitoringModeResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.4/#5.12.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ SetTriggeringRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.5/#5.12.5.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ SetTriggeringResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.5/#5.12.5.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ DeleteMonitoredItemsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.6/#5.12.6.2
+
+ i=22
+
+
+
+
+
+
+
+
+ DeleteMonitoredItemsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.12.6/#5.12.6.2
+
+ i=22
+
+
+
+
+
+
+
+
+ CreateSubscriptionRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/#5.13.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ CreateSubscriptionResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.2/#5.13.2.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ ModifySubscriptionRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.3/#5.13.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ ModifySubscriptionResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.3/#5.13.3.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+ SetPublishingModeRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.4/#5.13.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ SetPublishingModeResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.4/#5.13.4.2
+
+ i=22
+
+
+
+
+
+
+
+
+ NotificationMessage
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.21
+
+ i=22
+
+
+
+
+
+
+
+
+ NotificationData
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.1
+
+ i=22
+
+
+
+
+ DataChangeNotification
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.2
+
+ i=945
+
+
+
+
+
+
+
+ MonitoredItemNotification
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.2
+
+ i=22
+
+
+
+
+
+
+
+ EventNotificationList
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.3
+
+ i=945
+
+
+
+
+
+
+ EventFieldList
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.3
+
+ i=22
+
+
+
+
+
+
+
+ HistoryEventFieldList
+
+ i=22
+
+
+
+
+
+
+ StatusChangeNotification
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/7.20.4
+
+ i=945
+
+
+
+
+
+
+
+ SubscriptionAcknowledgement
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.5/#5.13.5.2
+
+ i=22
+
+
+
+
+
+
+
+ PublishRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.5/#5.13.5.2
+
+ i=22
+
+
+
+
+
+
+
+ PublishResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.5/#5.13.5.2
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+ RepublishRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.6/#5.13.6.2
+
+ i=22
+
+
+
+
+
+
+
+
+ RepublishResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.6/#5.13.6.2
+
+ i=22
+
+
+
+
+
+
+
+ TransferResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.7/#5.13.7.2
+
+ i=22
+
+
+
+
+
+
+
+ TransferSubscriptionsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.7/#5.13.7.2
+
+ i=22
+
+
+
+
+
+
+
+
+ TransferSubscriptionsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.7/#5.13.7.2
+
+ i=22
+
+
+
+
+
+
+
+
+ DeleteSubscriptionsRequest
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.8/#5.13.8.2
+
+ i=22
+
+
+
+
+
+
+
+ DeleteSubscriptionsResponse
+ https://reference.opcfoundation.org/v104/Core/docs/Part4/5.13.8/#5.13.8.2
+
+ i=22
+
+
+
+
+
+
+
+
+ BuildInfo
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.4
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ RedundancySupport
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.5
+
+ i=7611
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=851
+
+
+
+
+ None
+
+
+ Cold
+
+
+ Warm
+
+
+ Hot
+
+
+ Transparent
+
+
+ HotAndMirrored
+
+
+
+
+
+ ServerState
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.6
+
+ i=7612
+ i=29
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=852
+
+
+
+
+ Running
+
+
+ Failed
+
+
+ NoConfiguration
+
+
+ Suspended
+
+
+ Shutdown
+
+
+ Test
+
+
+ CommunicationFault
+
+
+ Unknown
+
+
+
+
+
+ RedundantServerDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.7
+
+ i=22
+
+
+
+
+
+
+
+
+ EndpointUrlListDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.20
+
+ i=22
+
+
+
+
+
+
+ NetworkGroupDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.19
+
+ i=22
+
+
+
+
+
+
+
+ SamplingIntervalDiagnosticsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.8
+
+ i=22
+
+
+
+
+
+
+
+
+
+ ServerDiagnosticsSummaryDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.9
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServerStatusDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.10
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+ SessionDiagnosticsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.11
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SessionSecurityDiagnosticsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.12
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ServiceCounterDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.13
+
+ i=22
+
+
+
+
+
+
+
+ StatusResult
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.14
+
+ i=22
+
+
+
+
+
+
+
+ SubscriptionDiagnosticsDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.15
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ModelChangeStructureVerbMask
+
+ i=11942
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumValues
+
+ i=68
+ i=11941
+
+
+
+
+
+ i=7616
+
+
+
+ 1
+
+ NodeAdded
+
+
+
+
+
+
+ i=7616
+
+
+
+ 2
+
+ NodeDeleted
+
+
+
+
+
+
+ i=7616
+
+
+
+ 4
+
+ ReferenceAdded
+
+
+
+
+
+
+ i=7616
+
+
+
+ 8
+
+ ReferenceDeleted
+
+
+
+
+
+
+ i=7616
+
+
+
+ 16
+
+ DataTypeChanged
+
+
+
+
+
+
+
+
+ ModelChangeStructureDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.16
+
+ i=22
+
+
+
+
+
+
+
+
+ SemanticChangeStructureDataType
+ https://reference.opcfoundation.org/v104/Core/docs/Part5/12.17
+
+ i=22
+
+
+
+
+
+
+
+ Range
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.2
+
+ i=22
+
+
+
+
+
+
+
+ EUInformation
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.3
+
+ i=22
+
+
+
+
+
+
+
+
+
+ AxisScaleEnumeration
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.7
+
+ i=12078
+ i=29
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=12077
+
+
+
+
+ Linear
+
+
+ Log
+
+
+ Ln
+
+
+
+
+
+ ComplexNumberType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.4
+
+ i=22
+
+
+
+
+
+
+
+ DoubleComplexNumberType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.5
+
+ i=22
+
+
+
+
+
+
+
+ AxisInformation
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.6
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+ XVType
+ https://reference.opcfoundation.org/v104/Core/docs/Part8/5.6.8
+
+ i=22
+
+
+
+
+
+
+
+ ProgramDiagnosticDataType
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ProgramDiagnostic2DataType
+
+ i=22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Annotation
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.5
+
+ i=22
+
+
+
+
+
+
+
+
+ ExceptionDeviationFormat
+ https://reference.opcfoundation.org/v104/Core/docs/Part11/5.2.2
+
+ i=7614
+ i=29
+
+
+
+
+
+
+
+
+
+
+ EnumStrings
+
+ i=68
+ i=890
+
+
+
+
+ AbsoluteValue
+
+
+ PercentOfValue
+
+
+ PercentOfRange
+
+
+ PercentOfEURange
+
+
+ Unknown
+
+
+
+
+
+ Default Binary
+
+ i=12756
+ i=12770
+ i=76
+
+
+
+ Default Binary
+
+ i=14533
+ i=14873
+ i=76
+
+
+
+ Default Binary
+
+ i=16313
+ i=17538
+ i=76
+
+
+
+ Default Binary
+
+ i=17548
+ i=17550
+ i=76
+
+
+
+ Default Binary
+
+ i=15528
+ i=15734
+ i=76
+
+
+
+ Default Binary
+
+ i=18806
+ i=18824
+ i=76
+
+
+
+ Default Binary
+
+ i=18807
+ i=18827
+ i=76
+
+
+
+ Default Binary
+
+ i=18808
+ i=18830
+ i=76
+
+
+
+ Default Binary
+
+ i=18809
+ i=18833
+ i=76
+
+
+
+ Default Binary
+
+ i=18810
+ i=18836
+ i=76
+
+
+
+ Default Binary
+
+ i=18811
+ i=18839
+ i=76
+
+
+
+ Default Binary
+
+ i=18812
+ i=18842
+ i=76
+
+
+
+ Default Binary
+
+ i=18813
+ i=18845
+ i=76
+
+
+
+ Default Binary
+
+ i=18814
+ i=18848
+ i=76
+
+
+
+ Default Binary
+
+ i=15634
+ i=15738
+ i=76
+
+
+
+ Default Binary
+
+ i=23498
+ i=23514
+ i=76
+
+
+
+ Default Binary
+
+ i=12554
+ i=12681
+ i=76
+
+
+
+ Default Binary
+
+ i=17861
+ i=76
+
+
+
+ Default Binary
+
+ i=15534
+ i=15741
+ i=76
+
+
+
+ Default Binary
+
+ i=14525
+ i=14855
+ i=76
+
+
+
+ Default Binary
+
+ i=15487
+ i=15599
+ i=76
+
+
+
+ Default Binary
+
+ i=15488
+ i=15602
+ i=76
+
+
+
+ Default Binary
+
+ i=15005
+ i=15501
+ i=76
+
+
+
+ Default Binary
+
+ i=15006
+ i=15521
+ i=76
+
+
+
+ Default Binary
+
+ i=14523
+ i=14849
+ i=76
+
+
+
+ Default Binary
+
+ i=14524
+ i=14852
+ i=76
+
+
+
+ Default Binary
+
+ i=14593
+ i=14876
+ i=76
+
+
+
+ Default Binary
+
+ i=15578
+ i=15766
+ i=76
+
+
+
+ Default Binary
+
+ i=15580
+ i=15769
+ i=76
+
+
+
+ Default Binary
+
+ i=14273
+ i=14324
+ i=76
+
+
+
+ Default Binary
+
+ i=15581
+ i=15772
+ i=76
+
+
+
+ Default Binary
+
+ i=15582
+ i=15775
+ i=76
+
+
+
+ Default Binary
+
+ i=15597
+ i=15778
+ i=76
+
+
+
+ Default Binary
+
+ i=15598
+ i=15781
+ i=76
+
+
+
+ Default Binary
+
+ i=15605
+ i=15784
+ i=76
+
+
+
+ Default Binary
+
+ i=15609
+ i=15787
+ i=76
+
+
+
+ Default Binary
+
+ i=15480
+ i=21156
+ i=76
+
+
+
+ Default Binary
+
+ i=15611
+ i=15793
+ i=76
+
+
+
+ Default Binary
+
+ i=15616
+ i=15854
+ i=76
+
+
+
+ Default Binary
+
+ i=15617
+ i=15857
+ i=76
+
+
+
+ Default Binary
+
+ i=15618
+ i=15860
+ i=76
+
+
+
+ Default Binary
+
+ i=15502
+ i=21159
+ i=76
+
+
+
+ Default Binary
+
+ i=15510
+ i=21162
+ i=76
+
+
+
+ Default Binary
+
+ i=15520
+ i=21165
+ i=76
+
+
+
+ Default Binary
+
+ i=15621
+ i=15866
+ i=76
+
+
+
+ Default Binary
+
+ i=15622
+ i=15869
+ i=76
+
+
+
+ Default Binary
+
+ i=15623
+ i=15872
+ i=76
+
+
+
+ Default Binary
+
+ i=15628
+ i=15877
+ i=76
+
+
+
+ Default Binary
+
+ i=15629
+ i=15880
+ i=76
+
+
+
+ Default Binary
+
+ i=15630
+ i=15883
+ i=76
+
+
+
+ Default Binary
+
+ i=15631
+ i=15886
+ i=76
+
+
+
+ Default Binary
+
+ i=14744
+ i=21002
+ i=76
+
+
+
+ Default Binary
+
+ i=15635
+ i=15889
+ i=76
+
+
+
+ Default Binary
+
+ i=15530
+ i=21168
+ i=76
+
+
+
+ Default Binary
+
+ i=15645
+ i=15895
+ i=76
+
+
+
+ Default Binary
+
+ i=15652
+ i=15898
+ i=76
+
+
+
+ Default Binary
+
+ i=15653
+ i=15919
+ i=76
+
+
+
+ Default Binary
+
+ i=15657
+ i=15922
+ i=76
+
+
+
+ Default Binary
+
+ i=15664
+ i=15925
+ i=76
+
+
+
+ Default Binary
+
+ i=15665
+ i=15931
+ i=76
+
+
+
+ Default Binary
+
+ i=17467
+ i=17469
+ i=76
+
+
+
+ Default Binary
+
+ i=15532
+ i=21171
+ i=76
+
+
+
+ Default Binary
+
+ i=15007
+ i=15524
+ i=76
+
+
+
+ Default Binary
+
+ i=15667
+ i=15940
+ i=76
+
+
+
+ Default Binary
+
+ i=15669
+ i=15943
+ i=76
+
+
+
+ Default Binary
+
+ i=15670
+ i=15946
+ i=76
+
+
+
+ Default Binary
+
+ i=23468
+ i=23502
+ i=76
+
+
+
+ Default Binary
+
+ i=24107
+ i=24117
+ i=76
+
+
+
+ Default Binary
+
+ i=96
+ i=16131
+ i=76
+
+
+
+ Default Binary
+
+ i=97
+ i=18178
+ i=76
+
+
+
+ Default Binary
+
+ i=101
+ i=18181
+ i=76
+
+
+
+ Default Binary
+
+ i=99
+ i=18184
+ i=76
+
+
+
+ Default Binary
+
+ i=100
+ i=18187
+ i=76
+
+
+
+ Default Binary
+
+ i=258
+ i=76
+
+
+
+ Default Binary
+
+ i=11879
+ i=76
+
+
+
+ Default Binary
+
+ i=11880
+ i=76
+
+
+
+ Default Binary
+
+ i=261
+ i=76
+
+
+
+ Default Binary
+
+ i=264
+ i=76
+
+
+
+ Default Binary
+
+ i=267
+ i=76
+
+
+
+ Default Binary
+
+ i=270
+ i=76
+
+
+
+ Default Binary
+
+ i=273
+ i=76
+
+
+
+ Default Binary
+
+ i=276
+ i=76
+
+
+
+ Default Binary
+
+ i=279
+ i=76
+
+
+
+ Default Binary
+
+ i=282
+ i=76
+
+
+
+ Default Binary
+
+ i=285
+ i=76
+
+
+
+ Default Binary
+
+ i=296
+ i=7650
+ i=76
+
+
+
+ Default Binary
+
+ i=7594
+ i=7656
+ i=76
+
+
+
+ Default Binary
+
+ i=102
+ i=14870
+ i=76
+
+
+
+ Default Binary
+
+ i=12755
+ i=12767
+ i=76
+
+
+
+ Default Binary
+
+ i=8912
+ i=8914
+ i=76
+
+
+
+ Default Binary
+
+ i=308
+ i=7665
+ i=76
+
+
+
+ Default Binary
+
+ i=389
+ i=76
+
+
+
+ Default Binary
+
+ i=392
+ i=76
+
+
+
+ Default Binary
+
+ i=395
+ i=76
+
+
+
+ Default Binary
+
+ i=15901
+ i=76
+
+
+
+ Default Binary
+
+ i=20999
+ i=76
+
+
+
+ Default Binary
+
+ i=420
+ i=76
+
+
+
+ Default Binary
+
+ i=423
+ i=76
+
+
+
+ Default Binary
+
+ i=12189
+ i=12213
+ i=76
+
+
+
+ Default Binary
+
+ i=12190
+ i=76
+
+
+
+ Default Binary
+
+ i=12191
+ i=76
+
+
+
+ Default Binary
+
+ i=304
+ i=7662
+ i=76
+
+
+
+ Default Binary
+
+ i=312
+ i=7668
+ i=76
+
+
+
+ Default Binary
+
+ i=426
+ i=76
+
+
+
+ Default Binary
+
+ i=429
+ i=76
+
+
+
+ Default Binary
+
+ i=432
+ i=7782
+ i=76
+
+
+
+ Default Binary
+
+ i=435
+ i=76
+
+
+
+ Default Binary
+
+ i=438
+ i=76
+
+
+
+ Default Binary
+
+ i=12890
+ i=12902
+ i=76
+
+
+
+ Default Binary
+
+ i=12891
+ i=12905
+ i=76
+
+
+
+ Default Binary
+
+ i=12193
+ i=76
+
+
+
+ Default Binary
+
+ i=12194
+ i=76
+
+
+
+ Default Binary
+
+ i=441
+ i=76
+
+
+
+ Default Binary
+
+ i=444
+ i=76
+
+
+
+ Default Binary
+
+ i=447
+ i=76
+
+
+
+ Default Binary
+
+ i=450
+ i=76
+
+
+
+ Default Binary
+
+ i=453
+ i=76
+
+
+
+ Default Binary
+
+ i=344
+ i=7698
+ i=76
+
+
+
+ Default Binary
+
+ i=456
+ i=76
+
+
+
+ Default Binary
+
+ i=459
+ i=76
+
+
+
+ Default Binary
+
+ i=462
+ i=76
+
+
+
+ Default Binary
+
+ i=316
+ i=7671
+ i=76
+
+
+
+ Default Binary
+
+ i=319
+ i=7674
+ i=76
+
+
+
+ Default Binary
+
+ i=322
+ i=7677
+ i=76
+
+
+
+ Default Binary
+
+ i=325
+ i=7680
+ i=76
+
+
+
+ Default Binary
+
+ i=938
+ i=7683
+ i=76
+
+
+
+ Default Binary
+
+ i=465
+ i=76
+
+
+
+ Default Binary
+
+ i=468
+ i=76
+
+
+
+ Default Binary
+
+ i=471
+ i=76
+
+
+
+ Default Binary
+
+ i=474
+ i=76
+
+
+
+ Default Binary
+
+ i=477
+ i=76
+
+
+
+ Default Binary
+
+ i=480
+ i=76
+
+
+
+ Default Binary
+
+ i=349
+ i=76
+
+
+
+ Default Binary
+
+ i=352
+ i=76
+
+
+
+ Default Binary
+
+ i=355
+ i=76
+
+
+
+ Default Binary
+
+ i=358
+ i=76
+
+
+
+ Default Binary
+
+ i=361
+ i=76
+
+
+
+ Default Binary
+
+ i=364
+ i=76
+
+
+
+ Default Binary
+
+ i=367
+ i=76
+
+
+
+ Default Binary
+
+ i=370
+ i=76
+
+
+
+ Default Binary
+
+ i=373
+ i=76
+
+
+
+ Default Binary
+
+ i=17606
+ i=76
+
+
+
+ Default Binary
+
+ i=17607
+ i=76
+
+
+
+ Default Binary
+
+ i=376
+ i=7728
+ i=76
+
+
+
+ Default Binary
+
+ i=483
+ i=76
+
+
+
+ Default Binary
+
+ i=486
+ i=76
+
+
+
+ Default Binary
+
+ i=489
+ i=76
+
+
+
+ Default Binary
+
+ i=379
+ i=7731
+ i=76
+
+
+
+ Default Binary
+
+ i=492
+ i=76
+
+
+
+ Default Binary
+
+ i=495
+ i=76
+
+
+
+ Default Binary
+
+ i=382
+ i=7734
+ i=76
+
+
+
+ Default Binary
+
+ i=498
+ i=76
+
+
+
+ Default Binary
+
+ i=501
+ i=76
+
+
+
+ Default Binary
+
+ i=385
+ i=7737
+ i=76
+
+
+
+ Default Binary
+
+ i=504
+ i=76
+
+
+
+ Default Binary
+
+ i=507
+ i=76
+
+
+
+ Default Binary
+
+ i=511
+ i=76
+
+
+
+ Default Binary
+
+ i=514
+ i=76
+
+
+
+ Default Binary
+
+ i=518
+ i=76
+
+
+
+ Default Binary
+
+ i=522
+ i=76
+
+
+
+ Default Binary
+
+ i=525
+ i=76
+
+
+
+ Default Binary
+
+ i=528
+ i=76
+
+
+
+ Default Binary
+
+ i=531
+ i=76
+
+
+
+ Default Binary
+
+ i=534
+ i=76
+
+
+
+ Default Binary
+
+ i=537
+ i=12718
+ i=76
+
+
+
+ Default Binary
+
+ i=540
+ i=12721
+ i=76
+
+
+
+ Default Binary
+
+ i=543
+ i=76
+
+
+
+ Default Binary
+
+ i=546
+ i=76
+
+
+
+ Default Binary
+
+ i=549
+ i=76
+
+
+
+ Default Binary
+
+ i=552
+ i=76
+
+
+
+ Default Binary
+
+ i=555
+ i=76
+
+
+
+ Default Binary
+
+ i=558
+ i=76
+
+
+
+ Default Binary
+
+ i=561
+ i=76
+
+
+
+ Default Binary
+
+ i=564
+ i=76
+
+
+
+ Default Binary
+
+ i=567
+ i=76
+
+
+
+ Default Binary
+
+ i=331
+ i=7686
+ i=76
+
+
+
+ Default Binary
+
+ i=570
+ i=76
+
+
+
+ Default Binary
+
+ i=573
+ i=76
+
+
+
+ Default Binary
+
+ i=577
+ i=76
+
+
+
+ Default Binary
+
+ i=580
+ i=76
+
+
+
+ Default Binary
+
+ i=583
+ i=7929
+ i=76
+
+
+
+ Default Binary
+
+ i=586
+ i=7932
+ i=76
+
+
+
+ Default Binary
+
+ i=589
+ i=7935
+ i=76
+
+
+
+ Default Binary
+
+ i=592
+ i=7938
+ i=76
+
+
+
+ Default Binary
+
+ i=595
+ i=7941
+ i=76
+
+
+
+ Default Binary
+
+ i=598
+ i=7944
+ i=76
+
+
+
+ Default Binary
+
+ i=601
+ i=7947
+ i=76
+
+
+
+ Default Binary
+
+ i=604
+ i=76
+
+
+
+ Default Binary
+
+ i=607
+ i=76
+
+
+
+ Default Binary
+
+ i=610
+ i=76
+
+
+
+ Default Binary
+
+ i=613
+ i=76
+
+
+
+ Default Binary
+
+ i=616
+ i=76
+
+
+
+ Default Binary
+
+ i=619
+ i=76
+
+
+
+ Default Binary
+
+ i=622
+ i=76
+
+
+
+ Default Binary
+
+ i=626
+ i=76
+
+
+
+ Default Binary
+
+ i=629
+ i=76
+
+
+
+ Default Binary
+
+ i=632
+ i=76
+
+
+
+ Default Binary
+
+ i=635
+ i=76
+
+
+
+ Default Binary
+
+ i=638
+ i=76
+
+
+
+ Default Binary
+
+ i=641
+ i=76
+
+
+
+ Default Binary
+
+ i=644
+ i=76
+
+
+
+ Default Binary
+
+ i=647
+ i=76
+
+
+
+ Default Binary
+
+ i=650
+ i=76
+
+
+
+ Default Binary
+
+ i=653
+ i=76
+
+
+
+ Default Binary
+
+ i=23497
+ i=76
+
+
+
+ Default Binary
+
+ i=656
+ i=76
+
+
+
+ Default Binary
+
+ i=11216
+ i=76
+
+
+
+ Default Binary
+
+ i=11217
+ i=76
+
+
+
+ Default Binary
+
+ i=659
+ i=8004
+ i=76
+
+
+
+ Default Binary
+
+ i=662
+ i=76
+
+
+
+ Default Binary
+
+ i=665
+ i=76
+
+
+
+ Default Binary
+
+ i=668
+ i=76
+
+
+
+ Default Binary
+
+ i=671
+ i=76
+
+
+
+ Default Binary
+
+ i=674
+ i=76
+
+
+
+ Default Binary
+
+ i=677
+ i=76
+
+
+
+ Default Binary
+
+ i=680
+ i=76
+
+
+
+ Default Binary
+
+ i=11295
+ i=76
+
+
+
+ Default Binary
+
+ i=683
+ i=76
+
+
+
+ Default Binary
+
+ i=686
+ i=76
+
+
+
+ Default Binary
+
+ i=689
+ i=76
+
+
+
+ Default Binary
+
+ i=692
+ i=76
+
+
+
+ Default Binary
+
+ i=695
+ i=76
+
+
+
+ Default Binary
+
+ i=698
+ i=76
+
+
+
+ Default Binary
+
+ i=701
+ i=76
+
+
+
+ Default Binary
+
+ i=704
+ i=76
+
+
+
+ Default Binary
+
+ i=707
+ i=76
+
+
+
+ Default Binary
+
+ i=710
+ i=76
+
+
+
+ Default Binary
+
+ i=713
+ i=76
+
+
+
+ Default Binary
+
+ i=719
+ i=8067
+ i=76
+
+
+
+ Default Binary
+
+ i=722
+ i=76
+
+
+
+ Default Binary
+
+ i=725
+ i=8073
+ i=76
+
+
+
+ Default Binary
+
+ i=948
+ i=8076
+ i=76
+
+
+
+ Default Binary
+
+ i=728
+ i=76
+
+
+
+ Default Binary
+
+ i=731
+ i=76
+
+
+
+ Default Binary
+
+ i=734
+ i=76
+
+
+
+ Default Binary
+
+ i=737
+ i=76
+
+
+
+ Default Binary
+
+ i=740
+ i=76
+
+
+
+ Default Binary
+
+ i=743
+ i=76
+
+
+
+ Default Binary
+
+ i=746
+ i=76
+
+
+
+ Default Binary
+
+ i=749
+ i=76
+
+
+
+ Default Binary
+
+ i=752
+ i=76
+
+
+
+ Default Binary
+
+ i=755
+ i=76
+
+
+
+ Default Binary
+
+ i=758
+ i=76
+
+
+
+ Default Binary
+
+ i=761
+ i=76
+
+
+
+ Default Binary
+
+ i=764
+ i=76
+
+
+
+ Default Binary
+
+ i=767
+ i=76
+
+
+
+ Default Binary
+
+ i=770
+ i=76
+
+
+
+ Default Binary
+
+ i=773
+ i=76
+
+
+
+ Default Binary
+
+ i=776
+ i=76
+
+
+
+ Default Binary
+
+ i=779
+ i=76
+
+
+
+ Default Binary
+
+ i=782
+ i=76
+
+
+
+ Default Binary
+
+ i=785
+ i=76
+
+
+
+ Default Binary
+
+ i=788
+ i=76
+
+
+
+ Default Binary
+
+ i=791
+ i=76
+
+
+
+ Default Binary
+
+ i=794
+ i=76
+
+
+
+ Default Binary
+
+ i=797
+ i=76
+
+
+
+ Default Binary
+
+ i=800
+ i=76
+
+
+
+ Default Binary
+
+ i=803
+ i=76
+
+
+
+ Default Binary
+
+ i=945
+ i=76
+
+
+
+ Default Binary
+
+ i=809
+ i=76
+
+
+
+ Default Binary
+
+ i=806
+ i=76
+
+
+
+ Default Binary
+
+ i=914
+ i=76
+
+
+
+ Default Binary
+
+ i=917
+ i=76
+
+
+
+ Default Binary
+
+ i=920
+ i=8172
+ i=76
+
+
+
+ Default Binary
+
+ i=818
+ i=76
+
+
+
+ Default Binary
+
+ i=821
+ i=76
+
+
+
+ Default Binary
+
+ i=824
+ i=76
+
+
+
+ Default Binary
+
+ i=827
+ i=76
+
+
+
+ Default Binary
+
+ i=830
+ i=76
+
+
+
+ Default Binary
+
+ i=833
+ i=76
+
+
+
+ Default Binary
+
+ i=836
+ i=76
+
+
+
+ Default Binary
+
+ i=839
+ i=76
+
+
+
+ Default Binary
+
+ i=842
+ i=76
+
+
+
+ Default Binary
+
+ i=845
+ i=76
+
+
+
+ Default Binary
+
+ i=848
+ i=76
+
+
+
+ Default Binary
+
+ i=338
+ i=7692
+ i=76
+
+
+
+ Default Binary
+
+ i=853
+ i=8208
+ i=76
+
+
+
+ Default Binary
+
+ i=11943
+ i=11959
+ i=76
+
+
+
+ Default Binary
+
+ i=11944
+ i=11962
+ i=76
+
+
+
+ Default Binary
+
+ i=856
+ i=8211
+ i=76
+
+
+
+ Default Binary
+
+ i=859
+ i=8214
+ i=76
+
+
+
+ Default Binary
+
+ i=862
+ i=8217
+ i=76
+
+
+
+ Default Binary
+
+ i=865
+ i=8220
+ i=76
+
+
+
+ Default Binary
+
+ i=868
+ i=8223
+ i=76
+
+
+
+ Default Binary
+
+ i=871
+ i=8226
+ i=76
+
+
+
+ Default Binary
+
+ i=299
+ i=7659
+ i=76
+
+
+
+ Default Binary
+
+ i=874
+ i=8229
+ i=76
+
+
+
+ Default Binary
+
+ i=877
+ i=8232
+ i=76
+
+
+
+ Default Binary
+
+ i=897
+ i=8235
+ i=76
+
+
+
+ Default Binary
+
+ i=884
+ i=8238
+ i=76
+
+
+
+ Default Binary
+
+ i=887
+ i=8241
+ i=76
+
+
+
+ Default Binary
+
+ i=12171
+ i=12183
+ i=76
+
+
+
+ Default Binary
+
+ i=12172
+ i=12186
+ i=76
+
+
+
+ Default Binary
+
+ i=12079
+ i=12091
+ i=76
+
+
+
+ Default Binary
+
+ i=12080
+ i=12094
+ i=76
+
+
+
+ Default Binary
+
+ i=894
+ i=8247
+ i=76
+
+
+
+ Default Binary
+
+ i=24033
+ i=24035
+ i=76
+
+
+
+ Default Binary
+
+ i=891
+ i=8244
+ i=76
+
+
+
+ Opc.Ua
+
+ i=7619
+ i=15037
+ i=12770
+ i=14873
+ i=17538
+ i=17550
+ i=15734
+ i=18824
+ i=18827
+ i=18830
+ i=18833
+ i=18836
+ i=18839
+ i=18842
+ i=18845
+ i=18848
+ i=15738
+ i=23514
+ i=12681
+ i=15741
+ i=14855
+ i=15599
+ i=15602
+ i=15501
+ i=15521
+ i=14849
+ i=14852
+ i=14876
+ i=15766
+ i=15769
+ i=14324
+ i=15772
+ i=15775
+ i=15778
+ i=15781
+ i=15784
+ i=15787
+ i=21156
+ i=15793
+ i=15854
+ i=15857
+ i=15860
+ i=21159
+ i=21162
+ i=21165
+ i=15866
+ i=15869
+ i=15872
+ i=15877
+ i=15880
+ i=15883
+ i=15886
+ i=21002
+ i=15889
+ i=21168
+ i=15895
+ i=15898
+ i=15919
+ i=15922
+ i=15925
+ i=15931
+ i=17469
+ i=21171
+ i=15524
+ i=15940
+ i=15943
+ i=15946
+ i=23502
+ i=24117
+ i=16131
+ i=18178
+ i=18181
+ i=18184
+ i=18187
+ i=7650
+ i=7656
+ i=14870
+ i=12767
+ i=8914
+ i=7665
+ i=12213
+ i=7662
+ i=7668
+ i=7782
+ i=12902
+ i=12905
+ i=7698
+ i=7671
+ i=7674
+ i=7677
+ i=7680
+ i=7683
+ i=7728
+ i=7731
+ i=7734
+ i=7737
+ i=12718
+ i=12721
+ i=7686
+ i=7929
+ i=7932
+ i=7935
+ i=7938
+ i=7941
+ i=7944
+ i=7947
+ i=8004
+ i=8067
+ i=8073
+ i=8076
+ i=8172
+ i=7692
+ i=8208
+ i=11959
+ i=11962
+ i=8211
+ i=8214
+ i=8217
+ i=8220
+ i=8223
+ i=8226
+ i=7659
+ i=8229
+ i=8232
+ i=8235
+ i=8238
+ i=8241
+ i=12183
+ i=12186
+ i=12091
+ i=12094
+ i=8247
+ i=24035
+ i=8244
+ i=93
+ i=72
+
+
+ PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y
+Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M
+U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB
+LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0
+Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv
+dW5kYXRpb24ub3JnL1VBLyINCj4NCg0KICA8b3BjOkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9v
+cGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVt
+ZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5n
+dGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg
+TmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRzPSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp
+b24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3IgYSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1l
+bnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0i
+MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEi
+IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3RyaW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6
+RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9k
+ZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklkZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0
+ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO
+YW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRl
+eCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmll
+ciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog
+IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVtZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9v
+cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdO
+b2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJv
+cGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9
+Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1l
+c3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVT
+dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBm
+b3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv
+bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRU
+eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJp
+dCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9
+InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0i
+MCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZvdXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5
+dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBT
+d2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpTdHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJO
+b2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQi
+IFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo
+VmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0i
+dWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVl
+PSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp
+ZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdp
+dGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5nLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckluZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3Bj
+OkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlw
+ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFt
+ZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVl
+PSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3Vy
+Qnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIgVHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQi
+IFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVhOlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9
+Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3Vp
+ZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0
+Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1l
+PSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFs
+dWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJv
+cGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFtZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRj
+aEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3RhdHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIg
+Qnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMy
+LWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx
+dWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0K
+ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vyc2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBk
+aWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3Bj
+OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVk
+IiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVS
+SVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM
+b2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkxvY2FsZVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO
+YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m
+b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS
+ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjEiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt
+Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg
+VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp
+dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs
+aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0
+U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO
+YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT
+dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu
+b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N
+CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR
+dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk
+IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiAvPg0KICA8L29w
+YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxvY2FsaXpl
+ZFRleHQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBxdWFsaWZpZWQgd2l0aCBh
+IG5hbWVzcGFjZSBpbmRleC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTG9jYWxlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlRleHRTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgU3dpdGNo
+RmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRleHQiIFR5
+cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iVGV4dFNwZWNpZmllZCIgLz4NCiAg
+PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh
+VmFsdWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHZhbHVlIHdpdGggYW4gYXNzb2NpYXRl
+ZCB0aW1lc3RhbXAsIGFuZCBxdWFsaXR5Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJWYWx1ZVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9
+Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUaW1lc3RhbXBTcGVjaWZp
+ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlUGlj
+b3NlY29uZHNTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3Ro
+PSIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50
+IiBTd2l0Y2hGaWVsZD0iVmFsdWVTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT
+dGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgU3dpdGNoRmllbGQ9IlN0YXR1c0Nv
+ZGVTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFR5
+cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIFN3aXRjaEZpZWxkPSJTb3VyY2VUaW1lc3RhbXBTcGVjaWZp
+ZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VQaWNvc2Vjb25kcyIgVHlwZU5hbWU9
+Im9wYzpVSW50MTYiIFN3aXRjaEZpZWxkPSJTb3VyY2VQaWNvc2Vjb25kc1NwZWNpZmllZCIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRl
+VGltZSIgU3dpdGNoRmllbGQ9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlNlcnZlclBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dp
+dGNoRmllbGQ9IlNlcnZlclBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4dGVuc2lvbk9iamVjdCI+
+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc2VyaWFsaXplZCBvYmplY3QgcHJlZml4ZWQgd2l0
+aCBpdHMgZGF0YSB0eXBlIGlkZW50aWZpZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlR5cGVJZFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJCaW5hcnlCb2R5IiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlhtbEJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iUmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI1IiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQi
+IFN3aXRjaEZpZWxkPSJUeXBlSWRTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC
+b2R5TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+Qm9keSIgVHlwZU5hbWU9Im9wYzpCeXRlIiBMZW5ndGhGaWVsZD0iQm9keUxlbmd0aCIgLz4NCiAg
+PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp
+YW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB1bmlvbiBvZiBzZXZlcmFsIHR5cGVzLjwv
+b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYXJpYW50VHlwZSIgVHlw
+ZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5
+RGltZW5zaW9uc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGhTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0
+IiBMZW5ndGg9IjEiLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5TGVuZ3RoIiBUeXBlTmFt
+ZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iQXJyYXlMZW5ndGhTcGVjaWZpZWQiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJCb29sZWFuIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIExlbmd0aEZp
+ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i
+MSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNCeXRlIiBUeXBlTmFtZT0ib3BjOlNCeXRlIiBM
+ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo
+VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCeXRlIiBUeXBlTmFtZT0ib3BjOkJ5
+dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBT
+d2l0Y2hWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDE2IiBUeXBlTmFtZT0i
+b3BjOkludDE2IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50
+VHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MTYiIFR5
+cGVOYW1lPSJvcGM6VUludDE2IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxk
+PSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ
+bnQzMiIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0
+Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI2IiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iVUludDMyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVu
+Z3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI3IiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iSW50NjQiIFR5cGVOYW1lPSJvcGM6SW50NjQiIExlbmd0aEZpZWxkPSJB
+cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iOCIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQ2NCIgVHlwZU5hbWU9Im9wYzpVSW50NjQiIExlbmd0
+aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1
+ZT0iOSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZsb2F0IiBUeXBlTmFtZT0ib3BjOkZsb2F0
+IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp
+dGNoVmFsdWU9IjEwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRG91YmxlIiBUeXBlTmFtZT0i
+b3BjOkRvdWJsZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu
+dFR5cGUiIFN3aXRjaFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIg
+VHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo
+RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJEYXRlVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3RoRmllbGQ9IkFycmF5
+TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMyIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJvcGM6R3VpZCIgTGVuZ3RoRmllbGQ9
+IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxNCIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0
+cmluZyIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUi
+IFN3aXRjaFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlhtbEVsZW1lbnQiIFR5
+cGVOYW1lPSJ1YTpYbWxFbGVtZW50IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZp
+ZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi
+IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE3IiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iRXhwYW5kZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg
+TGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRj
+aFZhbHVlPSIxOCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l
+PSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW
+YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVh
+bGlmaWVkTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJBcnJh
+eUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjAiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGl6ZWRUZXh0IiBUeXBlTmFtZT0idWE6TG9jYWxpemVk
+VGV4dCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUi
+IFN3aXRjaFZhbHVlPSIyMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4dGVuc2lvbk9iamVj
+dCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3Ro
+IiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRhdGFWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmll
+bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIy
+MyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50
+IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp
+dGNoVmFsdWU9IjI0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5
+cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0
+Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyNSIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZp
+ZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB
+cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJy
+YXlEaW1lbnNpb25zIiBTd2l0Y2hGaWVsZD0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5h
+bWluZ1J1bGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJNYW5kYXRvcnkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9Ik9wdGlvbmFsIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJDb25zdHJhaW50IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQog
+ICAgDQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJFbnVtZXJhdGlvbiIgTGVuZ3RoSW5C
+aXRzPSIzMiI+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBO
+YW1lPSJJbWFnZUJNUCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl
+IE5hbWU9IkltYWdlR0lGIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5
+cGUgTmFtZT0iSW1hZ2VKUEciPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVl
+VHlwZSBOYW1lPSJJbWFnZVBORyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx
+dWVUeXBlIE5hbWU9IkF1ZGlvRGF0YVR5cGUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv
+cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5pb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i
+Qml0RmllbGRNYXNrRGF0YVR5cGUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iS2V5VmFsdWVQYWlyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IktleSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h
+bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iQWRkaXRpb25hbFBhcmFtZXRlcnNUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0
+Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJhbWV0ZXJzIiBUeXBlTmFtZT0ib3BjOklu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpL
+ZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFcGhlbWVyYWxLZXlU
+eXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlB1YmxpY0tleSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5kcG9pbnRUeXBl
+IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu
+ZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9
+Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iUmF0aW9uYWxOdW1iZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJhdG9yIiBUeXBlTmFtZT0ib3BjOkludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVub21pbmF0b3IiIFR5cGVOYW1lPSJvcGM6VUlu
+dDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IlZlY3RvciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVGhyZWVEVmVjdG9y
+IiBCYXNlVHlwZT0idG5zOlZlY3RvciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFt
+ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlkiIFR5cGVOYW1lPSJvcGM6
+RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWiIgVHlwZU5hbWU9Im9wYzpEb3VibGUi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iQ2FydGVzaWFuQ29vcmRpbmF0ZXMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRo
+cmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBCYXNlVHlwZT0idG5zOkNhcnRlc2lhbkNvb3JkaW5h
+dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlgiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iWSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJaIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcmllbnRhdGlvbiIgQmFz
+ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog
+IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVGhyZWVET3JpZW50YXRpb24iIEJhc2VUeXBlPSJ0
+bnM6T3JpZW50YXRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQSIgVHlwZU5hbWU9Im9wYzpE
+b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8
+L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZyYW1l
+IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+
+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUaHJlZURGcmFtZSIgQmFzZVR5cGU9InRu
+czpGcmFtZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYXJ0ZXNpYW5Db29yZGluYXRlcyIgVHlw
+ZU5hbWU9InRuczpUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik9yaWVudGF0aW9uIiBUeXBlTmFtZT0idG5zOlRocmVlRE9yaWVudGF0aW9uIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik9w
+ZW5GaWxlTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iUmVhZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVyYXNl
+RXhpc3RpbmciIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFw
+cGVuZCIgVmFsdWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51
+bWVyYXRlZFR5cGUgTmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIExlbmd0aEluQml0cz0iMzIi
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaHVtYnByaW50IiBWYWx1ZT0iMiIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSb2xlIiBWYWx1ZT0iMyIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcm91cElkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF1dGhlbnRpY2F0ZWRVc2VyIiBWYWx1ZT0iNiIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcHBsaWNhdGlvbiIgVmFsdWU9IjciIC8+DQog
+IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSWRl
+bnRpdHlNYXBwaW5nUnVsZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWFUeXBlIiBUeXBlTmFtZT0idG5zOklkZW50aXR5Q3Jp
+dGVyaWFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWEiIFR5cGVOYW1lPSJv
+cGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy
+ZWRUeXBlIE5hbWU9IkN1cnJlbmN5VW5pdFR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpY0NvZGUiIFR5cGVOYW1lPSJvcGM6SW50
+MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBvbmVudCIgVHlwZU5hbWU9Im9wYzpTQnl0
+ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFscGhhYmV0aWNDb2RlIiBUeXBlTmFtZT0ib3Bj
+OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbmN5IiBUeXBlTmFtZT0idWE6
+TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt
+ZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg
+PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9
+IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9
+IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+
+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i
+VHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBU
+eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmlj
+YXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9
+Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFt
+ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOklu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt
+ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5
+dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWNpbWFsRGF0YVR5cGUi
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Nh
+bGUiIFR5cGVOYW1lPSJvcGM6SW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg
+VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K
+ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiBCYXNlVHlw
+ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3Bh
+Y2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNw
+YWNlcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1l
+PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMi
+IFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3Ry
+dWN0dXJlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlw
+ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0
+YVR5cGVzIiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZF
+bnVtRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBl
+cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURh
+dGFUeXBlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxk
+PSJOb09mU2ltcGxlRGF0YVR5cGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1
+YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlw
+ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1l
+PSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5z
+OkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIg
+VHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt
+ZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZURlZmlu
+aXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iRW51bURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRp
+b24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ
+ZCIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z
+OkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGVmaW5p
+dGlvbiIgVHlwZU5hbWU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkJ1aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0
+aW9uIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iRGF0YVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkRh
+dGFUeXBlRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt
+ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2Rl
+SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpC
+eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFUeXBlU2NoZW1h
+SGVhZGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0i
+b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9
+Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6
+U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU3RydWN0dXJlRGF0YVR5cGVz
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFt
+ZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5h
+bWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0
+YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2NoZW1hTG9jYXRpb24iIFR5cGVOYW1l
+PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbGVIZWFkZXIiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWxlSGVhZGVyIiBU
+eXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWxlSGVhZGVyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQm9keSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHVi
+U3ViU3RhdGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l
+PSJQYXVzZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9w
+ZXJhdGlvbmFsIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF
+cnJvciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJlT3Bl
+cmF0aW9uYWwiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6
+RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj
+ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh
+Y2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9
+Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg
+VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1
+Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl
+cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh
+VHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu
+dW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0
+YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9
+Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBl
+TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU
+eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG
+aWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs
+ZHMiIFR5cGVOYW1lPSJ0bnM6RmllbGRNZXRhRGF0YSIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpH
+dWlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIFR5cGVO
+YW1lPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZE1ldGFEYXRhIiBC
+YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi
+IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp
+b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RmllbGRGbGFncyIgVHlwZU5hbWU9InRuczpEYXRhU2V0RmllbGRGbGFncyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUlu
+dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVl
+UGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFTZXRGaWVsZEZsYWdzIiBM
+ZW5ndGhJbkJpdHM9IjE2IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl
+Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRh
+VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJNYWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRh
+U2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG
+aWVsZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0
+TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5
+VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw
+ZSBOYW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFt
+ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZh
+bEhpbnQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVh
+ZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTdWJzdGl0dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9
+InVhOlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFT
+ZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0
+YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hl
+ZERhdGEiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZQdWJsaXNoZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlw
+ZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0
+cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRh
+dGFTZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1
+ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzQ29kZSIgVmFsdWU9IjEiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlVGltZXN0YW1wIiBWYWx1ZT0iMiIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXJUaW1lc3RhbXAiIFZhbHVl
+PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVBpY29TZWNvbmRz
+IiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXJQaWNv
+U2Vjb25kcyIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJh
+d0RhdGEiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpT
+dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpF
+eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9w
+YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3Bj
+OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5cGVO
+YW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkQ29u
+dGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgVHlw
+ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJQ
+cm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZE
+YXRhU2V0V3JpdGVyUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9y
+dFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdl
+U2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBU
+eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0
+eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9u
+IiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ
+bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9
+InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ildy
+aXRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlw
+ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFi
+bGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERh
+dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0i
+dG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFU
+eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0i
+b3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJ
+bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVO
+YW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtl
+eVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXpl
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5
+cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFt
+ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBU
+eXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRp
+ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91cElkIiBUeXBlTmFtZT0ib3Bj
+OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlw
+ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZWVwQWxpdmVUaW1l
+IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5
+IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl
+SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl
+SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIZWFkZXJMYXlvdXRVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1l
+PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0
+dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mRGF0YVNldFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVy
+RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBU
+cmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3Bj
+OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3Jv
+dXBNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w
+YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNv
+bm5lY3Rpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlB1Ymxpc2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9i
+amVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIg
+VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25Q
+cm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZD
+b25uZWN0aW9uUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNl
+dHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTm9PZldyaXRlckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IldyaXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFU
+eXBlIiBMZW5ndGhGaWVsZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik5vT2ZSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJSZWFkZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlw
+ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERh
+dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJl
+ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFU
+eXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+Ik5ldHdvcmtJbnRlcmZhY2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNz
+VXJsRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg
+U291cmNlVHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUi
+IEJhc2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3Vw
+RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3Bj
+OkJvb2xlYW4iIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0
+eU1vZGUiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNl
+VHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRE
+ZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJ
+bnQzMiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZh
+bHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj
+dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVh
+OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0UmVh
+ZGVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFT
+ZXRSZWFkZXJzIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBC
+YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiBCYXNl
+VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5
+cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw
+ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQi
+IFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3Jv
+dXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh
+U2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgVHlwZU5hbWU9
+InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1l
+c3NhZ2VSZWNlaXZlVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IkhlYWRlckxheW91dFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2Fn
+ZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIg
+VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJp
+dHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlv
+biIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVO
+YW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJQcm9w
+ZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVO
+YW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdl
+U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIg
+Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l
+PSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmli
+ZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldFZhcmlh
+YmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdl
+dFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpGaWVsZFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVs
+ZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWVsZFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElk
+IiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZlcklu
+ZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgVHlwZU5hbWU9InRuczpPdmVycmlk
+ZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPdmVycmlkZVZhbHVlIiBU
+eXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIExlbmd0aEluQml0
+cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0i
+MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMYXN0VXNhYmxlVmFsdWUiIFZh
+bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik92ZXJyaWRlVmFsdWUi
+IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy
+ZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIEJhc2VUeXBlPSJ0
+bnM6U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJl
+bnROb2RlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9u
+VHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogIDwvb3BjOlN0cnVj
+dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViQ29uZmlndXJh
+dGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vT2ZQdWJsaXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlB1
+Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoZWREYXRhU2V0
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9ucyIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25zIiBUeXBlTmFtZT0i
+dG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25uZWN0aW9u
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh
+biIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO
+YW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu
+dW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmRlZmluZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51
+bWVyYXRlZFZhbHVlIE5hbWU9IkFzY2VuZGluZ1dyaXRlcklkIiBWYWx1ZT0iMSIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBc2NlbmRpbmdXcml0ZXJJZFNpbmdsZSIgVmFsdWU9
+IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg
+TmFtZT0iVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0cz0iMzIiIElz
+T3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBW
+YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIg
+VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBIZWFkZXIi
+IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlckdyb3Vw
+SWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikdyb3VwVmVy
+c2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmV0d29y
+a01lc3NhZ2VOdW1iZXIiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9IlBheWxvYWRIZWFkZXIiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJh
+dGVkVmFsdWUgTmFtZT0iUGljb1NlY29uZHMiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQiIFZhbHVlPSI1MTIiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRGaWVsZHMiIFZhbHVlPSIxMDI0IiAvPg0K
+ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVh
+ZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpXcml0ZXJHcm91cE1l
+c3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFZlcnNpb24iIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9yZGVyaW5n
+IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOlVhZHBOZXR3b3Jr
+TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdPZmZz
+ZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1
+Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJQdWJsaXNoaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgTGVuZ3RoRmllbGQ9
+Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBM
+ZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iVGltZXN0YW1wIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJQaWNvU2Vjb25kcyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iU3RhdHVzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l
+PSJNYWpvclZlcnNpb24iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9Ik1pbm9yVmVyc2lvbiIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNz
+YWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt
+ZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iQ29uZmlndXJlZFNpemUiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE9mZnNldCIgVHlwZU5hbWU9Im9wYzpVSW50
+MTYiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0
+YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFZl
+cnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmV0
+d29ya01lc3NhZ2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iRGF0YVNldE9mZnNldCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEYXRhU2V0Q2xhc3NJZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRu
+czpVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNz
+YWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2
+YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVjZWl2
+ZU9mZnNldCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ
+cm9jZXNzaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJKc29uTmV0d29ya01lc3Nh
+Z2VDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5ldHdvcmtNZXNzYWdlSGVhZGVyIiBWYWx1ZT0iMSIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhU2V0TWVzc2FnZUhlYWRlciIgVmFs
+dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2luZ2xlRGF0YVNldE1l
+c3NhZ2UiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlB1Ymxp
+c2hlcklkIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh
+U2V0Q2xhc3NJZCIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IlJlcGx5VG8iIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIEJh
+c2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uTmV0d29y
+a01lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgTGVu
+Z3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IkRhdGFTZXRXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs
+dWUgTmFtZT0iTWV0YURhdGFWZXJzaW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l
+cmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJNZXNzYWdlVHlwZSIgVmFsdWU9IjMyIiAvPg0KICA8L29wYzpFbnVtZXJh
+dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikpzb25EYXRhU2V0V3JpdGVy
+TWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5
+cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlw
+ZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFJl
+YWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0UmVhZGVyTWVzc2FnZURh
+dGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2si
+IFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpz
+b25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9y
+dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlBZGRyZXNzIiBUeXBlTmFtZT0idWE6RXh0ZW5z
+aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy
+ZWRUeXBlIE5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5
+cGU9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N
+CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJC
+cm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6Q29ubmVjdGlv
+blRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBU
+eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0
+aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJva2VyVHJhbnNwb3J0UXVh
+bGl0eU9mU2VydmljZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs
+dWUgTmFtZT0iTm90U3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJCZXN0RWZmb3J0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJBdExlYXN0T25jZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iQXRNb3N0T25jZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iRXhhY3RseU9uY2UiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJh
+bnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw
+ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBU
+eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZERl
+bGl2ZXJ5R3VhcmFudGVlIiBUeXBlTmFtZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNl
+cnZpY2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0i
+dG5zOkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iUmVzb3VyY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iQXV0aGVudGljYXRpb25Qcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZERlbGl2ZXJ5R3VhcmFudGVlIiBUeXBlTmFt
+ZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1lPSJvcGM6RG91Ymxl
+IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h
+bWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpE
+YXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVl
+dWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl
+c291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRu
+czpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTWV0YURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpT
+dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRpYWdub3N0aWNz
+TGV2ZWwiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IkJhc2ljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZHZh
+bmNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5mbyIg
+VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0i
+MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIgVmFsdWU9IjQiIC8+
+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i
+UHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0aEluQml0cz0iMzIi
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9uIiBWYWx1ZT0iMCIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjEiIC8+DQog
+IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWxp
+YXNOYW1lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iQWxpYXNOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZXMiIFR5cGVOYW1lPSJ1
+YTpFeHBhbmRlZE5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZXMiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRHVw
+bGV4IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJG
+dWxsIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIYWxmIiBW
+YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1
+ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw
+ZSBOYW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXAiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IkRvd24iIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9IlRlc3RpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N
+Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkludGVyZmFjZU9wZXJTdGF0dXMiIExlbmd0
+aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwIiBWYWx1ZT0i
+MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEb3duIiBWYWx1ZT0iMSIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUZXN0aW5nIiBWYWx1ZT0iMiIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iMyIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEb3JtYW50IiBWYWx1ZT0iNCIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3RQcmVzZW50IiBWYWx1ZT0iNSIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMb3dlckxheWVyRG93biIgVmFsdWU9IjYiIC8+DQogIDwv
+b3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmVnb3Rp
+YXRpb25TdGF0dXMiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IkluUHJvZ3Jlc3MiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IkNvbXBsZXRlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IlVua25vd24iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v
+TmVnb3RpYXRpb24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8
+b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRzbkZhaWx1cmVDb2RlIiBMZW5ndGhJbkJpdHM9IjMy
+Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0ZhaWx1cmUiIFZhbHVlPSIwIiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc3VmZmljaWVudEJhbmR3aWR0aCIg
+VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zdWZmaWNpZW50
+UmVzb3VyY2VzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ
+bnN1ZmZpY2llbnRUcmFmZmljQ2xhc3NCYW5kd2lkdGgiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbUlkSW5Vc2UiIFZhbHVlPSI0IiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmVhbURlc3RpbmF0aW9uQWRkcmVzc0luVXNlIiBW
+YWx1ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJlYW1QcmVlbXB0
+ZWRCeUhpZ2hlclJhbmsiIFZhbHVlPSI2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IkxhdGVuY3lIYXNDaGFuZ2VkIiBWYWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJFZ3Jlc3NQb3J0Tm90QXZiQ2FwYWJsZSIgVmFsdWU9IjgiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlRGlmZmVyZW50RGVzdGluYXRpb25BZGRyZXNzIiBW
+YWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPdXRPZk1zcnBSZXNv
+dXJjZXMiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPdXRP
+Zk1tcnBSZXNvdXJjZXMiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJDYW5ub3RTdG9yZURlc3RpbmF0aW9uQWRkcmVzcyIgVmFsdWU9IjEyIiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlByaW9yaXR5SXNOb3RBblNyY0NsYXNzIiBWYWx1ZT0i
+MTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4RnJhbWVTaXplVG9vTGFy
+Z2UiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNYXhGYW5J
+blBvcnRzTGltaXRSZWFjaGVkIiBWYWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs
+dWUgTmFtZT0iRmlyc3RWYWx1ZUNoYW5nZWRGb3JTdHJlYW1JZCIgVmFsdWU9IjE2IiAvPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZsYW5CbG9ja2VkT25FZ3Jlc3MiIFZhbHVlPSIx
+NyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWbGFuVGFnZ2luZ0Rpc2FibGVk
+T25FZ3Jlc3MiIFZhbHVlPSIxOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT
+ckNsYXNzUHJpb3JpdHlNaXNtYXRjaCIgVmFsdWU9IjE5IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IkZlYXR1cmVOb3RQcm9wYWdhdGVkIiBWYWx1ZT0iMjAiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWF4TGF0ZW5jeUV4Y2VlZGVkIiBWYWx1ZT0iMjEiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJpZGdlRG9lc05vdFByb3ZpZGVOZXR3
+b3JrSWQiIFZhbHVlPSIyMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdHJl
+YW1UcmFuc2Zvcm1Ob3RTdXBwb3J0ZWQiIFZhbHVlPSIyMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJTdHJlYW1JZFR5cGVOb3RTdXBwb3J0ZWQiIFZhbHVlPSIyNCIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGZWF0dXJlTm90U3VwcG9ydGVkIiBWYWx1ZT0i
+MjUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg
+TmFtZT0iVHNuU3RyZWFtU3RhdGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJDb25maWd1cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh
+dGVkVmFsdWUgTmFtZT0iUmVhZHkiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9Ik9wZXJhdGlvbmFsIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K
+DQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVHNuVGFsa2VyU3RhdHVzIiBMZW5ndGhJbkJp
+dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkeSIgVmFsdWU9IjEiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBWYWx1ZT0iMiIgLz4NCiAgPC9v
+cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUc25MaXN0
+ZW5lclN0YXR1cyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+UmVhZHkiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBhcnRp
+YWxGYWlsZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZh
+aWxlZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iVW5zaWduZWRSYXRpb25hbE51bWJlciIgQmFzZVR5cGU9InVhOkV4
+dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1lcmF0b3IiIFR5cGVOYW1l
+PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVub21pbmF0b3IiIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVu
+dW1lcmF0ZWRUeXBlIE5hbWU9IklkVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K
+ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5zcGVjaWZpZWQiIFZhbHVlPSIwIiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGUiIFZhbHVlPSIyIiAvPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIgVmFsdWU9IjQiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZSIgVmFsdWU9IjgiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAg
+PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjMyIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0iNjQiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmlldyIgVmFsdWU9IjEyOCIgLz4NCiAgPC9v
+cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJtaXNz
+aW9uVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IkJyb3dzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iUmVhZFJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVBdHRyaWJ1dGUiIFZhbHVlPSI0IiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iOCIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUhpc3Rvcml6aW5nIiBWYWx1
+ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZCIgVmFsdWU9IjMy
+IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlIiBWYWx1ZT0iNjQiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVhZEhpc3RvcnkiIFZhbHVlPSIxMjgi
+IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0SGlzdG9yeSIgVmFsdWU9
+IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNb2RpZnlIaXN0b3J5IiBW
+YWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZUhpc3Rv
+cnkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlY2Vp
+dmVFdmVudHMiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IkNhbGwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFk
+ZFJlZmVyZW5jZSIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt
+ZT0iUmVtb3ZlUmVmZXJlbmNlIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iRGVsZXRlTm9kZSIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IkFkZE5vZGUiIFZhbHVlPSI2NTUzNiIgLz4NCiAgPC9vcGM6RW51bWVy
+YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbFR5cGUi
+IExlbmd0aEluQml0cz0iOCIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IlNlbWFudGljQ2hhbmdlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzV3JpdGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVu
+dW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXBXcml0ZSIgVmFsdWU9IjY0IiAvPg0KICA8L29w
+YzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xl
+dmVsRXhUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51
+bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjgiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VtYW50aWNDaGFuZ2UiIFZhbHVlPSIxNiIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0iNjQi
+IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljUmVhZCIgVmFsdWU9
+IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNXcml0ZSIg
+VmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUZ1bGxB
+cnJheU9ubHkiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+Ik5vU3ViRGF0YVR5cGVzIiBWYWx1ZT0iMjA0OCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+
+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJFdmVudE5vdGlmaWVyVHlwZSIgTGVuZ3Ro
+SW5CaXRzPSI4IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+U3Vic2NyaWJlVG9FdmVudHMiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw
+ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9uVHlwZSIg
+TGVuZ3RoSW5CaXRzPSIxNiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IlNpZ25pbmdSZXF1aXJlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iRW5jcnlwdGlvblJlcXVpcmVkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu
+dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXNzaW9uUmVxdWlyZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFwcGx5UmVzdHJpY3Rpb25zVG9Ccm93c2UiIFZhbHVl
+PSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpQZXJtaXNzaW9u
+VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw
+ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9
+IlN0cnVjdHVyZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9IlN0cnVjdHVyZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs
+dWUgTmFtZT0iU3RydWN0dXJlV2l0aE9wdGlvbmFsRmllbGRzIiBWYWx1ZT0iMSIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RydWN0dXJlV2l0aFN1YnR5cGVkVmFsdWVzIiBWYWx1ZT0i
+MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmlvbldpdGhTdWJ0eXBlZFZh
+bHVlcyIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRmllbGQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs
+aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVh
+Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lv
+bnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9u
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9w
+YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09wdGlvbmFsIiBUeXBlTmFtZT0i
+b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlw
+ZURlZmluaXRpb24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIFR5
+cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUi
+IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVU
+eXBlIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb09mRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iRmllbGRzIiBUeXBlTmFtZT0idG5zOlN0cnVjdHVyZUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9P
+ZkZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk
+VHlwZSBOYW1lPSJFbnVtRGVmaW5pdGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlwZURlZmluaXRp
+b24iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpFbnVtRmll
+bGQiIExlbmd0aEZpZWxkPSJOb09mRmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9k
+ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5v
+ZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1
+YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5
+cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp
+cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVy
+bWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt
+ZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1p
+c3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBl
+TmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl
+cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j
+ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iSW5zdGFuY2VOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh
+c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl
+TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6
+ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl
+c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v
+ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu
+dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX
+cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6
+SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1l
+PSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9u
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNz
+aW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09m
+VXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3Ry
+aWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVy
+ZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUeXBlTm9kZSIgQmFzZVR5
+cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh
+Ok5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZp
+ZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp
+c3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v
+ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxv
+Y2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ
+bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+Um9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIg
+TGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBl
+cm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUlu
+dDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS
+ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P
+ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU
+eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h
+bWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5
+cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO
+YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291
+cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl
+PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMi
+IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlz
+c2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9P
+ZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBl
+cm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl
+bmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9
+InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO
+YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl
+TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIg
+Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l
+PSJPYmplY3RUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2Rl
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD
+bGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93
+c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2Fs
+aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6
+Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpV
+SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl
+cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5h
+bWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Np
+b25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1p
+c3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5v
+T2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVz
+dHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVm
+ZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT
+dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlTm9k
+ZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k
+ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJj
+ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlw
+ZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBT
+b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9u
+IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy
+Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2si
+IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9s
+ZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3Bj
+OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlw
+ZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQ
+ZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIg
+VHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUi
+IExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZh
+bHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFU
+eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVS
+YW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFy
+cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJO
+b09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWwi
+IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJBY2Nlc3NM
+ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWluaW11
+bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iSGlzdG9yaXppbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsRXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8
+L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh
+YmxlVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3Mi
+IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFt
+ZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU
+ZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2Ny
+aXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0
+ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0
+bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt
+ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9u
+cyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNl
+clJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0
+aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5j
+ZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+Tm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZp
+ZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0
+cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIiBCYXNlVHlw
+ZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9
+InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k
+ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs
+aWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z
+Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh
+OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v
+ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj
+OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw
+ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9s
+ZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6
+VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v
+T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0i
+Tm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBl
+TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5
+cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1l
+IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+
+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZXRob2ROb2RlIiBCYXNlVHlwZT0idG5z
+Okluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1
+YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm
+aWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE
+aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO
+b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM
+b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpV
+SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUi
+IExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQ
+ZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJ
+bnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5v
+T2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJsZSIgVHlwZU5h
+bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4ZWN1dGFibGUi
+IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWaWV3Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5j
+ZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk
+IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFz
+cyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUi
+IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h
+bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk
+VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0
+ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT
+b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVy
+bWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS
+b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhG
+aWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZV
+c2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv
+blR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNv
+dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5j
+ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu
+Y2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJl
+bmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9
+Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlw
+ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0
+cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJj
+ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBl
+TmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNl
+VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw
+ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBT
+b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIg
+VHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5
+cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9u
+cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJt
+aXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJO
+b09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xl
+UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIg
+TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNlVHlw
+ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlw
+ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5
+cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZU5vZGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFt
+ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFt
+ZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5h
+bWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFyZ3VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i
+b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBl
+TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl
+eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk
+VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw
+ZSBOYW1lPSJFbnVtRmllbGQiIEJhc2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgU291cmNlVHlwZT0idG5z
+OkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw
+ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6
+ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wdGlvblNldCIgQmFzZVR5cGU9
+InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h
+bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsaWRCaXRzIiBU
+eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog
+IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOb3JtYWxpemVkU3RyaW5nIj4NCiAgPC9vcGM6T3BhcXVl
+VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGVjaW1hbFN0cmluZyI+DQogIDwvb3Bj
+Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uU3RyaW5nIj4N
+CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVGltZVN0cmlu
+ZyI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGVT
+dHJpbmciPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJE
+dXJhdGlvbiI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9
+IlV0Y1RpbWUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l
+PSJUaW1lIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i
+RGF0ZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ikxv
+Y2FsZUlkIj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h
+bWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29s
+ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt
+ZT0iSW5kZXgiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l
+PSJJbnRlZ2VySWQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5
+cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu
+dW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IkNsaWVudCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iQ2xpZW50QW5kU2VydmVyIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1l
+cmF0ZWRWYWx1ZSBOYW1lPSJEaXNjb3ZlcnlTZXJ2ZXIiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpF
+bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFwcGxpY2F0aW9u
+RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbk5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU
+ZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBUeXBlTmFtZT0i
+dG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2
+ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz
+Y292ZXJ5UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n
+dGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVxdWVzdEhlYWRlciIgQmFzZVR5cGU9InVh
+OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRv
+a2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0
+YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx
+dWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lv
+bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk
+VHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ
+bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1
+YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz
+IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m
+U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU
+eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRpbWUiPg0KICA8L29wYzpPcGFxdWVU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUZhdWx0IiBCYXNlVHlw
+ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh
+ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVx
+dWVzdFR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iVXJpc1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2
+ZXJVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9
+Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9
+Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iU2VydmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9ubGVzc0lu
+dm9rZVJlc3BvbnNlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P
+ZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1l
+PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj
+dHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i
+dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg
+VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl
+SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl
+SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw
+b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u
+IiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBl
+TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5
+cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJs
+IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2
+ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs
+ZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3Qi
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx
+dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmls
+aXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJD
+YXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0
+cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBl
+PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk
+ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsi
+IExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+
+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNz
+YWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l
+PSJTaWduIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWdu
+QW5kRW5jcnlwdCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv
+cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVXNlclRva2VuVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnltb3VzIiBWYWx1ZT0iMCIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyTmFtZSIgVmFsdWU9IjEiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2VydGlmaWNhdGUiIFZhbHVlPSIyIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlZFRva2VuIiBWYWx1ZT0iMyIgLz4N
+CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV
+c2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJv
+cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5
+cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpF
+eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVO
+YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFt
+ZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT
+ZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1v
+ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9
+Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlcklkZW50aXR5VG9r
+ZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklk
+ZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIgTGVuZ3RoRmllbGQ9
+Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3Bv
+cnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXF1
+ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n
+dGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9m
+aWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBy
+b2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9maWxl
+VXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw
+ZSBOYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS
+ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5
+cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2lu
+dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9InVhOkxv
+Y2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyTmFtZXMiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1l
+PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBl
+TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxpbmUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh
+biIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO
+YW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1
+ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5z
+OlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6
+U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgQmFzZVR5cGU9InVh
+OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg
+VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+
+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBC
+YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg
+QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6
+U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNl
+cnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2Vy
+dmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24i
+IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlD
+b25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0i
+Tm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIEJh
+c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u
+c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9InVh
+OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i
+dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlNl
+Y3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+
+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgQmFz
+ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVs
+SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5J
+ZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVk
+QXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZp
+c2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVx
+dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2Vj
+dXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlN
+b2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz
+cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp
+b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp
+dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv
+c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI
+ZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l
+PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv
+cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZpY2F0
+ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9u
+VG9rZW4iPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iU2lnbmF0dXJlRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl
+YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0
+bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl
+clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw
+b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT
+ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i
+b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp
+emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K
+ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl
+YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJSZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91Ymxl
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0
+ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiBUeXBl
+TmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy
+RW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+U2VydmVyRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0
+aEZpZWxkPSJOb09mU2VydmVyRW5kcG9pbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0
+bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJTb2Z0
+d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNpZ25hdHVy
+ZSIgVHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+TWF4UmVxdWVzdE1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VySWRlbnRp
+dHlUb2tlbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlU
+b2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2Vy
+SWRlbnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1
+Y3R1cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNl
+cklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1l
+PSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJQYXNzd29yZCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpT
+dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9r
+ZW4iPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n
+IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJDZXJ0aWZpY2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9v
+cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJ
+ZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0i
+dG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRh
+IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNy
+eXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlJzYUVuY3J5cHRlZFNlY3JldCI+
+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkVjY0VuY3J5
+cHRlZFNlY3JldCI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw
+ZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6
+UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIg
+VHlwZU5hbWU9InRuczpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0
+bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0
+d2FyZUNlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMi
+IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMi
+IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5z
+aW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBU
+eXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJh
+c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u
+c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro
+RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0
+aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp
+YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i
+Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6
+RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5
+cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0
+ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNw
+b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9v
+cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxS
+ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNh
+bmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FuY2VsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h
+bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVt
+ZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w
+YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIi
+IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIx
+MDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVl
+PSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGlu
+Z0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l
+PSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVy
+YXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4
+IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEw
+NDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIy
+MDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlRGVmaW5p
+dGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+Um9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIzMzU1NDQzMSIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFsdWU9IjI2NTAxMjIwIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjI2NTAxMzQ4IiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSIyNjUw
+MzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9
+IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlw
+ZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1l
+dGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VU
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVk
+QXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iT2JqZWN0QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQz
+MiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0
+bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIg
+VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50
+MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6
+Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBU
+eXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6
+U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5v
+ZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMi
+IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl
+ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw
+ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50
+MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+Tm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZp
+ZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNz
+TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJB
+Y2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+TWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iSGlzdG9yaXppbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg
+PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZXRo
+b2RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy
+Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw
+bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl
+QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt
+ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291
+cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl
+cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0
+cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUiIFR5cGVOYW1lPSJv
+cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBUeXBl
+TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6
+U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6
+Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRl
+cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxp
+emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU
+eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h
+c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ
+bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlVHlwZUF0
+dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5
+cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO
+YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy
+aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1
+YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU
+eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp
+dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1
+dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i
+b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBl
+TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+
+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i
+UmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpV
+SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw
+ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp
+b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp
+YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6
+VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i
+dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg
+VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj
+IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl
+TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIiBC
+YXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp
+ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k
+ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h
+bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk
+VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v
+ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw
+ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N
+CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW
+aWV3QXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291
+cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz
+cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k
+ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h
+bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv
+dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz
+ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0
+dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVO
+YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIi
+IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiIEJhc2VUeXBlPSJ1
+YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVO
+YW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0
+cnVjdHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVB
+dHRyaWJ1dGVzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl
+eHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i
+dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBU
+eXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi
+IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJBdHRyaWJ1dGVWYWx1ZXMiIFR5cGVOYW1lPSJ0bnM6R2VuZXJpY0F0dHJpYnV0
+ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkF0dHJpYnV0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc0l0ZW0i
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy
+ZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v
+ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR
+dWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt
+ZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVz
+IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jl
+c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IkFkZGVkTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVxdWVz
+dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS
+ZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJOb09mTm9kZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9BZGQiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNJdGVtIiBM
+ZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9
+InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl
+ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpBZGROb2Rlc1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v
+T2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIg
+VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJ
+bmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdu
+b3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1
+cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO
+b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1l
+PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1l
+PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldFNlcnZlclVyaSIg
+VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2Rl
+SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlRhcmdldE5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNl
+c1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRu
+czpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+
+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i
+QWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl
+SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6
+U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ
+bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0i
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k
+ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl
+VGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVx
+dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0RlbGV0ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRl
+Tm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9EZWxldGUiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNS
+ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExl
+bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn
+bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog
+IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBl
+PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlk
+IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl
+VHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNG
+b3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU
+YXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N
+CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJE
+ZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI
+ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBU
+eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1Rv
+RGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0i
+Tm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VU
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI
+ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P
+ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU
+eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu
+Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v
+c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0
+ZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRp
+b25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl
+PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1
+ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMi
+IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUi
+IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9M
+b29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5
+cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlw
+dGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3Bs
+YXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZl
+bnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l
+PSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl
+IE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0
+ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQog
+ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVl
+PSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJs
+ZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy
+V3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1
+ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAg
+ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVlPSI0
+MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9u
+cyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNj
+ZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk
+VmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0NDMyIiAvPg0KICA8L29wYzpF
+bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVj
+dGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+Rm9yd2FyZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52
+ZXJzZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIg
+VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFs
+dWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iVmlld0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg
+Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l
+PSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0
+aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i
+dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBl
+TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNr
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1h
+c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K
+ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0
+cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9
+IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0i
+MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0
+IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4
+IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0i
+MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZh
+bHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2
+MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIg
+VmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIg
+VmFsdWU9IjYwIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy
+ZWRUeXBlIE5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9
+InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9
+Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0i
+dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBU
+eXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs
+YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ29udGlu
+dWF0aW9uUG9pbnQiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5
+cGUgTmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6
+Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlw
+ZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVu
+Y2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh
+ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVz
+Y3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhSZWZlcmVuY2Vz
+UGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIExl
+bmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+
+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25zZSIgQmFzZVR5cGU9
+InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl
+ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m
+UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m
+b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z
+dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl
+ZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS
+ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlv
+blBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+Tm9PZkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5n
+IiBMZW5ndGhGaWVsZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9u
+c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5n
+dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v
+c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk
+PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1
+YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlk
+IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNl
+IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRl
+U3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlRhcmdldE5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+RWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF
+bGVtZW50cyIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0i
+Tm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj
+dHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBUeXBlTmFtZT0idWE6Tm9kZUlk
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0idG5zOlJl
+bGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1
+cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5k
+ZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgiIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRl
+bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9
+InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlw
+ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVO
+YW1lPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0K
+ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRy
+YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i
+dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0
+aHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQ
+YXRocyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBh
+dGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1
+YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi
+IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v
+T2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIg
+VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJ
+bmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdu
+b3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1
+cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i
+dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1Jl
+Z2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k
+ZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVz
+VG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1
+cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l
+PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0
+ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5v
+T2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi
+IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v
+T2ZOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhG
+aWVsZD0iTm9PZk5vZGVzVG9VbnJlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBC
+YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv
+bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogIDwvb3Bj
+Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+DQog
+IDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2lu
+dENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xl
+YW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiBU
+eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlMZW5n
+dGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhNZXNz
+YWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1h
+eEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVl
+cnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6
+RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlwZXMi
+IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh
+VG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE
+YXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0aEZp
+ZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9IjMy
+Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQogICAg
+PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0IiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFsdWU9
+IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAgICA8
+b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3Bj
+OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxpc3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RW51
+bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFsdWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9m
+VHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbGF0
+ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdp
+c2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3
+aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpT
+dHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5k
+ZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5
+cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZW
+YWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1
+ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4NCiAg
+PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2Rl
+UmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpO
+b2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRl
+ckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVOYW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9InVh
+OkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4NCiAg
+PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250
+ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBM
+ZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K
+ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1YTpF
+eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj
+dHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJh
+bmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9wZXJh
+bmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGlh
+cyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQ
+YXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9w
+ZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli
+dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k
+ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl
+Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1
+bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVz
+Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVO
+YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25vc3Rp
+Y0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0i
+b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5cGVO
+YW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mRWxl
+bWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdub3N0
+aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVs
+ZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro
+RmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk
+VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJhc2VU
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29k
+ZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+RGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0
+YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg
+TGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0
+IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl
+cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBlcyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURlc2Ny
+aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6
+VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS
+ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRh
+U2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlE
+YXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBl
+TmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFyc2lu
+Z1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ
+YXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRuczpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVsZD0i
+Tm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0
+aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp
+YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i
+Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3Vs
+dCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3Qi
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx
+dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9w
+YzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj
+dHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i
+dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0
+YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVy
+eURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZR
+dWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVhdGlv
+blBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBM
+ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2Ui
+IFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFs
+dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIi
+IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMiIC8+
+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+DQog
+IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVh
+ZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8
+L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRS
+ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w
+c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5
+cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+
+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i
+UmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVl
+IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0
+aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5
+cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBU
+eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNvZGlu
+ZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD
+b250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT
+dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFk
+UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0
+ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh
+dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2
+ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy
+ZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9y
+eVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBUeXBl
+TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5
+cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBU
+eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVz
+UGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS
+ZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl
+ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWls
+cyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2Rl
+SWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVnYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmln
+dXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk
+VHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl
+dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj
+OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6
+RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQW5ub3Rh
+dGlvbkRhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVu
+c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h
+bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO
+YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgPC9v
+cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmlj
+YXRpb25JbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVU
+eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry
+aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZh
+bHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRuczpNb2RpZmljYXRp
+b25JbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAvPg0KICA8L29wYzpT
+dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVu
+dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO
+b09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RXZlbnRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9
+Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0
+bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0
+YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4i
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBl
+TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1Jl
+YWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1Rv
+UmVhZCIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09m
+Tm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9
+InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg
+VHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9
+Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw
+ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv
+cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO
+YW1lPSJXcml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3Bj
+OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1
+ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1
+ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU
+eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl
+YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m
+UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m
+b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z
+dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl
+ZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk
+IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h
+bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l
+cmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg
+TmFtZT0iRGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg
+PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz
+PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg
+Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N
+CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj
+OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0
+YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6
+SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5z
+ZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUi
+IExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw
+ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRh
+aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv
+cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJl
+cGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5n
+dGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIEJhc2VUeXBl
+PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk
+IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFp
+bHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5h
+bWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl
+ciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v
+T2ZFdmVudERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJFdmVudERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhG
+aWVsZD0iTm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBl
+PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk
+IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFp
+bHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0i
+b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l
+PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFt
+ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0
+cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlz
+dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt
+ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg
+TGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVFdmVudERldGFpbHMiIEJhc2VUeXBl
+PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk
+IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFp
+bHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6
+SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpC
+eXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1
+bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl
+IiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu
+Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1
+ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFt
+ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRh
+aWxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS
+ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h
+bWU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj
+OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt
+ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+IkNhbGxNZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlh
+bnQiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0
+dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz
+Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i
+b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0
+aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklu
+cHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m
+T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9
+Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv
+cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9
+InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNU
+b0NhbGwiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRo
+b2RzVG9DYWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i
+Tm9PZk1ldGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6
+U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i
+dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi
+IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU
+eXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVO
+YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt
+ZT0iTW9uaXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl
+ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW
+YWx1ZSBOYW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs
+dWUgTmFtZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+
+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3Ro
+SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1
+ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFs
+dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1l
+c3RhbXAiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu
+dW1lcmF0ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg
+PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51
+bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJh
+dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIi
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N
+Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBl
+PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBU
+eXBlTmFtZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RGVhZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBC
+YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQi
+IExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IldoZXJlQ2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29u
+ZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29s
+ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5h
+bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQi
+IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRh
+R29vZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xv
+cGVkRXh0cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1
+Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRl
+ciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpB
+Z2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8
+b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBl
+PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1v
+bml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENs
+YXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P
+ZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9
+InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0
+aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBl
+TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl
+Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBC
+YXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iUmV2aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91
+YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp
+b24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3Ry
+dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFy
+YW1ldGVycyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29s
+ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl
+IE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0
+bnM6UmVhZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIg
+VHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl
+cXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+
+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i
+TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k
+ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w
+YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZh
+bCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2Vk
+UXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25p
+dG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6
+VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBl
+TmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v
+T2ZJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVx
+dWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1
+cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0
+ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVk
+SXRlbUNyZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu
+b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6
+U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJ
+dGVtTW9kaWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpN
+b25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlw
+ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi
+IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl
+ZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl
+Y3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u
+T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0
+bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFt
+cHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRv
+cmVkSXRlbU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4N
+CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN
+b2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0
+Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl
+c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO
+YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt
+ZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0
+cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l
+PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5
+cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m
+b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg
+TmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6
+UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBU
+eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdN
+b2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw
+ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9u
+c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG
+aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp
+Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh
+Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO
+b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6
+RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5
+cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj
+cmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlRyaWdnZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll
+bGQ9Ik5vT2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9S
+ZW1vdmUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5r
+c1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1Rv
+UmVtb3ZlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu
+czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0
+cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l
+PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3Mi
+IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9z
+dGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlw
+ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMi
+IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMi
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3Rp
+Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVt
+b3ZlRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh
+ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRl
+bXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi
+IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE
+aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro
+RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1
+ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5h
+bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVw
+QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s
+ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0
+ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO
+YW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu
+czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQ
+dWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0i
+b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1
+cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0
+ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO
+YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw
+dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl
+cXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ
+bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlm
+aWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVj
+dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0
+aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFt
+ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNv
+dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz
+ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGlu
+Z01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJv
+b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRz
+IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS
+ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl
+TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h
+bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn
+bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj
+OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0
+aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOklu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9
+InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAv
+Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9
+Ik5vdGlmaWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w
+YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFu
+Z2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25p
+dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5h
+bWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIg
+Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l
+PSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0
+Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1
+ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO
+YW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0
+YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50Rmll
+bGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5
+cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k
+bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2
+ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50
+RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJv
+cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9
+InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdl
+Tm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3Bj
+OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFt
+ZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1
+Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z
+OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9u
+QWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2Ny
+aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25v
+d2xlZGdlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0
+dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq
+ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z
+OlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi
+IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWls
+YWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIi
+IExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6
+Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz
+IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg
+VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1
+YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVw
+dWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50
+MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj
+OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0
+ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl
+TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp
+Y2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8
+L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z
+ZmVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk
+IE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJ
+bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIg
+VHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VO
+dW1iZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl
+bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h
+bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNj
+cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09m
+U3Vic2NyaXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1
+ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN
+CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25z
+ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS
+ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu
+b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs
+ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz
+ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0
+SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu
+Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl
+Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3Bv
+bnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro
+RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0
+aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp
+YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i
+Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w
+YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpT
+dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFt
+ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBl
+TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lv
+biIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51
+bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWls
+ZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl
+Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0
+aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl
+PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAv
+Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAg
+IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6
+RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9v
+cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJT
+dGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+UnVubmluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFp
+bGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZp
+Z3VyYXRpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1
+c3BlbmRlZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1
+dGRvd24iIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3Qi
+IFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRp
+b25GYXVsdCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5r
+bm93biIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpF
+eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1l
+PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBl
+TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlw
+ZU5hbWU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg
+PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5
+cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p
+bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+RW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZF
+bmRwb2ludFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl
+bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0i
+b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMi
+IFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09m
+TmV0d29ya1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj
+dHVyZWRUeXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNl
+VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5n
+SW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5h
+bWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VU
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmll
+d0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1
+cnJlbnRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9u
+Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vz
+c2lvblRpbWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6
+VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291
+bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz
+aGluZ0ludGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBl
+TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT
+dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4
+dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1l
+PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlw
+ZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBl
+TmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZv
+IiBUeXBlTmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29u
+ZHNUaWxsU2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iU2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8
+L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Np
+b25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFw
+cGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmki
+IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRV
+cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxv
+Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxv
+Y2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRz
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1l
+PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdl
+U2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGll
+bnRDb25uZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3Jl
+ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iQ3VycmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv
+Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6
+U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9y
+aXplZFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg
+Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6
+U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291
+bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl
+ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0i
+dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh
+dGVNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5
+cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBU
+eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5
+cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50
+ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNv
+dW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpG
+aWVsZCBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl
+Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01v
+ZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxv
+cGM6RmllbGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5h
+bWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+VHJhbnNmZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE
+YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3Vu
+dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU
+eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFt
+ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE
+ZWxldGVOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+
+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0
+bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dz
+ZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50
+ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhz
+VG9Ob2RlSWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2
+aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291
+bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl
+ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQi
+IFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0
+dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlE
+aWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJp
+bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlw
+ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhp
+c3RvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJ
+ZEhpc3RvcnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlz
+bSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGlu
+ZyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3Bv
+cnRQcm90b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu
+ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0i
+b3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry
+dWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4
+dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFt
+ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVO
+YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0
+cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh
+dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFt
+ZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv
+cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIg
+QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNz
+aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz
+Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+UHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg
+ICA8b3BjOkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy
+IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5
+cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0Vu
+YWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v
+ZGlmeUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9
+IkVuYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9IkRpc2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs
+ZCBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5h
+bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdl
+Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh
+bnNmZXJSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz
+MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQi
+IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJl
+cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l
+PSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N
+CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0i
+b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIg
+VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlz
+aFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUlu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQi
+IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVk
+TWVzc2FnZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h
+bWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpV
+SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0Nv
+dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRT
+ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9k
+ZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu
+dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF
+bnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxv
+cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0K
+ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2
+IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h
+bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P
+YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2Rl
+SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpO
+b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUi
+IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt
+ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv
+bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5v
+ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVh
+Ok5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk
+VHlwZSBOYW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6Rmll
+bGQgTmFtZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVy
+ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFz
+ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh
+Y2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5p
+dElkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh
+eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT
+dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVu
+dW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO
+YW1lPSJMaW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9
+IkxvZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZh
+bHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU
+eXBlIE5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0
+Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQog
+IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91
+YmxlQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w
+YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29w
+YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZv
+cm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJFbmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQog
+ICAgPG9wYzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2Nh
+bGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5
+cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5
+cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9v
+cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUi
+IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIg
+VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlw
+ZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT
+dHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25J
+ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNs
+aWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i
+SW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8
+b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt
+ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3Bj
+OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5
+cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhv
+ZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg
+TmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBM
+ZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZp
+ZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu
+dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIg
+VHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0
+QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBU
+eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv
+ZFJldHVyblN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0
+cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdu
+b3N0aWMyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6
+RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg
+IDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci
+IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFt
+ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25U
+aW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz
+dE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt
+ZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj
+OkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6
+SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMi
+IFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0
+QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRB
+cmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM
+YXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG
+aWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBO
+YW1lPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K
+ICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6
+VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAg
+PG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9w
+YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi
+IFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRW
+YWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVO
+YW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0
+dXJuU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJl
+ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlw
+ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5
+cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5
+cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRp
+bWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K
+DQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBM
+ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0
+ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJj
+ZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i
+UGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h
+bWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh
+bHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N
+Cg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+
+
+
+
+ NamespaceUri
+
+ i=68
+ i=7617
+
+
+ http://opcfoundation.org/UA/
+
+
+
+ Deprecated
+
+ i=68
+ i=7617
+
+
+ true
+
+
+
+ Union
+
+ i=69
+ i=7617
+
+
+ Union
+
+
+
+ KeyValuePair
+
+ i=69
+ i=7617
+
+
+ KeyValuePair
+
+
+
+ AdditionalParametersType
+
+ i=69
+ i=7617
+
+
+ AdditionalParametersType
+
+
+
+ EphemeralKeyType
+
+ i=69
+ i=7617
+
+
+ EphemeralKeyType
+
+
+
+ EndpointType
+
+ i=69
+ i=7617
+
+
+ EndpointType
+
+
+
+ RationalNumber
+
+ i=69
+ i=7617
+
+
+ RationalNumber
+
+
+
+ Vector
+
+ i=69
+ i=7617
+
+
+ Vector
+
+
+
+ 3DVector
+
+ i=69
+ i=7617
+
+
+ ThreeDVector
+
+
+
+ CartesianCoordinates
+
+ i=69
+ i=7617
+
+
+ CartesianCoordinates
+
+
+
+ 3DCartesianCoordinates
+
+ i=69
+ i=7617
+
+
+ ThreeDCartesianCoordinates
+
+
+
+ Orientation
+
+ i=69
+ i=7617
+
+
+ Orientation
+
+
+
+ 3DOrientation
+
+ i=69
+ i=7617
+
+
+ ThreeDOrientation
+
+
+
+ Frame
+
+ i=69
+ i=7617
+
+
+ Frame
+
+
+
+ 3DFrame
+
+ i=69
+ i=7617
+
+
+ ThreeDFrame
+
+
+
+ IdentityMappingRuleType
+
+ i=69
+ i=7617
+
+
+ IdentityMappingRuleType
+
+
+
+ CurrencyUnitType
+
+ i=69
+ i=7617
+
+
+ CurrencyUnitType
+
+
+
+ TrustListDataType
+
+ i=69
+ i=7617
+
+
+ TrustListDataType
+
+
+
+ DataTypeSchemaHeader
+
+ i=69
+ i=7617
+
+
+ DataTypeSchemaHeader
+
+
+
+ DataTypeDescription
+
+ i=69
+ i=7617
+
+
+ DataTypeDescription
+
+
+
+ StructureDescription
+
+ i=69
+ i=7617
+
+
+ StructureDescription
+
+
+
+ EnumDescription
+
+ i=69
+ i=7617
+
+
+ EnumDescription
+
+
+
+ SimpleTypeDescription
+
+ i=69
+ i=7617
+
+
+ SimpleTypeDescription
+
+
+
+ UABinaryFileDataType
+
+ i=69
+ i=7617
+
+
+ UABinaryFileDataType
+
+
+
+ DataSetMetaDataType
+
+ i=69
+ i=7617
+
+
+ DataSetMetaDataType
+
+
+
+ FieldMetaData
+
+ i=69
+ i=7617
+
+
+ FieldMetaData
+
+
+
+ ConfigurationVersionDataType
+
+ i=69
+ i=7617
+
+
+ ConfigurationVersionDataType
+
+
+
+ PublishedDataSetDataType
+
+ i=69
+ i=7617
+
+
+ PublishedDataSetDataType
+
+
+
+ PublishedDataSetSourceDataType
+
+ i=69
+ i=7617
+
+
+ PublishedDataSetSourceDataType
+
+
+
+ PublishedVariableDataType
+
+ i=69
+ i=7617
+
+
+ PublishedVariableDataType
+
+
+
+ PublishedDataItemsDataType
+
+ i=69
+ i=7617
+
+
+ PublishedDataItemsDataType
+
+
+
+ PublishedEventsDataType
+
+ i=69
+ i=7617
+
+
+ PublishedEventsDataType
+
+
+
+ DataSetWriterDataType
+
+ i=69
+ i=7617
+
+
+ DataSetWriterDataType
+
+
+
+ DataSetWriterTransportDataType
+
+ i=69
+ i=7617
+
+
+ DataSetWriterTransportDataType
+
+
+
+ DataSetWriterMessageDataType
+
+ i=69
+ i=7617
+
+
+ DataSetWriterMessageDataType
+
+
+
+ PubSubGroupDataType
+
+ i=69
+ i=7617
+
+
+ PubSubGroupDataType
+
+
+
+ WriterGroupDataType
+
+ i=69
+ i=7617
+
+
+ WriterGroupDataType
+
+
+
+ WriterGroupTransportDataType
+
+ i=69
+ i=7617
+
+
+ WriterGroupTransportDataType
+
+
+
+ WriterGroupMessageDataType
+
+ i=69
+ i=7617
+
+
+ WriterGroupMessageDataType
+
+
+
+ PubSubConnectionDataType
+
+ i=69
+ i=7617
+
+
+ PubSubConnectionDataType
+
+
+
+ ConnectionTransportDataType
+
+ i=69
+ i=7617
+
+
+ ConnectionTransportDataType
+
+
+
+ NetworkAddressDataType
+
+ i=69
+ i=7617
+
+
+ NetworkAddressDataType
+
+
+
+ NetworkAddressUrlDataType
+
+ i=69
+ i=7617
+
+
+ NetworkAddressUrlDataType
+
+
+
+ ReaderGroupDataType
+
+ i=69
+ i=7617
+
+
+ ReaderGroupDataType
+
+
+
+ ReaderGroupTransportDataType
+
+ i=69
+ i=7617
+
+
+ ReaderGroupTransportDataType
+
+
+
+ ReaderGroupMessageDataType
+
+ i=69
+ i=7617
+
+
+ ReaderGroupMessageDataType
+
+
+
+ DataSetReaderDataType
+
+ i=69
+ i=7617
+
+
+ DataSetReaderDataType
+
+
+
+ DataSetReaderTransportDataType
+
+ i=69
+ i=7617
+
+
+ DataSetReaderTransportDataType
+
+
+
+ DataSetReaderMessageDataType
+
+ i=69
+ i=7617
+
+
+ DataSetReaderMessageDataType
+
+
+
+ SubscribedDataSetDataType
+
+ i=69
+ i=7617
+
+
+ SubscribedDataSetDataType
+
+
+
+ TargetVariablesDataType
+
+ i=69
+ i=7617
+
+
+ TargetVariablesDataType
+
+
+
+ FieldTargetDataType
+
+ i=69
+ i=7617
+
+
+ FieldTargetDataType
+
+
+
+ SubscribedDataSetMirrorDataType
+
+ i=69
+ i=7617
+
+
+ SubscribedDataSetMirrorDataType
+
+
+
+ PubSubConfigurationDataType
+
+ i=69
+ i=7617
+
+
+ PubSubConfigurationDataType
+
+
+
+ UadpWriterGroupMessageDataType
+
+ i=69
+ i=7617
+
+
+ UadpWriterGroupMessageDataType
+
+
+
+ UadpDataSetWriterMessageDataType
+
+ i=69
+ i=7617
+
+
+ UadpDataSetWriterMessageDataType
+
+
+
+ UadpDataSetReaderMessageDataType
+
+ i=69
+ i=7617
+
+
+ UadpDataSetReaderMessageDataType
+
+
+
+ JsonWriterGroupMessageDataType
+
+ i=69
+ i=7617
+
+
+ JsonWriterGroupMessageDataType
+
+
+
+ JsonDataSetWriterMessageDataType
+
+ i=69
+ i=7617
+
+
+ JsonDataSetWriterMessageDataType
+
+
+
+ JsonDataSetReaderMessageDataType
+
+ i=69
+ i=7617
+
+
+ JsonDataSetReaderMessageDataType
+
+
+
+ DatagramConnectionTransportDataType
+
+ i=69
+ i=7617
+
+
+ DatagramConnectionTransportDataType
+
+
+
+ DatagramWriterGroupTransportDataType
+
+ i=69
+ i=7617
+
+
+ DatagramWriterGroupTransportDataType
+
+
+
+ BrokerConnectionTransportDataType
+
+ i=69
+ i=7617
+
+
+ BrokerConnectionTransportDataType
+
+
+
+ BrokerWriterGroupTransportDataType
+
+ i=69
+ i=7617
+
+
+ BrokerWriterGroupTransportDataType
+
+
+
+ BrokerDataSetWriterTransportDataType
+
+ i=69
+ i=7617
+
+
+ BrokerDataSetWriterTransportDataType
+
+
+
+ BrokerDataSetReaderTransportDataType
+
+ i=69
+ i=7617
+
+
+ BrokerDataSetReaderTransportDataType
+
+
+
+ AliasNameDataType
+
+ i=69
+ i=7617
+
+
+ AliasNameDataType
+
+
+
+ UnsignedRationalNumber
+
+ i=69
+ i=7617
+
+
+ UnsignedRationalNumber
+
+
+
+ RolePermissionType
+
+ i=69
+ i=7617
+
+
+ RolePermissionType
+
+
+
+ DataTypeDefinition
+
+ i=69
+ i=7617
+
+
+ DataTypeDefinition
+
+
+
+ StructureField
+
+ i=69
+ i=7617
+
+
+ StructureField
+
+
+
+ StructureDefinition
+
+ i=69
+ i=7617
+
+
+ StructureDefinition
+
+
+
+ EnumDefinition
+
+ i=69
+ i=7617
+
+
+ EnumDefinition
+
+
+
+ Argument
+
+ i=69
+ i=7617
+
+
+ Argument
+
+
+
+ EnumValueType
+
+ i=69
+ i=7617
+
+
+ EnumValueType
+
+
+
+ EnumField
+
+ i=69
+ i=7617
+
+
+ EnumField
+
+
+
+ OptionSet
+
+ i=69
+ i=7617
+
+
+ OptionSet
+
+
+
+ TimeZoneDataType
+
+ i=69
+ i=7617
+
+
+ TimeZoneDataType
+
+
+
+ ApplicationDescription
+
+ i=69
+ i=7617
+
+
+ ApplicationDescription
+
+
+
+ ServerOnNetwork
+
+ i=69
+ i=7617
+
+
+ ServerOnNetwork
+
+
+
+ UserTokenPolicy
+
+ i=69
+ i=7617
+
+
+ UserTokenPolicy
+
+
+
+ EndpointDescription
+
+ i=69
+ i=7617
+
+
+ EndpointDescription
+
+
+
+ RegisteredServer
+
+ i=69
+ i=7617
+
+
+ RegisteredServer
+
+
+
+ DiscoveryConfiguration
+
+ i=69
+ i=7617
+
+
+ DiscoveryConfiguration
+
+
+
+ MdnsDiscoveryConfiguration
+
+ i=69
+ i=7617
+
+
+ MdnsDiscoveryConfiguration
+
+
+
+ SignedSoftwareCertificate
+
+ i=69
+ i=7617
+
+
+ SignedSoftwareCertificate
+
+
+
+ UserIdentityToken
+
+ i=69
+ i=7617
+
+
+ UserIdentityToken
+
+
+
+ AnonymousIdentityToken
+
+ i=69
+ i=7617
+
+
+ AnonymousIdentityToken
+
+
+
+ UserNameIdentityToken
+
+ i=69
+ i=7617
+
+
+ UserNameIdentityToken
+
+
+
+ X509IdentityToken
+
+ i=69
+ i=7617
+
+
+ X509IdentityToken
+
+
+
+ IssuedIdentityToken
+
+ i=69
+ i=7617
+
+
+ IssuedIdentityToken
+
+
+
+ AddNodesItem
+
+ i=69
+ i=7617
+
+
+ AddNodesItem
+
+
+
+ AddReferencesItem
+
+ i=69
+ i=7617
+
+
+ AddReferencesItem
+
+
+
+ DeleteNodesItem
+
+ i=69
+ i=7617
+
+
+ DeleteNodesItem
+
+
+
+ DeleteReferencesItem
+
+ i=69
+ i=7617
+
+
+ DeleteReferencesItem
+
+
+
+ RelativePathElement
+
+ i=69
+ i=7617
+
+
+ RelativePathElement
+
+
+
+ RelativePath
+
+ i=69
+ i=7617
+
+
+ RelativePath
+
+
+
+ EndpointConfiguration
+
+ i=69
+ i=7617
+
+
+ EndpointConfiguration
+
+
+
+ ContentFilterElement
+
+ i=69
+ i=7617
+
+
+ ContentFilterElement
+
+
+
+ ContentFilter
+
+ i=69
+ i=7617
+
+
+ ContentFilter
+
+
+
+ FilterOperand
+
+ i=69
+ i=7617
+
+
+ FilterOperand
+
+
+
+ ElementOperand
+
+ i=69
+ i=7617
+
+
+ ElementOperand
+
+
+
+ LiteralOperand
+
+ i=69
+ i=7617
+
+
+ LiteralOperand
+
+
+
+ AttributeOperand
+
+ i=69
+ i=7617
+
+
+ AttributeOperand
+
+
+
+ SimpleAttributeOperand
+
+ i=69
+ i=7617
+
+
+ SimpleAttributeOperand
+
+
+
+ HistoryEvent
+
+ i=69
+ i=7617
+
+
+ HistoryEvent
+
+
+
+ MonitoringFilter
+
+ i=69
+ i=7617
+
+
+ MonitoringFilter
+
+
+
+ EventFilter
+
+ i=69
+ i=7617
+
+
+ EventFilter
+
+
+
+ AggregateConfiguration
+
+ i=69
+ i=7617
+
+
+ AggregateConfiguration
+
+
+
+ HistoryEventFieldList
+
+ i=69
+ i=7617
+
+
+ HistoryEventFieldList
+
+
+
+ BuildInfo
+
+ i=69
+ i=7617
+
+
+ BuildInfo
+
+
+
+ RedundantServerDataType
+
+ i=69
+ i=7617
+
+
+ RedundantServerDataType
+
+
+
+ EndpointUrlListDataType
+
+ i=69
+ i=7617
+
+
+ EndpointUrlListDataType
+
+
+
+ NetworkGroupDataType
+
+ i=69
+ i=7617
+
+
+ NetworkGroupDataType
+
+
+
+ SamplingIntervalDiagnosticsDataType
+
+ i=69
+ i=7617
+
+
+ SamplingIntervalDiagnosticsDataType
+
+
+
+ ServerDiagnosticsSummaryDataType
+
+ i=69
+ i=7617
+
+
+ ServerDiagnosticsSummaryDataType
+
+
+
+ ServerStatusDataType
+
+ i=69
+ i=7617
+
+
+ ServerStatusDataType
+
+
+
+ SessionDiagnosticsDataType
+
+ i=69
+ i=7617
+
+
+ SessionDiagnosticsDataType
+
+
+
+ SessionSecurityDiagnosticsDataType
+
+ i=69
+ i=7617
+
+
+ SessionSecurityDiagnosticsDataType
+
+
+
+ ServiceCounterDataType
+
+ i=69
+ i=7617
+
+
+ ServiceCounterDataType
+
+
+
+ StatusResult
+
+ i=69
+ i=7617
+
+
+ StatusResult
+
+
+
+ SubscriptionDiagnosticsDataType
+
+ i=69
+ i=7617
+
+
+ SubscriptionDiagnosticsDataType
+
+
+
+ ModelChangeStructureDataType
+
+ i=69
+ i=7617
+
+
+ ModelChangeStructureDataType
+
+
+
+ SemanticChangeStructureDataType
+
+ i=69
+ i=7617
+
+
+ SemanticChangeStructureDataType
+
+
+
+ Range
+
+ i=69
+ i=7617
+
+
+ Range
+
+
+
+ EUInformation
+
+ i=69
+ i=7617
+
+
+ EUInformation
+
+
+
+ ComplexNumberType
+
+ i=69
+ i=7617
+
+
+ ComplexNumberType
+
+
+
+ DoubleComplexNumberType
+
+ i=69
+ i=7617
+
+
+ DoubleComplexNumberType
+
+
+
+ AxisInformation
+
+ i=69
+ i=7617
+
+
+ AxisInformation
+
+
+
+ XVType
+
+ i=69
+ i=7617
+
+
+ XVType
+
+
+
+ ProgramDiagnosticDataType
+
+ i=69
+ i=7617
+
+
+ ProgramDiagnosticDataType
+
+
+
+ ProgramDiagnostic2DataType
+
+ i=69
+ i=7617
+
+
+ ProgramDiagnostic2DataType
+
+
+
+ Annotation
+
+ i=69
+ i=7617
+
+
+ Annotation
+
+
+
+ Default XML
+
+ i=12756
+ i=12762
+ i=76
+
+
+
+ Default XML
+
+ i=14533
+ i=14829
+ i=76
+
+
+
+ Default XML
+
+ i=16313
+ i=17542
+ i=76
+
+
+
+ Default XML
+
+ i=17548
+ i=17554
+ i=76
+
+
+
+ Default XML
+
+ i=15528
+ i=16024
+ i=76
+
+
+
+ Default XML
+
+ i=18806
+ i=18860
+ i=76
+
+
+
+ Default XML
+
+ i=18807
+ i=18863
+ i=76
+
+
+
+ Default XML
+
+ i=18808
+ i=18866
+ i=76
+
+
+
+ Default XML
+
+ i=18809
+ i=18869
+ i=76
+
+
+
+ Default XML
+
+ i=18810
+ i=19049
+ i=76
+
+
+
+ Default XML
+
+ i=18811
+ i=19052
+ i=76
+
+
+
+ Default XML
+
+ i=18812
+ i=19055
+ i=76
+
+
+
+ Default XML
+
+ i=18813
+ i=19058
+ i=76
+
+
+
+ Default XML
+
+ i=18814
+ i=19061
+ i=76
+
+
+
+ Default XML
+
+ i=15634
+ i=15730
+ i=76
+
+
+
+ Default XML
+
+ i=23498
+ i=23522
+ i=76
+
+
+
+ Default XML
+
+ i=12554
+ i=12677
+ i=76
+
+
+
+ Default XML
+
+ i=17861
+ i=76
+
+
+
+ Default XML
+
+ i=15534
+ i=16027
+ i=76
+
+
+
+ Default XML
+
+ i=14525
+ i=14811
+ i=76
+
+
+
+ Default XML
+
+ i=15487
+ i=15591
+ i=76
+
+
+
+ Default XML
+
+ i=15488
+ i=15594
+ i=76
+
+
+
+ Default XML
+
+ i=15005
+ i=15585
+ i=76
+
+
+
+ Default XML
+
+ i=15006
+ i=15588
+ i=76
+
+
+
+ Default XML
+
+ i=14523
+ i=14805
+ i=76
+
+
+
+ Default XML
+
+ i=14524
+ i=14808
+ i=76
+
+
+
+ Default XML
+
+ i=14593
+ i=14832
+ i=76
+
+
+
+ Default XML
+
+ i=15578
+ i=16030
+ i=76
+
+
+
+ Default XML
+
+ i=15580
+ i=16033
+ i=76
+
+
+
+ Default XML
+
+ i=14273
+ i=14320
+ i=76
+
+
+
+ Default XML
+
+ i=15581
+ i=16037
+ i=76
+
+
+
+ Default XML
+
+ i=15582
+ i=16040
+ i=76
+
+
+
+ Default XML
+
+ i=15597
+ i=16047
+ i=76
+
+
+
+ Default XML
+
+ i=15598
+ i=16050
+ i=76
+
+
+
+ Default XML
+
+ i=15605
+ i=16053
+ i=76
+
+
+
+ Default XML
+
+ i=15609
+ i=16056
+ i=76
+
+
+
+ Default XML
+
+ i=15480
+ i=21180
+ i=76
+
+
+
+ Default XML
+
+ i=15611
+ i=16062
+ i=76
+
+
+
+ Default XML
+
+ i=15616
+ i=16065
+ i=76
+
+
+
+ Default XML
+
+ i=15617
+ i=16068
+ i=76
+
+
+
+ Default XML
+
+ i=15618
+ i=16071
+ i=76
+
+
+
+ Default XML
+
+ i=15502
+ i=21183
+ i=76
+
+
+
+ Default XML
+
+ i=15510
+ i=21186
+ i=76
+
+
+
+ Default XML
+
+ i=15520
+ i=21189
+ i=76
+
+
+
+ Default XML
+
+ i=15621
+ i=16077
+ i=76
+
+
+
+ Default XML
+
+ i=15622
+ i=16080
+ i=76
+
+
+
+ Default XML
+
+ i=15623
+ i=16083
+ i=76
+
+
+
+ Default XML
+
+ i=15628
+ i=16086
+ i=76
+
+
+
+ Default XML
+
+ i=15629
+ i=16089
+ i=76
+
+
+
+ Default XML
+
+ i=15630
+ i=16092
+ i=76
+
+
+
+ Default XML
+
+ i=15631
+ i=16095
+ i=76
+
+
+
+ Default XML
+
+ i=14744
+ i=14835
+ i=76
+
+
+
+ Default XML
+
+ i=15635
+ i=16098
+ i=76
+
+
+
+ Default XML
+
+ i=15530
+ i=21192
+ i=76
+
+
+
+ Default XML
+
+ i=15645
+ i=16104
+ i=76
+
+
+
+ Default XML
+
+ i=15652
+ i=16107
+ i=76
+
+
+
+ Default XML
+
+ i=15653
+ i=16110
+ i=76
+
+
+
+ Default XML
+
+ i=15657
+ i=16113
+ i=76
+
+
+
+ Default XML
+
+ i=15664
+ i=16116
+ i=76
+
+
+
+ Default XML
+
+ i=15665
+ i=16119
+ i=76
+
+
+
+ Default XML
+
+ i=17467
+ i=17473
+ i=76
+
+
+
+ Default XML
+
+ i=15532
+ i=21195
+ i=76
+
+
+
+ Default XML
+
+ i=15007
+ i=15640
+ i=76
+
+
+
+ Default XML
+
+ i=15667
+ i=16125
+ i=76
+
+
+
+ Default XML
+
+ i=15669
+ i=16144
+ i=76
+
+
+
+ Default XML
+
+ i=15670
+ i=16147
+ i=76
+
+
+
+ Default XML
+
+ i=23468
+ i=23508
+ i=76
+
+
+
+ Default XML
+
+ i=24107
+ i=24129
+ i=76
+
+
+
+ Default XML
+
+ i=96
+ i=16127
+ i=76
+
+
+
+ Default XML
+
+ i=97
+ i=18166
+ i=76
+
+
+
+ Default XML
+
+ i=101
+ i=18169
+ i=76
+
+
+
+ Default XML
+
+ i=99
+ i=18172
+ i=76
+
+
+
+ Default XML
+
+ i=100
+ i=18175
+ i=76
+
+
+
+ Default XML
+
+ i=258
+ i=76
+
+
+
+ Default XML
+
+ i=11879
+ i=76
+
+
+
+ Default XML
+
+ i=11880
+ i=76
+
+
+
+ Default XML
+
+ i=261
+ i=76
+
+
+
+ Default XML
+
+ i=264
+ i=76
+
+
+
+ Default XML
+
+ i=267
+ i=76
+
+
+
+ Default XML
+
+ i=270
+ i=76
+
+
+
+ Default XML
+
+ i=273
+ i=76
+
+
+
+ Default XML
+
+ i=276
+ i=76
+
+
+
+ Default XML
+
+ i=279
+ i=76
+
+
+
+ Default XML
+
+ i=282
+ i=76
+
+
+
+ Default XML
+
+ i=285
+ i=76
+
+
+
+ Default XML
+
+ i=296
+ i=8285
+ i=76
+
+
+
+ Default XML
+
+ i=7594
+ i=8291
+ i=76
+
+
+
+ Default XML
+
+ i=102
+ i=14826
+ i=76
+
+
+
+ Default XML
+
+ i=12755
+ i=12759
+ i=76
+
+
+
+ Default XML
+
+ i=8912
+ i=8918
+ i=76
+
+
+
+ Default XML
+
+ i=308
+ i=8300
+ i=76
+
+
+
+ Default XML
+
+ i=389
+ i=76
+
+
+
+ Default XML
+
+ i=392
+ i=76
+
+
+
+ Default XML
+
+ i=395
+ i=76
+
+
+
+ Default XML
+
+ i=15901
+ i=76
+
+
+
+ Default XML
+
+ i=20999
+ i=76
+
+
+
+ Default XML
+
+ i=420
+ i=76
+
+
+
+ Default XML
+
+ i=423
+ i=76
+
+
+
+ Default XML
+
+ i=12189
+ i=12201
+ i=76
+
+
+
+ Default XML
+
+ i=12190
+ i=76
+
+
+
+ Default XML
+
+ i=12191
+ i=76
+
+
+
+ Default XML
+
+ i=304
+ i=8297
+ i=76
+
+
+
+ Default XML
+
+ i=312
+ i=8303
+ i=76
+
+
+
+ Default XML
+
+ i=426
+ i=76
+
+
+
+ Default XML
+
+ i=429
+ i=76
+
+
+
+ Default XML
+
+ i=432
+ i=8417
+ i=76
+
+
+
+ Default XML
+
+ i=435
+ i=76
+
+
+
+ Default XML
+
+ i=438
+ i=76
+
+
+
+ Default XML
+
+ i=12890
+ i=12894
+ i=76
+
+
+
+ Default XML
+
+ i=12891
+ i=12897
+ i=76
+
+
+
+ Default XML
+
+ i=12193
+ i=76
+
+
+
+ Default XML
+
+ i=12194
+ i=76
+
+
+
+ Default XML
+
+ i=441
+ i=76
+
+
+
+ Default XML
+
+ i=444
+ i=76
+
+
+
+ Default XML
+
+ i=447
+ i=76
+
+
+
+ Default XML
+
+ i=450
+ i=76
+
+
+
+ Default XML
+
+ i=453
+ i=76
+
+
+
+ Default XML
+
+ i=344
+ i=8333
+ i=76
+
+
+
+ Default XML
+
+ i=456
+ i=76
+
+
+
+ Default XML
+
+ i=459
+ i=76
+
+
+
+ Default XML
+
+ i=462
+ i=76
+
+
+
+ Default XML
+
+ i=316
+ i=8306
+ i=76
+
+
+
+ Default XML
+
+ i=319
+ i=8309
+ i=76
+
+
+
+ Default XML
+
+ i=322
+ i=8312
+ i=76
+
+
+
+ Default XML
+
+ i=325
+ i=8315
+ i=76
+
+
+
+ Default XML
+
+ i=938
+ i=8318
+ i=76
+
+
+
+ Default XML
+
+ i=465
+ i=76
+
+
+
+ Default XML
+
+ i=468
+ i=76
+
+
+
+ Default XML
+
+ i=471
+ i=76
+
+
+
+ Default XML
+
+ i=474
+ i=76
+
+
+
+ Default XML
+
+ i=477
+ i=76
+
+
+
+ Default XML
+
+ i=480
+ i=76
+
+
+
+ Default XML
+
+ i=349
+ i=76
+
+
+
+ Default XML
+
+ i=352
+ i=76
+
+
+
+ Default XML
+
+ i=355
+ i=76
+
+
+
+ Default XML
+
+ i=358
+ i=76
+
+
+
+ Default XML
+
+ i=361
+ i=76
+
+
+
+ Default XML
+
+ i=364
+ i=76
+
+
+
+ Default XML
+
+ i=367
+ i=76
+
+
+
+ Default XML
+
+ i=370
+ i=76
+
+
+
+ Default XML
+
+ i=373
+ i=76
+
+
+
+ Default XML
+
+ i=17606
+ i=76
+
+
+
+ Default XML
+
+ i=17607
+ i=76
+
+
+
+ Default XML
+
+ i=376
+ i=8363
+ i=76
+
+
+
+ Default XML
+
+ i=483
+ i=76
+
+
+
+ Default XML
+
+ i=486
+ i=76
+
+
+
+ Default XML
+
+ i=489
+ i=76
+
+
+
+ Default XML
+
+ i=379
+ i=8366
+ i=76
+
+
+
+ Default XML
+
+ i=492
+ i=76
+
+
+
+ Default XML
+
+ i=495
+ i=76
+
+
+
+ Default XML
+
+ i=382
+ i=8369
+ i=76
+
+
+
+ Default XML
+
+ i=498
+ i=76
+
+
+
+ Default XML
+
+ i=501
+ i=76
+
+
+
+ Default XML
+
+ i=385
+ i=8372
+ i=76
+
+
+
+ Default XML
+
+ i=504
+ i=76
+
+
+
+ Default XML
+
+ i=507
+ i=76
+
+
+
+ Default XML
+
+ i=511
+ i=76
+
+
+
+ Default XML
+
+ i=514
+ i=76
+
+
+
+ Default XML
+
+ i=518
+ i=76
+
+
+
+ Default XML
+
+ i=522
+ i=76
+
+
+
+ Default XML
+
+ i=525
+ i=76
+
+
+
+ Default XML
+
+ i=528
+ i=76
+
+
+
+ Default XML
+
+ i=531
+ i=76
+
+
+
+ Default XML
+
+ i=534
+ i=76
+
+
+
+ Default XML
+
+ i=537
+ i=12712
+ i=76
+
+
+
+ Default XML
+
+ i=540
+ i=12715
+ i=76
+
+
+
+ Default XML
+
+ i=543
+ i=76
+
+
+
+ Default XML
+
+ i=546
+ i=76
+
+
+
+ Default XML
+
+ i=549
+ i=76
+
+
+
+ Default XML
+
+ i=552
+ i=76
+
+
+
+ Default XML
+
+ i=555
+ i=76
+
+
+
+ Default XML
+
+ i=558
+ i=76
+
+
+
+ Default XML
+
+ i=561
+ i=76
+
+
+
+ Default XML
+
+ i=564
+ i=76
+
+
+
+ Default XML
+
+ i=567
+ i=76
+
+
+
+ Default XML
+
+ i=331
+ i=8321
+ i=76
+
+
+
+ Default XML
+
+ i=570
+ i=76
+
+
+
+ Default XML
+
+ i=573
+ i=76
+
+
+
+ Default XML
+
+ i=577
+ i=76
+
+
+
+ Default XML
+
+ i=580
+ i=76
+
+
+
+ Default XML
+
+ i=583
+ i=8564
+ i=76
+
+
+
+ Default XML
+
+ i=586
+ i=8567
+ i=76
+
+
+
+ Default XML
+
+ i=589
+ i=8570
+ i=76
+
+
+
+ Default XML
+
+ i=592
+ i=8573
+ i=76
+
+
+
+ Default XML
+
+ i=595
+ i=8576
+ i=76
+
+
+
+ Default XML
+
+ i=598
+ i=8579
+ i=76
+
+
+
+ Default XML
+
+ i=601
+ i=8582
+ i=76
+
+
+
+ Default XML
+
+ i=604
+ i=76
+
+
+
+ Default XML
+
+ i=607
+ i=76
+
+
+
+ Default XML
+
+ i=610
+ i=76
+
+
+
+ Default XML
+
+ i=613
+ i=76
+
+
+
+ Default XML
+
+ i=616
+ i=76
+
+
+
+ Default XML
+
+ i=619
+ i=76
+
+
+
+ Default XML
+
+ i=622
+ i=76
+
+
+
+ Default XML
+
+ i=626
+ i=76
+
+
+
+ Default XML
+
+ i=629
+ i=76
+
+
+
+ Default XML
+
+ i=632
+ i=76
+
+
+
+ Default XML
+
+ i=635
+ i=76
+
+
+
+ Default XML
+
+ i=638
+ i=76
+
+
+
+ Default XML
+
+ i=641
+ i=76
+
+
+
+ Default XML
+
+ i=644
+ i=76
+
+
+
+ Default XML
+
+ i=647
+ i=76
+
+
+
+ Default XML
+
+ i=650
+ i=76
+
+
+
+ Default XML
+
+ i=653
+ i=76
+
+
+
+ Default XML
+
+ i=23497
+ i=76
+
+
+
+ Default XML
+
+ i=656
+ i=76
+
+
+
+ Default XML
+
+ i=11216
+ i=76
+
+
+
+ Default XML
+
+ i=11217
+ i=76
+
+
+
+ Default XML
+
+ i=659
+ i=8639
+ i=76
+
+
+
+ Default XML
+
+ i=662
+ i=76
+
+
+
+ Default XML
+
+ i=665
+ i=76
+
+
+
+ Default XML
+
+ i=668
+ i=76
+
+
+
+ Default XML
+
+ i=671
+ i=76
+
+
+
+ Default XML
+
+ i=674
+ i=76
+
+
+
+ Default XML
+
+ i=677
+ i=76
+
+
+
+ Default XML
+
+ i=680
+ i=76
+
+
+
+ Default XML
+
+ i=11295
+ i=76
+
+
+
+ Default XML
+
+ i=683
+ i=76
+
+
+
+ Default XML
+
+ i=686
+ i=76
+
+
+
+ Default XML
+
+ i=689
+ i=76
+
+
+
+ Default XML
+
+ i=692
+ i=76
+
+
+
+ Default XML
+
+ i=695
+ i=76
+
+
+
+ Default XML
+
+ i=698
+ i=76
+
+
+
+ Default XML
+
+ i=701
+ i=76
+
+
+
+ Default XML
+
+ i=704
+ i=76
+
+
+
+ Default XML
+
+ i=707
+ i=76
+
+
+
+ Default XML
+
+ i=710
+ i=76
+
+
+
+ Default XML
+
+ i=713
+ i=76
+
+
+
+ Default XML
+
+ i=719
+ i=8702
+ i=76
+
+
+
+ Default XML
+
+ i=722
+ i=76
+
+
+
+ Default XML
+
+ i=725
+ i=8708
+ i=76
+
+
+
+ Default XML
+
+ i=948
+ i=8711
+ i=76
+
+
+
+ Default XML
+
+ i=728
+ i=76
+
+
+
+ Default XML
+
+ i=731
+ i=76
+
+
+
+ Default XML
+
+ i=734
+ i=76
+
+
+
+ Default XML
+
+ i=737
+ i=76
+
+
+
+ Default XML
+
+ i=740
+ i=76
+
+
+
+ Default XML
+
+ i=743
+ i=76
+
+
+
+ Default XML
+
+ i=746
+ i=76
+
+
+
+ Default XML
+
+ i=749
+ i=76
+
+
+
+ Default XML
+
+ i=752
+ i=76
+
+
+
+ Default XML
+
+ i=755
+ i=76
+
+
+
+ Default XML
+
+ i=758
+ i=76
+
+
+
+ Default XML
+
+ i=761
+ i=76
+
+
+
+ Default XML
+
+ i=764
+ i=76
+
+
+
+ Default XML
+
+ i=767
+ i=76
+
+
+
+ Default XML
+
+ i=770
+ i=76
+
+
+
+ Default XML
+
+ i=773
+ i=76
+
+
+
+ Default XML
+
+ i=776
+ i=76
+
+
+
+ Default XML
+
+ i=779
+ i=76
+
+
+
+ Default XML
+
+ i=782
+ i=76
+
+
+
+ Default XML
+
+ i=785
+ i=76
+
+
+
+ Default XML
+
+ i=788
+ i=76
+
+
+
+ Default XML
+
+ i=791
+ i=76
+
+
+
+ Default XML
+
+ i=794
+ i=76
+
+
+
+ Default XML
+
+ i=797
+ i=76
+
+
+
+ Default XML
+
+ i=800
+ i=76
+
+
+
+ Default XML
+
+ i=803
+ i=76
+
+
+
+ Default XML
+
+ i=945
+ i=76
+
+
+
+ Default XML
+
+ i=809
+ i=76
+
+
+
+ Default XML
+
+ i=806
+ i=76
+
+
+
+ Default XML
+
+ i=914
+ i=76
+
+
+
+ Default XML
+
+ i=917
+ i=76
+
+
+
+ Default XML
+
+ i=920
+ i=8807
+ i=76
+
+
+
+ Default XML
+
+ i=818
+ i=76
+
+
+
+ Default XML
+
+ i=821
+ i=76
+
+
+
+ Default XML
+
+ i=824
+ i=76
+
+
+
+ Default XML
+
+ i=827
+ i=76
+
+
+
+ Default XML
+
+ i=830
+ i=76
+
+
+
+ Default XML
+
+ i=833
+ i=76
+
+
+
+ Default XML
+
+ i=836
+ i=76
+
+
+
+ Default XML
+
+ i=839
+ i=76
+
+
+
+ Default XML
+
+ i=842
+ i=76
+
+
+
+ Default XML
+
+ i=845
+ i=76
+
+
+
+ Default XML
+
+ i=848
+ i=76
+
+
+
+ Default XML
+
+ i=338
+ i=8327
+ i=76
+
+
+
+ Default XML
+
+ i=853
+ i=8843
+ i=76
+
+
+
+ Default XML
+
+ i=11943
+ i=11951
+ i=76
+
+
+
+ Default XML
+
+ i=11944
+ i=11954
+ i=76
+
+
+
+ Default XML
+
+ i=856
+ i=8846
+ i=76
+
+
+
+ Default XML
+
+ i=859
+ i=8849
+ i=76
+
+
+
+ Default XML
+
+ i=862
+ i=8852
+ i=76
+
+
+
+ Default XML
+
+ i=865
+ i=8855
+ i=76
+
+
+
+ Default XML
+
+ i=868
+ i=8858
+ i=76
+
+
+
+ Default XML
+
+ i=871
+ i=8861
+ i=76
+
+
+
+ Default XML
+
+ i=299
+ i=8294
+ i=76
+
+
+
+ Default XML
+
+ i=874
+ i=8864
+ i=76
+
+
+
+ Default XML
+
+ i=877
+ i=8867
+ i=76
+
+
+
+ Default XML
+
+ i=897
+ i=8870
+ i=76
+
+
+
+ Default XML
+
+ i=884
+ i=8873
+ i=76
+
+
+
+ Default XML
+
+ i=887
+ i=8876
+ i=76
+
+
+
+ Default XML
+
+ i=12171
+ i=12175
+ i=76
+
+
+
+ Default XML
+
+ i=12172
+ i=12178
+ i=76
+
+
+
+ Default XML
+
+ i=12079
+ i=12083
+ i=76
+
+
+
+ Default XML
+
+ i=12080
+ i=12086
+ i=76
+
+
+
+ Default XML
+
+ i=894
+ i=8882
+ i=76
+
+
+
+ Default XML
+
+ i=24033
+ i=24039
+ i=76
+
+
+
+ Default XML
+
+ i=891
+ i=8879
+ i=76
+
+
+
+ Opc.Ua
+
+ i=8254
+ i=15039
+ i=12762
+ i=14829
+ i=17542
+ i=17554
+ i=16024
+ i=18860
+ i=18863
+ i=18866
+ i=18869
+ i=19049
+ i=19052
+ i=19055
+ i=19058
+ i=19061
+ i=15730
+ i=23522
+ i=12677
+ i=16027
+ i=14811
+ i=15591
+ i=15594
+ i=15585
+ i=15588
+ i=14805
+ i=14808
+ i=14832
+ i=16030
+ i=16033
+ i=14320
+ i=16037
+ i=16040
+ i=16047
+ i=16050
+ i=16053
+ i=16056
+ i=21180
+ i=16062
+ i=16065
+ i=16068
+ i=16071
+ i=21183
+ i=21186
+ i=21189
+ i=16077
+ i=16080
+ i=16083
+ i=16086
+ i=16089
+ i=16092
+ i=16095
+ i=14835
+ i=16098
+ i=21192
+ i=16104
+ i=16107
+ i=16110
+ i=16113
+ i=16116
+ i=16119
+ i=17473
+ i=21195
+ i=15640
+ i=16125
+ i=16144
+ i=16147
+ i=23508
+ i=24129
+ i=16127
+ i=18166
+ i=18169
+ i=18172
+ i=18175
+ i=8285
+ i=8291
+ i=14826
+ i=12759
+ i=8918
+ i=8300
+ i=12201
+ i=8297
+ i=8303
+ i=8417
+ i=12894
+ i=12897
+ i=8333
+ i=8306
+ i=8309
+ i=8312
+ i=8315
+ i=8318
+ i=8363
+ i=8366
+ i=8369
+ i=8372
+ i=12712
+ i=12715
+ i=8321
+ i=8564
+ i=8567
+ i=8570
+ i=8573
+ i=8576
+ i=8579
+ i=8582
+ i=8639
+ i=8702
+ i=8708
+ i=8711
+ i=8807
+ i=8327
+ i=8843
+ i=11951
+ i=11954
+ i=8846
+ i=8849
+ i=8852
+ i=8855
+ i=8858
+ i=8861
+ i=8294
+ i=8864
+ i=8867
+ i=8870
+ i=8873
+ i=8876
+ i=12175
+ i=12178
+ i=12083
+ i=12086
+ i=8882
+ i=24039
+ i=8879
+ i=92
+ i=72
+
+
+ PHhzOnNjaGVtYQ0KICB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEi
+DQogIHhtbG5zOnVhPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAwOC8wMi9UeXBlcy54
+c2QiDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlw
+ZXMueHNkIg0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8y
+MDA4LzAyL1R5cGVzLnhzZCINCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQog
+IDx4czplbGVtZW50IG5hbWU9IkJvb2xlYW4iIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpib29s
+ZWFuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCb29sZWFuIj4NCiAgICA8
+eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpi
+b29sZWFuIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP
+ZkJvb2xlYW4iIHR5cGU9InRuczpMaXN0T2ZCb29sZWFuIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiBuaWxsYWJsZT0idHJ1ZSIgdHlw
+ZT0ieHM6Ynl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU0J5dGUiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4
+czpieXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP
+ZlNCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mU0J5dGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l
+bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgbmlsbGFibGU9InRydWUiIHR5cGU9Inhz
+OnVuc2lnbmVkQnl0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnl0ZSI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnl0ZSIgdHlwZT0i
+eHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ikxpc3RPZkJ5dGUiIHR5cGU9InRuczpMaXN0T2ZCeXRlIiBuaWxsYWJsZT0idHJ1ZSI+PC94
+czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludDE2IiBuaWxsYWJsZT0idHJ1ZSIg
+dHlwZT0ieHM6c2hvcnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkludDE2
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQxNiIgdHlw
+ZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+TGlzdE9mSW50MTYiIHR5cGU9InRuczpMaXN0T2ZJbnQxNiIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50MTYiIG5pbGxhYmxlPSJ0cnVlIiB0
+eXBlPSJ4czp1bnNpZ25lZFNob3J0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0
+T2ZVSW50MTYiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVJ
+bnQxNiIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MTYiIHR5cGU9InRuczpMaXN0T2ZVSW50MTYiIG5p
+bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW50MzIi
+IG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czppbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZkludDMyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJJbnQzMiIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9Ikxpc3RPZkludDMyIiB0eXBlPSJ0bnM6TGlzdE9mSW50MzIiIG5pbGxhYmxl
+PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiBuaWxs
+YWJsZT0idHJ1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZlVJbnQzMiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iVUludDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiBtYXhP
+Y2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVSW50MzIiIHR5cGU9InRuczpMaXN0T2ZV
+SW50MzIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iSW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpsb25nIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iSW50NjQiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgbWF4T2Nj
+dXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSW50NjQiIHR5cGU9InRuczpMaXN0T2ZJbnQ2
+NCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJV
+SW50NjQiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVJbnQ2NCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDY0IiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIG1pbk9j
+Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVUludDY0IiB0eXBl
+PSJ0bnM6TGlzdE9mVUludDY0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4
+czplbGVtZW50IG5hbWU9IkZsb2F0IiBuaWxsYWJsZT0idHJ1ZSIgdHlwZT0ieHM6ZmxvYXQiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkZsb2F0Ij4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9j
+Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRmxvYXQiIHR5cGU9
+InRuczpMaXN0T2ZGbG9hdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJEb3VibGUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4czpkb3VibGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1p
+bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRG91YmxlIiB0
+eXBlPSJ0bnM6TGlzdE9mRG91YmxlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog
+IDx4czplbGVtZW50IG5hbWU9IlN0cmluZyIgbmlsbGFibGU9InRydWUiIHR5cGU9InhzOnN0cmlu
+ZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RyaW5nIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmciIHR5cGU9InhzOnN0cmlu
+ZyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJp
+bmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+
+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZVRpbWUiIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4
+czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0ZVRpbWUi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGVUaW1lIiB0
+eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJMaXN0T2ZEYXRlVGltZSIgdHlwZT0idG5zOkxpc3RPZkRhdGVUaW1lIiBuaWxsYWJsZT0i
+dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHdWlkIj4NCiAg
+ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czphcHBpbmZvPg0KICAgICAgICA8SXNWYWx1ZVR5
+cGUgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vMjAwMy8xMC9TZXJpYWxpemF0
+aW9uLyI+dHJ1ZTwvSXNWYWx1ZVR5cGU+DQogICAgICA8L3hzOmFwcGluZm8+DQogICAgPC94czph
+bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0
+cmluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iR3VpZCIgdHlwZT0idG5zOkd1aWQiIG5pbGxhYmxlPSJ0cnVlIj48
+L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkd1aWQiPg0KICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpH
+dWlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkd1
+aWQiIHR5cGU9InRuczpMaXN0T2ZHdWlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K
+DQogIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIiB0eXBlPSJ4
+czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJ5dGVT
+dHJpbmciPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVT
+dHJpbmciIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnl0ZVN0cmluZyIgdHlwZT0i
+dG5zOkxpc3RPZkJ5dGVTdHJpbmciIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhtbEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlhtbEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4
+T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgPHhzOmNvbXBsZXhU
+eXBlPg0KICAgICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICAgIDx4czphbnkgbWluT2Nj
+dXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+
+DQogICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94
+czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz
+dE9mWG1sRWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlhtbEVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVl
+Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVJZCI+DQogICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmllciIgdHlwZT0i
+eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTm9kZUlkIiB0eXBlPSJ0bnM6Tm9kZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt
+ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlSWQiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idG5zOk5vZGVJ
+ZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZUlkIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFeHBhbmRlZE5vZGVJ
+ZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpZmll
+ciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0iMSIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg
+bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+TGlzdE9mRXhwYW5kZWROb2RlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6RXhwYW5kZWROb2RlSWQiIG1pbk9j
+Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv
+eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp
+c3RPZkV4cGFuZGVkTm9kZUlkIiB0eXBlPSJ0bnM6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN0YXR1
+c0NvZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAg
+IDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEw
+L1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1ZhbHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4N
+CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iQ29kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVzQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzQ29kZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlw
+ZT0idG5zOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mU3RhdHVzQ29kZSIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c0NvZGUiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpYWdu
+b3N0aWNJbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT
+eW1ib2xpY0lkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ik5hbWVzcGFjZVVyaSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0ieHM6aW50
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSW5m
+byIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJJbm5lclN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbm5lckRpYWdub3N0aWNJbmZvIiB0eXBlPSJ0
+bnM6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K
+ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mbyIg
+dHlwZT0idG5zOkRpYWdub3N0aWNJbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljSW5mbyI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9
+InRuczpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGlhZ25vc3RpY0luZm8iIHR5cGU9InRuczpM
+aXN0T2ZEaWFnbm9zdGljSW5mbyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUZXh0IiB0
+eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv
+eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxv
+Y2FsaXplZFRleHQiIHR5cGU9InRuczpMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTG9jYWxpemVkVGV4dCI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxpemVkVGV4dCIgdHlwZT0i
+dG5zOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkxvY2FsaXplZFRleHQiIHR5cGU9InRuczpMaXN0
+T2ZMb2NhbGl6ZWRUZXh0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRTaG9y
+dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0i
+eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1YWxpZmll
+ZE5hbWUiIHR5cGU9InRuczpRdWFsaWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVhbGlmaWVkTmFtZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVhbGlmaWVkTmFtZSIgdHlwZT0idG5zOlF1
+YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1YWxpZmllZE5hbWUiIHR5cGU9InRuczpMaXN0T2ZRdWFs
+aWZpZWROYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAgICBT
+b21lIGVudmlyb25tZW50cyByZXF1aXJlIGEgV1NETC9YU0Qgd2hpY2ggZXhwbGljaXRseSBkZWZp
+bmVzIGFsbCBwb3NzaWJsZSB0eXBlcy4NCiAgICBUaGUgVUEgV1NETC9YU0QgY2FuIGJlIG1vZGlm
+aWVkIHRvIHN1cHBvcnQgdGhlc2UgZW52aXJvbm1lbnRzIGJ5IHJlcGxhY2luZyB0aGUNCiAgICBk
+ZWZpbml0aW9ucyBvZiB0aGUgRXh0ZW5zaW9uT2JqZWN0Qm9keSBhbmQgVmFyaWFudFZhbHVlIGNv
+bXBsZXggdHlwZXMgd2l0aCB0aGUNCiAgICBkZWZpbml0aW9ucyBpbiB0aGUgY29tbWVudHMgc2hv
+d24gaGVyZS4gRGV2ZWxvcGVycyB3b3VsZCB0aGVuIGRlZmluZSBzdWJ0eXBlcw0KICAgIG9mIHRo
+ZSBFeHRlbnNpb25PYmplY3RCb2R5IHR5cGUgd2hpY2ggZXhwbGljaXRseSBkZWNsYXJlIGEgY2hv
+aWNlIGJldHdlZW4gYWxsIG9mIHRoZQ0KICAgIGNvbXBsZXggdHlwZXMgdXNlZCBieSB0aGUgc3lz
+dGVtLiBUaGUgRXhhbXBsZUV4dGVuc2lvbk9iamVjdEJvZHkgc3VidHlwZSBpcyBwcm92aWRlcw0K
+ICAgIGEgdGVtcGxhdGUgYmFzZWQgb24gYSBmZXcgY29tbW9uIFVBLWRlZmluZWQgY29tcGxleCB0
+eXBlcy4NCiAgICAtLT4NCg0KICA8IS0tDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV4dGVu
+c2lvbk9iamVjdEJvZHkiIC8+DQoNCiAgICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZUV4
+dGVuc2lvbk9iamVjdEJvZHkiPg0KICAgICAgPHhzOmNvbXBsZXhDb250ZW50Pg0KICAgICAgICA8
+eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFeHRlbnNpb25PYmplY3RCb2R5Ij4NCiAgICAgICAgICA8
+eHM6Y2hvaWNlPg0KICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9
+InRuczpBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlcklk
+ZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2Vy
+TmFtZUlkZW50aXR5VG9rZW4iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+ICAgICAgPC94czpjaG9pY2U+DQogICAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgICAgPC94czpj
+b21wbGV4Q29udGVudD4NCiAgICA8L3hzOmNvbXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9IkV4dGVuc2lvbk9iamVjdCI+DQogICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOkV4cGFuZGVkTm9kZUlkIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC
+b2R5IiBtaW5PY2N1cnM9IjAiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3RCb2R5IiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4N
+CiAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNp
+b25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIC0tPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlR5cGVJZCIgdHlwZT0idG5zOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJvZHkiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND
+b250ZW50cz0ibGF4Ii8+DQogICAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpj
+b21wbGV4VHlwZT4NCiAgICAgIDwveHM6ZWxlbWVudD4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8
+L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3QiIHR5
+cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbk9iamVjdCIgdHlwZT0idG5zOkV4dGVu
+c2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiB0eXBlPSJ0bnM6TGlzdE9mRXh0
+ZW5zaW9uT2JqZWN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDwhLS0NCiAg
+ICBTb21lIFdTREwvWE1MIGNvbXBpbGVycyBoYXZlIGlzc3VlcyB3aXRoIHRoZSB4czpjaG9pY2Ug
+Y29uc3RydWN0LiBGb3IgdGhhdCByZWFzb24NCiAgICB0aGUgZGVmYXVsdCBkZWNsYXJhdGlvbiBv
+ZiBhIFZhcmlhbnQgdXNlcyB4czphbnkgY29uc3RydWN0LiBUaGUgc2NoZW1hIGFjdXR1YWxseQ0K
+ICAgIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gaXMgcHJvdmlkZWQgYnkgdGhlIE1hdHJp
+eCBhbmQgVmFyaWFudFZhbHVlIGNvbXBsZXggdHlwZXMNCiAgICBzaG93biBpbiBjb21tZW50cyBi
+ZWxvdy4gQXBwbGljYXRpb24gZGV2ZWxvcGVycyBjYW4gcmVwbGFjZSB0aGUgVmFyaWFudFZhbHVl
+IGRlY2xhcmF0aW9uDQogICAgd2l0aCB0aGUgc3BlY2lmaWMgZGVjbGFyYXRpb24gaWYgdGhleSBo
+YXZlIGEgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgdGhhdCBjYW4gaGFuZGxlDQogICAgdGhlIHhz
+OmNob2ljZSBjb25zdHJ1Y3QgaW4gYSByZWFzb25hYmxlIHdheS4NCiAgICAtLT4NCg0KICA8IS0t
+DQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1hdHJpeCI+DQogICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpbWVuc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZV
+SW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg
+ICA8eHM6Y29tcGxleFR5cGUgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgICAgICAgIDx4czpjaG9pY2Ug
+bWF4T2NjdXJzPSJ1bmJvdW5kZWQiPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC
+b29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpieXRlIiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5cGU9InhzOnVuc2lnbmVk
+Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ
+bnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czpp
+bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUlu
+dDMyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2ln
+bmVkTG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nIiB0eXBlPSJ4czpzdHJp
+bmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0
+ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh
+c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJYbWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAg
+ICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAgICAgICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgICAgICAgICAgICAgIDx4czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVu
+dHM9ImxheCIgLz4NCiAgICAgICAgICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgICAg
+ICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgICAgICAgPC94czplbGVtZW50Pg0KICAg
+ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6U3RhdHVz
+Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO
+b2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJ
+ZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFs
+aWZpZWROYW1lIiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9j
+YWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJFeHRlbnNpb25PYmplY3QiIHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0i
+dG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICAgIDwveHM6Y2hvaWNlPg0K
+ICAgICAgICAgIDwveHM6Y29tcGxleFR5cGU+DQogICAgICAgIDwveHM6ZWxlbWVudD4NCiAgICAg
+IDwveHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJNYXRyaXgiIHR5cGU9InRuczpNYXRyaXgiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogICAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnRWYWx1ZSI+DQogICAgICA8eHM6Y2hvaWNlPg0K
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb29sZWFuIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNCeXRlIiB0eXBlPSJ4czpi
+eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGUiIHR5
+cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJJbnQxNiIgdHlwZT0ieHM6c2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iVUludDE2IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludDMyIiB0eXBlPSJ4czppbnQi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUludDMyIiB0eXBl
+PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJJbnQ2NCIgdHlwZT0ieHM6bG9uZyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJVSW50NjQiIHR5cGU9InhzOnVuc2lnbmVkTG9uZyIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGbG9hdCIgdHlwZT0ieHM6ZmxvYXQiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlIiB0eXBlPSJ4
+czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Ry
+aW5nIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iRGF0ZVRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikd1aWQiIHR5cGU9InRuczpHdWlkIiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ5dGVTdHJpbmciIHR5cGU9InhzOmJh
+c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJY
+bWxFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIj4NCiAgICAgICAgICA8eHM6
+Y29tcGxleFR5cGU+DQogICAgICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgICAgIDx4
+czphbnkgbWluT2NjdXJzPSIwIiBwcm9jZXNzQ29udGVudHM9ImxheCIgLz4NCiAgICAgICAgICAg
+IDwveHM6c2VxdWVuY2U+DQogICAgICAgICAgPC94czpjb21wbGV4VHlwZT4NCiAgICAgICAgPC94
+czplbGVtZW50Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ0
+bnM6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJOb2RlSWQiIHR5cGU9InRuczpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpFeHBhbmRlZE5vZGVJZCIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWFsaWZpZWROYW1l
+IiB0eXBlPSJ0bnM6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJMb2NhbGl6ZWRUZXh0IiB0eXBlPSJ0bnM6TG9jYWxpemVkVGV4dCIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeHRlbnNpb25PYmplY3Qi
+IHR5cGU9InRuczpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iTGlzdE9mQm9vbGVhbiIgdHlwZT0idG5zOkxpc3RPZkJvb2xlYW4iIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU0J5dGUiIHR5
+cGU9InRuczpMaXN0T2ZTQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJMaXN0T2ZCeXRlIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZSIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQxNiIgdHlwZT0idG5zOkxpc3RP
+ZkludDE2IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP
+ZlVJbnQxNiIgdHlwZT0idG5zOkxpc3RPZlVJbnQxNiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnQzMiIgdHlwZT0idG5zOkxpc3RPZkludDMyIiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQzMiIg
+dHlwZT0idG5zOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZJbnQ2NCIgdHlwZT0idG5zOkxpc3RPZkludDY0IiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVJbnQ2NCIgdHlwZT0idG5z
+Okxpc3RPZlVJbnQ2NCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZGbG9hdCIgdHlwZT0idG5zOkxpc3RPZkZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRvdWJsZSIgdHlwZT0idG5zOkxpc3RPZkRv
+dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT
+dHJpbmciIHR5cGU9InRuczpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0ZVRpbWUiIHR5cGU9InRuczpMaXN0T2ZEYXRlVGlt
+ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHdWlk
+IiB0eXBlPSJ0bnM6TGlzdE9mR3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZCeXRlU3RyaW5nIiB0eXBlPSJ0bnM6TGlzdE9mQnl0ZVN0cmluZyIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYbWxFbGVt
+ZW50IiB0eXBlPSJ0bnM6TGlzdE9mWG1sRWxlbWVudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNDb2RlIiB0eXBlPSJ0bnM6TGlzdE9mU3Rh
+dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZOb2RlSWQiIHR5cGU9InRuczpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhwYW5kZWROb2RlSWQiIHR5cGU9InRuczpMaXN0
+T2ZFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJMaXN0T2ZRdWFsaWZpZWROYW1lIiB0eXBlPSJ0bnM6TGlzdE9mUXVhbGlmaWVkTmFtZSIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZMb2NhbGl6
+ZWRUZXh0IiB0eXBlPSJ0bnM6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFeHRlbnNpb25PYmplY3QiIHR5cGU9InRu
+czpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTGlzdE9mVmFyaWFudCIgdHlwZT0idG5zOkxpc3RPZlZhcmlhbnQiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF0cml4IiB0eXBlPSJ0bnM6
+TWF0cml4IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8L3hzOmNob2ljZT4NCiAgICA8L3hzOmNv
+bXBsZXhUeXBlPg0KDQogICAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idG5z
+OlZhcmlhbnRWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDwv
+eHM6c2VxdWVuY2U+DQogICAgPC94czpjb21wbGV4VHlwZT4NCiAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgLS0+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhbnQiPg0KICAgIDx4czphbm5vdGF0aW9u
+Pg0KICAgICAgPHhzOmFwcGluZm8+DQogICAgICAgIDxJc1ZhbHVlVHlwZSB4bWxucz0iaHR0cDov
+L3NjaGVtYXMubWljcm9zb2Z0LmNvbS8yMDAzLzEwL1NlcmlhbGl6YXRpb24vIj50cnVlPC9Jc1Zh
+bHVlVHlwZT4NCiAgICAgIDwveHM6YXBwaW5mbz4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiPg0KICAgICAgICA8eHM6Y29tcGxleFR5cGU+DQogICAgICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICAgICAgPHhzOmFueSBtaW5PY2N1cnM9IjAiIHByb2Nlc3ND
+b250ZW50cz0ibGF4IiAvPg0KICAgICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6
+Y29tcGxleFR5cGU+DQogICAgICA8L3hzOmVsZW1lbnQ+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFudCIgdHlwZT0idG5z
+OlZhcmlhbnQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM
+aXN0T2ZWYXJpYW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJWYXJpYW50IiB0eXBlPSJ0bnM6VmFyaWFudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZWYXJpYW50IiB0eXBlPSJ0bnM6TGlzdE9mVmFyaWFudCIg
+bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+RGF0YVZhbHVlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW
+YWx1ZSIgdHlwZT0idG5zOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InRuczpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VUaW1lc3RhbXAiIHR5cGU9InhzOmRh
+dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VQ
+aWNvc2Vjb25kcyIgdHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUGljb3NlY29u
+ZHMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFs
+dWUiIHR5cGU9InRuczpEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIi8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVZhbHVlIiB0eXBlPSJ0bnM6RGF0YVZhbHVlIiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZEYXRhVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZEYXRhVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48
+L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2tlU2VydmljZVJlcXVlc3Qi
+IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbmlsbGFibGU9InRydWUiIC8+DQogIDx4czplbGVtZW50
+IG5hbWU9Ikludm9rZVNlcnZpY2VSZXNwb25zZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6
+YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4
+czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9
+InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlw
+ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkF1ZGlvRGF0YVR5
+cGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+VW5pb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu
+T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+TGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCaXRGaWVsZE1hc2tEYXRhVHlwZSIgdHlw
+ZT0ieHM6dW5zaWduZWRMb25nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXlWYWx1
+ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleSIg
+dHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iS2V5VmFsdWVQYWlyIiB0eXBlPSJ0bnM6S2V5VmFsdWVQYWlyIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZLZXlWYWx1ZVBhaXIiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleVZhbHVlUGFpciIgdHlwZT0idG5z
+OktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mS2V5VmFsdWVQYWlyIiB0eXBlPSJ0bnM6TGlzdE9mS2V5
+VmFsdWVQYWlyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJBZGRpdGlvbmFsUGFyYW1ldGVyc1R5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcmFtZXRlcnMiIHR5cGU9InRuczpMaXN0T2ZLZXlW
+YWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkaXRpb25h
+bFBhcmFtZXRlcnNUeXBlIiB0eXBlPSJ0bnM6QWRkaXRpb25hbFBhcmFtZXRlcnNUeXBlIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFcGhlbWVyYWxLZXlUeXBlIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaWNLZXkiIHR5cGU9InhzOmJhc2U2
+NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5
+cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVwaGVtZXJhbEtleVR5cGUiIHR5cGU9InRuczpFcGhl
+bWVyYWxLZXlUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludFR5cGUi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJs
+IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp
+dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0
+eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0i
+eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50
+VHlwZSIgdHlwZT0idG5zOkVuZHBvaW50VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iTGlzdE9mRW5kcG9pbnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJFbmRwb2ludFR5cGUiIHR5cGU9InRuczpFbmRwb2ludFR5cGUiIG1pbk9jY3Vy
+cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP
+ZkVuZHBvaW50VHlwZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VHlwZSIgbmlsbGFibGU9InRy
+dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmF0aW9uYWxOdW1i
+ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyYXRv
+ciIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJEZW5vbWluYXRvciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJSYXRpb25hbE51bWJlciIgdHlwZT0idG5zOlJhdGlvbmFsTnVtYmVyIiAvPg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSYXRpb25hbE51bWJlciI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpSYXRp
+b25hbE51bWJlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTGlzdE9mUmF0aW9uYWxOdW1iZXIiIHR5cGU9InRuczpMaXN0T2ZSYXRp
+b25hbE51bWJlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iVmVjdG9yIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5j
+ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVjdG9yIiB0eXBl
+PSJ0bnM6VmVjdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZWZWN0b3Ii
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlY3RvciIgdHlw
+ZT0idG5zOlZlY3RvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVmVjdG9yIiB0eXBlPSJ0bnM6TGlzdE9mVmVjdG9yIiBu
+aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJU
+aHJlZURWZWN0b3IiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg
+ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VmVjdG9yIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlkiIHR5cGU9InhzOmRvdWJs
+ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IloiIHR5cGU9
+InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg
+ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGhyZWVEVmVjdG9yIiB0eXBlPSJ0bnM6VGhy
+ZWVEVmVjdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaHJlZURWZWN0
+b3IiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRocmVlRFZl
+Y3RvciIgdHlwZT0idG5zOlRocmVlRFZlY3RvciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVGhyZWVEVmVjdG9yIiB0eXBl
+PSJ0bnM6TGlzdE9mVGhyZWVEVmVjdG9yIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYXJ0ZXNpYW5Db29yZGluYXRlcyI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IkNhcnRlc2lhbkNvb3JkaW5hdGVzIiB0eXBlPSJ0bnM6Q2FydGVzaWFu
+Q29vcmRpbmF0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNhcnRlc2lh
+bkNvb3JkaW5hdGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOkNhcnRlc2lhbkNvb3JkaW5hdGVzIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOkxpc3RPZkNhcnRlc2lhbkNv
+b3JkaW5hdGVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyI+DQogICAgPHhzOmNvbXBsZXhD
+b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDYXJ0
+ZXNpYW5Db29yZGluYXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJZIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJaIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u
+Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiB0eXBlPSJ0bnM6VGhyZWVE
+Q2FydGVzaWFuQ29vcmRpbmF0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP
+ZlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJUaHJlZURDYXJ0ZXNpYW5Db29yZGluYXRlcyIgdHlwZT0idG5zOlRo
+cmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaHJlZURDYXJ0ZXNpYW5Db29yZGlu
+YXRlcyIgdHlwZT0idG5zOkxpc3RPZlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBuaWxsYWJs
+ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcmllbnRh
+dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9yaWVudGF0aW9uIiB0eXBlPSJ0bnM6T3Jp
+ZW50YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk9yaWVudGF0aW9u
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcmllbnRhdGlv
+biIgdHlwZT0idG5zOk9yaWVudGF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcmllbnRhdGlvbiIgdHlwZT0idG5z
+Okxpc3RPZk9yaWVudGF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJUaHJlZURPcmllbnRhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhD
+b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpPcmll
+bnRhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJBIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJCIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwv
+eHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IlRocmVlRE9yaWVudGF0aW9uIiB0eXBlPSJ0bnM6VGhyZWVET3JpZW50YXRpb24iIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRocmVlRE9yaWVudGF0aW9uIj4NCiAgICA8
+eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaHJlZURPcmllbnRhdGlvbiIg
+dHlwZT0idG5zOlRocmVlRE9yaWVudGF0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i
+b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaHJlZURPcmllbnRhdGlvbiIg
+dHlwZT0idG5zOkxpc3RPZlRocmVlRE9yaWVudGF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGcmFtZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkZyYW1lIiB0eXBlPSJ0bnM6RnJhbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZkZyYW1lIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJGcmFtZSIgdHlwZT0idG5zOkZyYW1lIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i
+dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZGcmFtZSIgdHlwZT0idG5z
+Okxpc3RPZkZyYW1lIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJUaHJlZURGcmFtZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk
+PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGcmFtZSI+DQogICAgICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYXJ0ZXNpYW5Db29y
+ZGluYXRlcyIgdHlwZT0idG5zOlRocmVlRENhcnRlc2lhbkNvb3JkaW5hdGVzIiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9yaWVu
+dGF0aW9uIiB0eXBlPSJ0bnM6VGhyZWVET3JpZW50YXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv
+bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJUaHJlZURGcmFtZSIgdHlwZT0idG5zOlRocmVlREZyYW1lIiAvPg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaHJlZURGcmFtZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGhyZWVERnJhbWUiIHR5cGU9InRuczpUaHJl
+ZURGcmFtZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTGlzdE9mVGhyZWVERnJhbWUiIHR5cGU9InRuczpMaXN0T2ZUaHJlZURGcmFt
+ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFt
+ZT0iT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVhZF8xIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJXcml0ZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJF
+cmFzZUV4aXN0aW5nXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFwcGVuZF84
+IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6T3BlbkZpbGVNb2RlIiAvPg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZPcGVuRmlsZU1vZGUiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9w
+ZW5GaWxlTW9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM
+aXN0T2ZPcGVuRmlsZU1vZGUiIHR5cGU9InRuczpMaXN0T2ZPcGVuRmlsZU1vZGUiIG5pbGxhYmxl
+PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkZW50aXR5
+Q3JpdGVyaWFUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVt
+ZXJhdGlvbiB2YWx1ZT0iVGh1bWJwcmludF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh
+bHVlPSJSb2xlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikdyb3VwSWRfNCIg
+Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5vbnltb3VzXzUiIC8+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9IkF1dGhlbnRpY2F0ZWRVc2VyXzYiIC8+DQogICAgICA8eHM6
+ZW51bWVyYXRpb24gdmFsdWU9IkFwcGxpY2F0aW9uXzciIC8+DQogICAgPC94czpyZXN0cmljdGlv
+bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGl0eUNyaXRl
+cmlhVHlwZSIgdHlwZT0idG5zOklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJMaXN0T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIHR5cGU9
+InRuczpJZGVudGl0eUNyaXRlcmlhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91
+bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5zOkxpc3RP
+ZklkZW50aXR5Q3JpdGVyaWFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJJZGVudGl0eU1hcHBpbmdSdWxlVHlwZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JpdGVyaWFUeXBlIiB0eXBlPSJ0
+bnM6SWRlbnRpdHlDcml0ZXJpYVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkNyaXRlcmlhIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIHR5cGU9InRuczpJZGVu
+dGl0eU1hcHBpbmdSdWxlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m
+SWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlN
+YXBwaW5nUnVsZVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0
+bnM6TGlzdE9mSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs
+ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkN1cnJlbmN5VW5pdFR5cGUiPg0KICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bWVyaWNDb2RlIiB0eXBl
+PSJ4czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhw
+b25lbnQiIHR5cGU9InhzOmJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkFscGhhYmV0aWNDb2RlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW5jeSIgdHlwZT0i
+dWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD
+dXJyZW5jeVVuaXRUeXBlIiB0eXBlPSJ0bnM6Q3VycmVuY3lVbml0VHlwZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ3VycmVuY3lVbml0VHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVuY3lVbml0VHlwZSIgdHlwZT0idG5z
+OkN1cnJlbmN5VW5pdFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkN1cnJlbmN5VW5pdFR5cGUiIHR5cGU9InRuczpM
+aXN0T2ZDdXJyZW5jeVVuaXRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog
+IDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVzdExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0
+aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVf
+MCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18x
+IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz
+aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5z
+OlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3RE
+YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Bl
+Y2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZC
+eXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1
+ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0
+eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlw
+ZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i
+dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlw
+ZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94
+czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWNpbWFsRGF0YVR5cGUiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNjYWxlIiB0eXBlPSJ4
+czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi
+IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJEZWNpbWFsRGF0YVR5cGUiIHR5cGU9InRuczpEZWNpbWFsRGF0YVR5cGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VzIiB0eXBlPSJ1YTpMaXN0
+T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTdHJ1Y3R1cmVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVE
+ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkVudW1EYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZFbnVtRGVzY3JpcHRp
+b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJTaW1wbGVEYXRhVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRp
+b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFI
+ZWFkZXIiIHR5cGU9InRuczpEYXRhVHlwZVNjaGVtYUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlU2NoZW1hSGVhZGVyIiB0eXBlPSJ0
+bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k
+ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl
+eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBlU2NoZW1hSGVhZGVyIiB0
+eXBlPSJ0bnM6TGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hz
+OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24i
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlSWQi
+IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0i
+dG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp
+c3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlc2Ny
+aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRGF0
+YVR5cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4czpjb21wbGV4
+Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0
+YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVm
+aW5pdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz
+ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2Ny
+aXB0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgdHlwZT0i
+dG5zOlN0cnVjdHVyZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIg
+dHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94
+czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVzY3JpcHRpb24iPg0K
+ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv
+biBiYXNlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5zOkVu
+dW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z
+aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVudW1EZXNjcmlwdGlv
+biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bURlc2NyaXB0aW9uIj4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVzY3JpcHRp
+b24iIHR5cGU9InRuczpFbnVtRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1
+bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6
+Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1EZXNjcmlwdGlvbiIg
+dHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl
+bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIj4N
+CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp
+b24gYmFzZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQmFzZURhdGFUeXBlIiB0eXBlPSJ1YTpOb2Rl
+SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg
+PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0
+aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVUeXBlRGVzY3Jp
+cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBs
+ZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj
+dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94
+czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz
+dE9mU2ltcGxlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlVHlwZURlc2Ny
+aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p
+eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZVNjaGVt
+YUhlYWRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJTY2hlbWFMb2NhdGlvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbGVIZWFkZXIiIHR5
+cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQm9keSIgdHlwZT0idWE6VmFyaWFudCIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl
+bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFy
+eUZpbGVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVUFCaW5h
+cnlGaWxlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6VUFCaW5hcnlGaWxlRGF0YVR5cGUi
+IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ikxpc3RPZlVBQmluYXJ5RmlsZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVUFCaW5hcnlG
+aWxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs
+ZVR5cGUgIG5hbWU9IlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6
+c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGF1c2VkXzEiIC8+DQogICAgICA8eHM6ZW51bWVy
+YXRpb24gdmFsdWU9Ik9wZXJhdGlvbmFsXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs
+dWU9IkVycm9yXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlByZU9wZXJhdGlv
+bmFsXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1YlN1YlN0YXRlIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJTdGF0ZSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViU3RhdGUiIHR5cGU9InRuczpQ
+dWJTdWJTdGF0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM
+aXN0T2ZQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1YlN0YXRlIiBuaWxsYWJsZT0i
+dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0TWV0
+YURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg
+IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9Inhz
+OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJG
+aWVsZHMiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRDbGFzc0lk
+IiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb24iIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lv
+bkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz
+OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu
+dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFE
+YXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9InRu
+czpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiB0eXBl
+PSJ0bnM6TGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl
+bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmllbGRNZXRhRGF0YSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5n
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZEZsYWdzIiB0eXBl
+PSJ0bnM6RGF0YVNldEZpZWxkRmxhZ3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkJ1aWx0SW5UeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhT
+dHJpbmdMZW5ndGgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvcGVydGllcyIgdHlwZT0idG5z
+Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRhRGF0YSIgLz4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRNZXRhRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkZpZWxkTWV0
+YURhdGEiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9Ikxpc3RPZkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpMaXN0T2ZGaWVsZE1ldGFE
+YXRhIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBu
+YW1lPSJEYXRhU2V0RmllbGRGbGFncyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVu
+c2lnbmVkU2hvcnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkRmxhZ3MiIHR5cGU9InRuczpEYXRhU2V0
+RmllbGRGbGFncyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29uZmlndXJhdGlvblZl
+cnNpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTWFqb3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWlub3JWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu
+dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5
+cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIHR5
+cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJMaXN0T2ZDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbkRh
+dGFUeXBlIiB0eXBlPSJ0bnM6Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgbWluT2NjdXJz
+PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m
+Q29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbmZpZ3VyYXRp
+b25WZXJzaW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+RGF0YVNldEZvbGRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhIiB0
+eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4dGVuc2lvbkZpZWxkcyIgdHlwZT0idG5z
+Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRTb3VyY2UiIHR5cGU9InVhOkV4dGVuc2lvbk9i
+amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRh
+U2V0RGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YVNl
+dERhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9
+IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQ
+dWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhU2V0
+RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxp
+c2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+TGlzdE9mUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUi
+IHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg
+bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu
+Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxp
+c2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFT
+ZXRTb3VyY2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkVmFyaWFibGUiIHR5cGU9
+InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhpbnQiIHR5
+cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+RGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4
+czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTdWJzdGl0dXRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgdHlwZT0i
+dWE6TGlzdE9mUXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFi
+bGVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVk
+VmFyaWFibGVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZFZhcmlh
+YmxlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRu
+czpMaXN0T2ZQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRh
+VHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6
+ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAg
+ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVk
+RGF0YSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8
+L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgdHlw
+ZT0idG5zOlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUi
+IHR5cGU9InRuczpQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP
+Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVk
+RGF0YUl0ZW1zRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJsaXNoZWREYXRhSXRlbXNEYXRh
+VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg
+bmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt
+aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHVibGlzaGVkRGF0
+YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4
+czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxl
+Y3RlZEZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K
+ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZl
+bnRzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1Ymxpc2hl
+ZEV2ZW50c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZEV2ZW50c0Rh
+dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP
+ZlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K
+DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayI+DQogICAg
+PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0
+aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVs
+ZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIj4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRDb250
+ZW50TWFzayIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAi
+IG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRGaWVsZENvbnRlbnRN
+YXNrIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0
+cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRXcml0
+ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlcklkIiB0eXBl
+PSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZENvbnRl
+bnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZXlGcmFt
+ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iRGF0YVNldE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0
+ZXJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0U2V0
+dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0i
+dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+IkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBl
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3Jp
+dGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i
+MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRh
+dGFTZXRXcml0ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlw
+ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRl
+clRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZE
+YXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i
+dG5zOkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1
+cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFdyaXRl
+clRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlclRyYW5zcG9y
+dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRX
+cml0ZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP
+ZkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRu
+czpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i
+dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyTWVz
+c2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlw
+ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iUHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6Ym9v
+bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlN
+b2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cElkIiB0eXBlPSJ4czpzdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT
+ZWN1cml0eUtleVNlcnZpY2VzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikdyb3VwUHJvcGVydGllcyIgdHlwZT0idG5z
+Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJQdWJTdWJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHViU3ViR3JvdXBEYXRhVHlwZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViR3JvdXBEYXRh
+VHlwZSIgdHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj
+dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1YlN1Ykdyb3Vw
+RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0i
+dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZXJHcm91
+cERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg
+IDx4czpleHRlbnNpb24gYmFzZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgICAgICA8
+eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBJZCIg
+dHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iS2VlcEFsaXZlVGltZSIgdHlw
+ZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkhlYWRlckxheW91dFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFNl
+dHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlcnMiIHR5cGU9InRuczpM
+aXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8
+L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBEYXRhVHlwZSIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlwZSI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBE
+YXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4
+T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRlckdy
+b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiBuaWxsYWJs
+ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZXJH
+cm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3Jv
+dXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5
+cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwVHJhbnNw
+b3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cFRyYW5z
+cG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBl
+PSJ0bnM6TGlzdE9mV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUi
+PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVyR3JvdXBNZXNz
+YWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8
+L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cE1lc3NhZ2VE
+YXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBNZXNz
+YWdlRGF0YVR5cGUiIHR5cGU9InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2Nj
+dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94
+czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz
+dE9mV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91
+cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF
+bmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJQdWJsaXNoZXJJZCIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6
+c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iQWRkcmVzcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvblBy
+b3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5n
+cyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBzIiB0eXBlPSJ0bnM6TGlz
+dE9mV3JpdGVyR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwcyIgdHlwZT0idG5zOkxpc3RPZlJl
+YWRlckdyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+UHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29ubmVjdGlvbkRhdGFU
+eXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9u
+RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1
+YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw
+ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVi
+U3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu
+czpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0
+eXBlPSJ0bnM6Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j
+Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K
+ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb25uZWN0aW9u
+VHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZDb25uZWN0aW9uVHJhbnNwb3J0RGF0
+YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ik5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIHR5cGU9InhzOnN0cmluZyIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBl
+IiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0i
+dG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv
+dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5
+cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrQWRkcmVz
+c1VybERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg
+ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiPg0KICAg
+ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXJsIiB0eXBl
+PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv
+eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250
+ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRk
+cmVzc1VybERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlw
+ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0Fk
+ZHJlc3NVcmxEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG1p
+bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+Ikxpc3RPZk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3Jr
+QWRkcmVzc1VybERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxl
+eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlB1
+YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVj
+dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJNZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE
+YXRhU2V0UmVhZGVycyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg
+ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIHR5cGU9
+InRuczpSZWFkZXJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM
+aXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBE
+YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJl
+YWRlckdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6
+UmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iTGlzdE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIg
+dHlwZT0idG5zOlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4
+T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdy
+b3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9y
+dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBN
+ZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRl
+ckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdy
+b3VwTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIg
+dHlwZT0idG5zOkxpc3RPZlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVy
+RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5h
+bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ1YTpW
+YXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJH
+cm91cElkIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXRhRGF0
+YSIgdHlwZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFz
+ayIgdHlwZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlUmVjZWl2ZVRpbWVvdXQiIHR5cGU9InhzOmRv
+dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iS2V5RnJhbWVD
+b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkhlYWRlckxheW91dFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlN
+b2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlHcm91cElkIiB0eXBlPSJ4czpzdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT
+ZWN1cml0eUtleVNlcnZpY2VzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+VHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0
+aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXQiIHR5cGU9
+InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyRGF0YVR5cGUi
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlw
+ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJl
+YWRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFJlYWRlckRhdGFUeXBlIiBtaW5PY2N1cnM9
+IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZE
+YXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0UmVhZGVyRGF0YVR5
+cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFk
+ZXJUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m
+RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9
+InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj
+dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFk
+ZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRSZWFkZXJUcmFuc3Bv
+cnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0
+UmVhZGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0
+T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0
+bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9
+InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldFJlYWRlck1l
+c3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5
+cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT
+dWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXREYXRh
+VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERhdGFT
+ZXREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+U3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0
+YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0
+T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSI+DQog
+ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u
+IGJhc2U9InRuczpTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlcyIgdHlwZT0i
+dG5zOkxpc3RPZkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg
+ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgdHlwZT0idG5zOlRhcmdldFZhcmlhYmxl
+c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUYXJnZXRWYXJp
+YWJsZXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIHR5cGU9InRuczpUYXJnZXRWYXJpYWJsZXNEYXRh
+VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iTGlzdE9mVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZU
+YXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K
+ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmllbGRUYXJnZXREYXRhVHlwZSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxkSWQiIHR5cGU9InVh
+Okd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVy
+SW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpOb2Rl
+SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5n
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6T3ZlcnJpZGVWYWx1ZUhhbmRsaW5n
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVl
+IiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRUYXJnZXREYXRh
+VHlwZSIgdHlwZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9Ikxpc3RPZkZpZWxkVGFyZ2V0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIHR5cGU9InRuczpG
+aWVsZFRhcmdldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0
+bnM6TGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIj4NCiAg
+ICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlv
+biB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGFz
+dFVzYWJsZVZhbHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik92ZXJyaWRl
+VmFsdWVfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgdHlwZT0idG5zOk92ZXJy
+aWRlVmFsdWVIYW5kbGluZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3Zl
+cnJpZGVWYWx1ZUhhbmRsaW5nIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRuczpPdmVycmlkZVZhbHVlSGFu
+ZGxpbmciIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m
+T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6TGlzdE9mT3ZlcnJpZGVWYWx1ZUhhbmRs
+aW5nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENv
+bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNj
+cmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZU5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS
+b2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg
+ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFU
+eXBlIiB0eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlw
+ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaWJl
+ZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0TWlycm9y
+RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIHR5cGU9
+InRuczpMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25maWd1
+cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlB1Ymxpc2hlZERhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNldERh
+dGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iQ29ubmVjdGlvbnMiIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0
+YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+UHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3ViQ29uZmlndXJhdGlv
+bkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJDb25m
+aWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlwZT0idG5zOlB1YlN1YkNvbmZp
+Z3VyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0
+eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEYXRhU2V0T3JkZXJp
+bmdUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4
+czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5kZWZpbmVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g
+dmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xlXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlv
+bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJp
+bmdUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5z
+OkRhdGFTZXRPcmRlcmluZ1R5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFT
+ZXRPcmRlcmluZ1R5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp
+bXBsZVR5cGUgIG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6
+cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+
+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcE5ldHdvcmtNZXNz
+YWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29u
+dGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVh
+ZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcE5ldHdvcmtNZXNzYWdl
+Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+TGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZVYWRw
+TmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBl
+Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl
+bnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikdyb3VwVmVyc2lvbiIgdHlw
+ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJEYXRhU2V0T3JkZXJpbmciIHR5cGU9InRuczpEYXRhU2V0T3JkZXJpbmdUeXBlIiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3Nh
+Z2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdPZmZz
+ZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlB1Ymxpc2hpbmdPZmZzZXQiIHR5cGU9InVhOkxpc3RPZkRvdWJsZSIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg
+IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl
+eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw
+ZSIgdHlwZT0idG5zOlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcFdyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwV3JpdGVyR3Jv
+dXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5
+cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxp
+c3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29u
+dGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQog
+ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBEYXRhU2V0
+TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZV
+YWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu
+czpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9
+InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIg
+dHlwZT0idG5zOkxpc3RPZlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBuaWxsYWJsZT0i
+dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVYWRwRGF0YVNl
+dFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm
+YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVyTWVzc2Fn
+ZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1l
+c3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkNvbmZpZ3VyZWRTaXplIiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIi
+IHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv
+bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5z
+OlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRXcml0ZXJNZXNz
+YWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIg
+bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0
+T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNz
+YWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg
+ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+
+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHcm91
+cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2ln
+bmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE
+YXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNzSWQiIHR5cGU9InVhOkd1aWQi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrTWVz
+c2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2si
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVz
+c2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2si
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n
+SW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJlY2VpdmVPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdPZmZzZXQiIHR5
+cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K
+ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdl
+RGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdl
+RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVh
+ZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRSZWFk
+ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFU
+eXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG5p
+bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ikpz
+b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i
+eHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5
+cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNv
+bnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9j
+Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtN
+ZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZKc29uTmV0d29ya01lc3NhZ2VDb250
+ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxl
+eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOldy
+aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRu
+czpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4
+Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbldy
+aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNvbldyaXRlckdyb3VwTWVzc2Fn
+ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uV3JpdGVy
+R3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25X
+cml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91
+bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2Fn
+ZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBl
+IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1l
+PSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh
+c2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs
+ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr
+IiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQoNCiAgPHhzOmNv
+bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldE1lc3Nh
+Z2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkpzb25EYXRh
+U2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbkRhdGFTZXRNZXNzYWdl
+Q29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6
+Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i
+dG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIg
+dHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz
+OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0
+V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0
+T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUi
+IHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIw
+IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNv
+bkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZKc29uRGF0YVNl
+dFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K
+ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUi
+Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu
+c2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNv
+bnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNv
+bnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u
+Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6
+SnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldFJlYWRlck1lc3Nh
+Z2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RP
+Zkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFu
+c3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog
+ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUi
+Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlz
+Y292ZXJ5QWRkcmVzcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl
+bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIHR5
+cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5
+cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFncmFt
+Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YWdyYW1Db25uZWN0aW9u
+VHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERh
+dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5
+cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs
+ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpX
+cml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZXBlYXRDb3VudCIgdHlwZT0ieHM6dW5z
+aWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+TWVzc2FnZVJlcGVhdERlbGF5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t
+cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRh
+dGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFncmFtV3Jp
+dGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+TGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNw
+b3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5
+cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0i
+dG5zOkxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9
+InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJva2VyQ29u
+bmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9
+ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkNvbm5lY3Rpb25UcmFuc3Bv
+cnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJSZXNvdXJjZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9u
+UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg
+PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2Vy
+Q29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJMaXN0T2ZCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnRE
+YXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbWlu
+T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+TGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m
+QnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm9rZXJUcmFuc3BvcnRRdWFsaXR5
+T2ZTZXJ2aWNlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm90U3BlY2lmaWVkXzAiIC8+DQogICAgICA8eHM6ZW51
+bWVyYXRpb24gdmFsdWU9IkJlc3RFZmZvcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2
+YWx1ZT0iQXRMZWFzdE9uY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXRN
+b3N0T25jZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGFjdGx5T25jZV80
+IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2VydmljZSIgdHlwZT0idG5zOkJy
+b2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNl
+cnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9y
+dFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJUcmFuc3BvcnRRdWFsaXR5
+T2ZTZXJ2aWNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6
+Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i
+dG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmci
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblBy
+b2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRl
+ZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg
+IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9r
+ZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5z
+cG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw
+ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z
+Okxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl
+Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tlckRhdGFTZXRX
+cml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm
+YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNw
+b3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5
+cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0
+cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tlclRy
+YW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l
+dGFEYXRhVXBkYXRlVGltZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs
+ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9r
+ZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpCcm9rZXJEYXRhU2V0
+V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp
+c3RPZkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9y
+dERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBl
+IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu
+czpMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0
+cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb2tlckRhdGFT
+ZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk
+PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhU2V0UmVhZGVyVHJh
+bnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmki
+IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9Inhz
+OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tl
+clRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg
+ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9y
+dERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBl
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0UmVhZGVy
+VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJy
+b2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1
+cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyRGF0YVNl
+dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyRGF0YVNldFJl
+YWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog
+IDx4czpzaW1wbGVUeXBlICBuYW1lPSJEaWFnbm9zdGljc0xldmVsIj4NCiAgICA8eHM6cmVzdHJp
+Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQmFz
+aWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWR2YW5jZWRfMSIgLz4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5mb18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJMb2dfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVidWdf
+NCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIHR5cGU9InRuczpEaWFnbm9zdGljc0xldmVs
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljc0xldmVsIj4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljc0xl
+dmVsIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY3NMZXZlbCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9
+InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6TGlz
+dE9mRGlhZ25vc3RpY3NMZXZlbCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8
+eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRp
+b24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJJbmZvcm1hdGlvbl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u
+IHZhbHVlPSJFcnJvcl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxl
+VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3Np
+ZmljYXRpb24iIHR5cGU9InRuczpQdWJTdWJEaWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlv
+biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHViU3ViRGlhZ25vc3RpY3ND
+b3VudGVyQ2xhc3NpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZpY2F0aW9uIiB0eXBlPSJ0
+bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIg
+bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViRGlhZ25vc3RpY3NDb3Vu
+dGVyQ2xhc3NpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJEaWFnbm9zdGljc0NvdW50
+ZXJDbGFzc2lmaWNhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFt
+ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlJlZmVyZW5jZWROb2RlcyIgdHlwZT0idWE6TGlzdE9mRXhwYW5kZWROb2RlSWQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXNOYW1lRGF0YVR5cGUiIHR5cGU9
+InRuczpBbGlhc05hbWVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz
+dE9mQWxpYXNOYW1lRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkFsaWFzTmFtZURhdGFUeXBlIiB0eXBlPSJ0bnM6QWxpYXNOYW1lRGF0YVR5cGUi
+IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ikxpc3RPZkFsaWFzTmFtZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQWxpYXNOYW1lRGF0
+YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg
+IG5hbWU9IkR1cGxleCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog
+ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZ1bGxfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iSGFsZl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtu
+b3duXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJEdXBsZXgiIHR5cGU9InRuczpEdXBsZXgiIC8+DQoNCiAgPHhzOmNv
+bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkR1cGxleCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRHVwbGV4IiB0eXBlPSJ0bnM6RHVwbGV4IiBtaW5PY2N1cnM9IjAi
+IG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkR1cGxleCIgdHlwZT0idG5zOkxp
+c3RPZkR1cGxleCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxl
+VHlwZSAgbmFtZT0iSW50ZXJmYWNlQWRtaW5TdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBi
+YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcF8wIiAvPg0K
+ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEb3duXzEiIC8+DQogICAgICA8eHM6ZW51bWVy
+YXRpb24gdmFsdWU9IlRlc3RpbmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz
+OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkludGVyZmFjZUFkbWluU3RhdHVzIiB0
+eXBlPSJ0bnM6SW50ZXJmYWNlQWRtaW5TdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZkludGVyZmFjZUFkbWluU3RhdHVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VBZG1pblN0YXR1cyIgdHlwZT0idG5zOkludGVy
+ZmFjZUFkbWluU3RhdHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ikxpc3RPZkludGVyZmFjZUFkbWluU3RhdHVzIiB0eXBlPSJ0bnM6TGlzdE9mSW50ZXJmYWNl
+QWRtaW5TdGF0dXMiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs
+ZVR5cGUgIG5hbWU9IkludGVyZmFjZU9wZXJTdGF0dXMiPg0KICAgIDx4czpyZXN0cmljdGlvbiBi
+YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcF8wIiAvPg0K
+ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEb3duXzEiIC8+DQogICAgICA8eHM6ZW51bWVy
+YXRpb24gdmFsdWU9IlRlc3RpbmdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i
+VW5rbm93bl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEb3JtYW50XzQiIC8+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdFByZXNlbnRfNSIgLz4NCiAgICAgIDx4
+czplbnVtZXJhdGlvbiB2YWx1ZT0iTG93ZXJMYXllckRvd25fNiIgLz4NCiAgICA8L3hzOnJlc3Ry
+aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkludGVyZmFj
+ZU9wZXJTdGF0dXMiIHR5cGU9InRuczpJbnRlcmZhY2VPcGVyU3RhdHVzIiAvPg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VPcGVyU3RhdHVzIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlcmZhY2VPcGVyU3RhdHVzIiB0eXBl
+PSJ0bnM6SW50ZXJmYWNlT3BlclN0YXR1cyIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91
+bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJMaXN0T2ZJbnRlcmZhY2VPcGVyU3RhdHVzIiB0eXBlPSJ0bnM6TGlzdE9m
+SW50ZXJmYWNlT3BlclN0YXR1cyIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8
+eHM6c2ltcGxlVHlwZSAgbmFtZT0iTmVnb3RpYXRpb25TdGF0dXMiPg0KICAgIDx4czpyZXN0cmlj
+dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblBy
+b2dyZXNzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbXBsZXRlXzEiIC8+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxlZF8yIiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs
+dWU9Ik5vTmVnb3RpYXRpb25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNp
+bXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5lZ290aWF0aW9uU3RhdHVzIiB0eXBlPSJ0
+bnM6TmVnb3RpYXRpb25TdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP
+Zk5lZ290aWF0aW9uU3RhdHVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJOZWdvdGlhdGlvblN0YXR1cyIgdHlwZT0idG5zOk5lZ290aWF0aW9uU3RhdHVzIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5lZ290aWF0
+aW9uU3RhdHVzIiB0eXBlPSJ0bnM6TGlzdE9mTmVnb3RpYXRpb25TdGF0dXMiIG5pbGxhYmxlPSJ0
+cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRzbkZhaWx1cmVD
+b2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl
+bnVtZXJhdGlvbiB2YWx1ZT0iTm9GYWlsdXJlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g
+dmFsdWU9Ikluc3VmZmljaWVudEJhbmR3aWR0aF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u
+IHZhbHVlPSJJbnN1ZmZpY2llbnRSZXNvdXJjZXNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv
+biB2YWx1ZT0iSW5zdWZmaWNpZW50VHJhZmZpY0NsYXNzQmFuZHdpZHRoXzMiIC8+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVhbUlkSW5Vc2VfNCIgLz4NCiAgICAgIDx4czplbnVt
+ZXJhdGlvbiB2YWx1ZT0iU3RyZWFtRGVzdGluYXRpb25BZGRyZXNzSW5Vc2VfNSIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RyZWFtUHJlZW1wdGVkQnlIaWdoZXJSYW5rXzYiIC8+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxhdGVuY3lIYXNDaGFuZ2VkXzciIC8+DQog
+ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVncmVzc1BvcnROb3RBdmJDYXBhYmxlXzgiIC8+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZURpZmZlcmVudERlc3RpbmF0aW9uQWRk
+cmVzc185IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPdXRPZk1zcnBSZXNvdXJj
+ZXNfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik91dE9mTW1ycFJlc291cmNl
+c18xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2Fubm90U3RvcmVEZXN0aW5h
+dGlvbkFkZHJlc3NfMTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlByaW9yaXR5
+SXNOb3RBblNyY0NsYXNzXzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNYXhG
+cmFtZVNpemVUb29MYXJnZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWF4
+RmFuSW5Qb3J0c0xpbWl0UmVhY2hlZF8xNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1
+ZT0iRmlyc3RWYWx1ZUNoYW5nZWRGb3JTdHJlYW1JZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iVmxhbkJsb2NrZWRPbkVncmVzc18xNyIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iVmxhblRhZ2dpbmdEaXNhYmxlZE9uRWdyZXNzXzE4IiAvPg0KICAgICAgPHhz
+OmVudW1lcmF0aW9uIHZhbHVlPSJTckNsYXNzUHJpb3JpdHlNaXNtYXRjaF8xOSIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRmVhdHVyZU5vdFByb3BhZ2F0ZWRfMjAiIC8+DQogICAg
+ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1heExhdGVuY3lFeGNlZWRlZF8yMSIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQnJpZGdlRG9lc05vdFByb3ZpZGVOZXR3b3JrSWRfMjIi
+IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmVhbVRyYW5zZm9ybU5vdFN1cHBv
+cnRlZF8yMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RyZWFtSWRUeXBlTm90
+U3VwcG9ydGVkXzI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGZWF0dXJlTm90
+U3VwcG9ydGVkXzI1IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuRmFpbHVyZUNvZGUiIHR5cGU9InRuczpUc25GYWls
+dXJlQ29kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHNuRmFpbHVyZUNv
+ZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRzbkZhaWx1
+cmVDb2RlIiB0eXBlPSJ0bnM6VHNuRmFpbHVyZUNvZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz
+PSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHNuRmFpbHVyZUNvZGUiIHR5cGU9InRuczpMaXN0
+T2ZUc25GYWlsdXJlQ29kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+c2ltcGxlVHlwZSAgbmFtZT0iVHNuU3RyZWFtU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBi
+YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8w
+IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb25maWd1cmluZ18xIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWFkeV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJPcGVyYXRpb25hbF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl
+PSJFcnJvcl80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iVHNuU3RyZWFtU3RhdGUiIHR5cGU9InRuczpUc25TdHJlYW1T
+dGF0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHNuU3RyZWFtU3RhdGUi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRzblN0cmVhbVN0
+YXRlIiB0eXBlPSJ0bnM6VHNuU3RyZWFtU3RhdGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1
+bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHNuU3RyZWFtU3RhdGUiIHR5cGU9InRuczpMaXN0T2ZU
+c25TdHJlYW1TdGF0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt
+cGxlVHlwZSAgbmFtZT0iVHNuVGFsa2VyU3RhdHVzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz
+ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0K
+ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWFkeV8xIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJGYWlsZWRfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz
+OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzblRhbGtlclN0YXR1cyIgdHlwZT0i
+dG5zOlRzblRhbGtlclN0YXR1cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m
+VHNuVGFsa2VyU3RhdHVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJUc25UYWxrZXJTdGF0dXMiIHR5cGU9InRuczpUc25UYWxrZXJTdGF0dXMiIG1pbk9jY3Vy
+cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHNuVGFsa2VyU3RhdHVz
+IiB0eXBlPSJ0bnM6TGlzdE9mVHNuVGFsa2VyU3RhdHVzIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl
+bGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUc25MaXN0ZW5lclN0YXR1cyI+DQog
+ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVhZHlf
+MSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGFydGlhbEZhaWxlZF8yIiAvPg0K
+ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMyIgLz4NCiAgICA8L3hzOnJlc3Ry
+aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRzbkxpc3Rl
+bmVyU3RhdHVzIiB0eXBlPSJ0bnM6VHNuTGlzdGVuZXJTdGF0dXMiIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ikxpc3RPZlRzbkxpc3RlbmVyU3RhdHVzIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUc25MaXN0ZW5lclN0YXR1cyIgdHlwZT0idG5zOlRz
+bkxpc3RlbmVyU3RhdHVzIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ikxpc3RPZlRzbkxpc3RlbmVyU3RhdHVzIiB0eXBlPSJ0bnM6TGlzdE9mVHNuTGlzdGVuZXJT
+dGF0dXMiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik51bWVyYXRvciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbm9taW5hdG9yIiB0eXBlPSJ4
+czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVuc2lnbmVkUmF0aW9uYWxOdW1i
+ZXIiIHR5cGU9InRuczpVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiAvPg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJMaXN0T2ZVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIj4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnNpZ25lZFJhdGlvbmFsTnVtYmVyIiB0eXBl
+PSJ0bnM6VW5zaWduZWRSYXRpb25hbE51bWJlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVW5zaWduZWRSYXRpb25hbE51
+bWJlciIgdHlwZT0idG5zOkxpc3RPZlVuc2lnbmVkUmF0aW9uYWxOdW1iZXIiIG5pbGxhYmxlPSJ0
+cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkVHlwZSI+DQog
+ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9Ik51bWVyaWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3Ry
+aW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikd1aWRfMiIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT3BhcXVlXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlv
+bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5cGU9
+InRuczpJZFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZklkVHlwZSI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBl
+PSJ0bnM6SWRUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+Ikxpc3RPZklkVHlwZSIgdHlwZT0idG5zOkxpc3RPZklkVHlwZSIgbmlsbGFibGU9InRydWUiPjwv
+eHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUNsYXNzIj4NCiAgICA8
+eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2
+YWx1ZT0iVW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2Jq
+ZWN0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQog
+ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs
+dWU9IlZhcmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVm
+ZXJlbmNlVHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVf
+NjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwv
+eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu
+YW1lPSJQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2ln
+bmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IlBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5cGUi
+IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjY2Vzc0xldmVsVHlwZSI+DQogICAgPHhz
+OnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkQnl0ZSI+DQogICAgPC94czpyZXN0cmljdGlv
+bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbFR5
+cGUiIHR5cGU9InRuczpBY2Nlc3NMZXZlbFR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h
+bWU9IkFjY2Vzc0xldmVsRXhUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z
+aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeFR5cGUiIHR5cGU9InRuczpBY2Nlc3NMZXZl
+bEV4VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXZlbnROb3RpZmllclR5cGUi
+Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAgIDwveHM6
+cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZl
+bnROb3RpZmllclR5cGUiIHR5cGU9InRuczpFdmVudE5vdGlmaWVyVHlwZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcm1p
+c3Npb25zIiB0eXBlPSJ0bnM6UGVybWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS
+b2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0
+eXBlPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i
+b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUi
+IHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz
+OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5
+cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkRh
+dGFUeXBlRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0
+YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIG1p
+bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+Ikxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVmaW5p
+dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg
+bmFtZT0iU3RydWN0dXJlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu
+ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAgICAg
+PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIgLz4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICAgIDx4czplbnVt
+ZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aFN1YnR5cGVkVmFsdWVzXzMiIC8+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uV2l0aFN1YnR5cGVkVmFsdWVzXzQiIC8+DQogICAg
+PC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0
+eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl
+UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0cmluZ0xl
+bmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IklzT3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiAvPg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRmllbGQiIHR5cGU9InRu
+czpTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiIHR5cGU9InRuczpMaXN0
+T2ZTdHJ1Y3R1cmVGaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhzOmNvbXBsZXhD
+b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRh
+VHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCYXNl
+RGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6
+U3RydWN0dXJlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl
+eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5zOlN0cnVj
+dHVyZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0cnVj
+dHVyZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0aW9uIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0dXJlRGVm
+aW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iRW51bURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i
+ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9u
+Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZp
+ZWxkcyIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K
+ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIgdHlwZT0i
+dG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiIgdHlwZT0idG5zOkxp
+c3RPZkVudW1EZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0i
+dG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+QnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1
+YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJX
+cml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJVc2VyV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25zIiB0
+eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg
+dHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIg
+dHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iUmVmZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGUiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSW5zdGFuY2VOb2RlIj4NCiAgICA8eHM6Y29t
+cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z
+Ok5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog
+ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnN0YW5jZU5vZGUiIHR5cGU9InRuczpJ
+bnN0YW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlR5cGVOb2RlIj4NCiAg
+ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g
+YmFzZT0idG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2Vx
+dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K
+ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlTm9kZSIgdHlwZT0i
+dG5zOlR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3ROb2RlIj4N
+CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp
+b24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5
+dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6
+ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdE5vZGUiIHR5cGU9InRuczpPYmplY3ROb2RlIiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlTm9kZSI+DQogICAgPHhzOmNv
+bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu
+czpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv
+bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJP
+YmplY3RUeXBlTm9kZSIgdHlwZT0idG5zOk9iamVjdFR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJWYXJpYWJsZU5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl
+ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4N
+CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl
+IiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9
+InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFy
+cmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsIiB0
+eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGluZ0lu
+dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsRXgiIHR5cGU9Inhz
+OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog
+ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpW
+YXJpYWJsZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5v
+ZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4
+dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6
+Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0
+T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg
+PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlwZU5vZGUiIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4NCiAgICA8eHM6Y29t
+cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z
+OlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50
+IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4iIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFtZSIg
+dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6
+Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+IlJlZmVyZW5jZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVu
+dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VO
+b2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp
+b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlwZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg
+bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9k
+ZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD
+b250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5
+dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6
+ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2RlIiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhD
+b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBl
+Tm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6
+c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUi
+IHR5cGU9InRuczpEYXRhVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJl
+ZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpi
+b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJ
+ZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpS
+ZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mUmVm
+ZXJlbmNlTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2Rl
+SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE
+ZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiAvPg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcmd1bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgbWlu
+T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+TGlzdE9mQXJndW1lbnQiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbmlsbGFibGU9InRydWUi
+PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bVZhbHVlVHlwZSI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9
+InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3Bs
+YXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxv
+Y2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZh
+bHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIgbmls
+bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51
+bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4
+czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0K
+ICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51
+bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlw
+ZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mRW51
+bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWxpZEJpdHMiIHR5cGU9Inhz
+OmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp
+b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+Ikxpc3RPZk9wdGlvblNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iT3B0aW9uU2V0IiB0eXBlPSJ0bnM6T3B0aW9uU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9j
+Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K
+ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcHRpb25TZXQi
+IHR5cGU9InRuczpMaXN0T2ZPcHRpb25TZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+
+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9ybWFsaXplZFN0cmluZyIgdHlwZT0ieHM6c3RyaW5n
+IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRlY2ltYWxTdHJpbmciIHR5cGU9InhzOnN0cmlu
+ZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvblN0cmluZyIgdHlwZT0ieHM6c3Ry
+aW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVTdHJpbmciIHR5cGU9InhzOnN0cmlu
+ZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRlU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmci
+IC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRHVyYXRpb24iIHR5cGU9InhzOmRvdWJsZSIgLz4N
+Cg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVdGNUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIC8+DQoNCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTG9jYWxlSWQiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg
+bmFtZT0iVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iT2Zmc2V0IiB0eXBlPSJ4czpzaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgdHlwZT0ieHM6Ym9v
+bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl
+eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpU
+aW1lWm9uZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUaW1l
+Wm9uZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJUaW1lWm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgbWluT2NjdXJz
+PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m
+VGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRpbWVab25lRGF0YVR5cGUiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIg
+dHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxp
+Y2F0aW9uVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg
+ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xp
+ZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVy
+eVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRp
+b25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0
+aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNh
+dGlvblVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+QXBwbGljYXRpb25OYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBl
+IiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3Zl
+cnlQcm9maWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpM
+aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGlj
+YXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVz
+Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi
+IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBs
+aWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlv
+biIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iUmVxdWVzdEhlYWRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0
+eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1bnNp
+Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVkaXRF
+bnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWduZWRJ
+bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9uYWxI
+ZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRp
+bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5k
+bGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTZXJ2aWNlUmVzdWx0IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRGlhZ25vc3RpY3MiIHR5cGU9
+InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RyaW5nVGFibGUiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkFkZGl0aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv
+bnNlSGVhZGVyIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlZlcnNpb25UaW1lIiB0eXBlPSJ4
+czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmljZUZhdWx0
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl
+YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VGYXVsdCIgLz4NCg0K
+ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXJpc1ZlcnNpb24iIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0
+eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT
+ZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VS
+ZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZv
+a2VSZXNwb25zZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5
+cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgdHlwZT0i
+dG5zOlNlc3Npb25sZXNzSW52b2tlUmVzcG9uc2VUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+RW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9m
+U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iU2VydmVyVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5
+cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgdHlwZT0idG5zOkZp
+bmRTZXJ2ZXJzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZl
+cnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9
+InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9InRuczpGaW5kU2VydmVy
+c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY29yZElkIiB0
+eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJsIiB0eXBlPSJ4
+czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9
+InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP
+ZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRT
+ZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFy
+dGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25l
+ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2Fw
+YWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgdHlwZT0idG5z
+OkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl
+YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RP
+ZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJG
+aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdv
+cmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkluc3RhbmNl
+Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6c2ltcGxlVHlw
+ZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9
+InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNp
+Z25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6
+TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRv
+a2VuVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFub255bW91c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJVc2VyTmFtZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJD
+ZXJ0aWZpY2F0ZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZWRUb2tl
+bl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iVXNlclRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmlu
+ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlRva2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlZFRva2VuVHlwZSIgdHlwZT0ieHM6c3RyaW5n
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iSXNzdWVyRW5kcG9pbnRVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UG9saWN5VXJp
+IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+VXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2VuUG9saWN5IiAvPg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOlVz
+ZXJUb2tlblBvbGljeSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6TGlzdE9m
+VXNlclRva2VuUG9saWN5IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+U2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmlj
+YXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNz
+YWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5z
+IiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIg
+dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBv
+aW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBv
+aW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNj
+cmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0
+T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl
+eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu
+czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF
+bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50
+cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF
+bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl
+ZFNlcnZlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy
+dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT
+ZXJ2ZXJOYW1lcyIgdHlwZT0idWE6TGlzdE9mTG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclR5cGUiIHR5
+cGU9InRuczpBcHBsaWNhdGlvblR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeVVy
+bHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbWFwaG9yZUZpbGVQYXRoIiB0eXBlPSJ4czpz
+dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJJc09ubGluZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0
+bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5z
+Okxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0i
+dG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVz
+dCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl
+YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZl
+clJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25m
+aWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29u
+ZmlndXJhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg
+ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICAg
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1kbnNTZXJ2ZXJO
+YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiB0eXBlPSJ1YTpM
+aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv
+eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250
+ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zRGlzY292
+ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOk1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0Ij4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0
+eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2
+ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmpl
+Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIy
+UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv
+bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl
+c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1
+c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3Bv
+bnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBs
+ZVR5cGUgIG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0
+aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3Vl
+XzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94
+czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT
+ZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5
+cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsSWQiIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJUb2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lIiB0eXBl
+PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv
+a2VuIiB0eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI
+ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJDbGllbnRQcm90b2NvbFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0VHlwZSIgdHlwZT0i
+dG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9k
+ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2Ui
+IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiB0eXBlPSJ4czp1bnNp
+Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIg
+dHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z
+ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW4iIHR5
+cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNl
+NjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3Vy
+ZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi
+IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9InRuczpDbG9zZVNlY3VyZUNo
+YW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlY3VyZUNo
+YW5uZWxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlw
+ZT0idG5zOkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJp
+bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRu
+czpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0
+bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0
+aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1
+dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9
+InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT
+aWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3Ry
+aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4
+czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlw
+ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K
+ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVx
+dWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI
+ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4i
+IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91Ymxl
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIg
+dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2
+NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3Jp
+cHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25l
+ZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1
+cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0
+ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50
+aXR5VG9rZW4iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBv
+bGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAg
+PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh
+c2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl
+eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFub255
+bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9ueW1vdXNJZGVudGl0eVRva2VuIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iPg0KICAgIDx4
+czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl
+PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNz
+d29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5
+cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg
+PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv
+bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1l
+SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czpjb21wbGV4
+Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNl
+cklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg
+ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5z
+Olg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJ
+ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg
+ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRva2VuRGF0YSIgdHlw
+ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0
+cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1
+ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Iklzc3VlZElkZW50aXR5VG9r
+ZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czplbGVtZW50IG5h
+bWU9IlJzYUVuY3J5cHRlZFNlY3JldCIgdHlwZT0idWE6VmFyaWFudCIgLz4NCg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJFY2NFbmNyeXB0ZWRTZWNyZXQiIHR5cGU9InVhOlZhcmlhbnQiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu
+czpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0
+YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29m
+dHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl
+cklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25h
+dHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vz
+c2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lv
+blJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS
+ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5
+cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t
+cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiB0
+eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+RGVsZXRlU3Vic2NyaXB0aW9ucyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIHR5cGU9InRuczpDbG9zZVNlc3Npb25SZXF1ZXN0IiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSI+DQogICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5
+cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNl
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0
+bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVxdWVzdCIgdHlwZT0idG5zOkNhbmNlbFJlcXVl
+c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlc3BvbnNlIj4NCiAgICA8
+eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw
+ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiIHR5cGU9InRuczpDYW5jZWxS
+ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNr
+Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt
+ZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB
+Y2Nlc3NMZXZlbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcnJheURpbWVu
+c2lvbnNfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV80IiAv
+Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDb250YWluc05vTG9vcHNfOCIgLz4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51
+bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u
+IHZhbHVlPSJEaXNwbGF5TmFtZV82NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i
+RXZlbnROb3RpZmllcl8xMjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV4ZWN1
+dGFibGVfMjU2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIaXN0b3JpemluZ181
+MTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmVyc2VOYW1lXzEwMjQiIC8+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IklzQWJzdHJhY3RfMjA0OCIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWxfNDA5NiIgLz4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNsYXNzXzgxOTIiIC8+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVJZF8xNjM4NCIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMyNzY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh
+bHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1MzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs
+dWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1
+ZT0iVXNlcldyaXRlTWFza18yNjIxNDQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9
+IlZhbHVlUmFua181MjQyODgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldyaXRl
+TWFza18xMDQ4NTc2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZV8yMDk3
+MTUyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZURlZmluaXRpb25f
+NDE5NDMwNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUm9sZVBlcm1pc3Npb25z
+XzgzODg2MDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc1Jlc3RyaWN0
+aW9uc18xNjc3NzIxNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzMzNTU0
+NDMxIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCYXNlTm9kZV8yNjUwMTIyMCIg
+Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzI2NTAxMzQ4IiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlXzI2NTAzMjY4IiAvPg0KICAgICAg
+PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV8yNjU3MTM4MyIgLz4NCiAgICAgIDx4czpl
+bnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVUeXBlXzI4NjAwNDM4IiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfMjY2MzI1NDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMjY1MzcwNjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9IlZpZXdfMjY1MDEzNTYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94
+czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIHR5
+cGU9InRuczpOb2RlQXR0cmlidXRlc01hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxv
+Y2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRl
+TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhz
+OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9
+InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z
+aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIHR5cGU9InRuczpPYmplY3RBdHRyaWJ1
+dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiPg0K
+ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv
+biBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6
+Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0
+T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIg
+dHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0
+eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+
+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIHR5
+cGU9InRuczpWYXJpYWJsZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+Ik1ldGhvZEF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui
+Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIg
+dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz
+OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21w
+bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6
+Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94
+czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpPYmplY3RUeXBlQXR0cmlidXRlcyIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyI+DQog
+ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u
+IGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpO
+b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RP
+ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8
+L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmli
+dXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0
+ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4
+dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVh
+biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJp
+YyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94
+czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu
+czpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+RGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl
+Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi
+IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j
+ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIg
+dHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui
+Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xv
+b3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N
+CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4
+czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+VmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0
+cmlidXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIC8+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVl
+IiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy
+cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8
+L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHZW5lcmljQXR0cmli
+dXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIG5pbGxhYmxl
+PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNB
+dHRyaWJ1dGVzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg
+IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZVZhbHVlcyIgdHlw
+ZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u
+Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0
+ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzSXRlbSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1
+YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx
+dWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5
+cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0
+eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5k
+ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJ
+dGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJz
+PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m
+QWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1
+ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3Vs
+dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29k
+ZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iQWRkZWROb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVz
+dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1
+bHQiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu
+Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiIHR5
+cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0
+bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0
+ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0
+IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0
+cyIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBl
+PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXNwb25zZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6
+Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5
+cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1
+YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVm
+ZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZFJlZmVy
+ZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB
+ZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9
+IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZB
+ZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBuaWxs
+YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRS
+ZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2Vz
+VG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkFk
+ZFJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZl
+cmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0
+eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0
+T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB
+ZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiAvPg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlw
+ZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl
+ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4
+VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0
+bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K
+DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRu
+czpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5v
+ZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rl
+c1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI
+ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu
+Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTm9k
+ZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNl
+c0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJj
+ZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2Rl
+SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRl
+bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0
+ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJl
+ZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0i
+MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl
+bGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i
+IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl
+ZmVyZW5jZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1
+ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw
+b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z
+dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5z
+OkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i
+QXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWdu
+ZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0eXBlPSJ0bnM6QXR0cmlidXRlV3Jp
+dGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VEaXJlY3Rpb24iPg0K
+ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJGb3J3YXJkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklu
+dmVyc2VfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzMiIC8+DQogICAgPC94czpyZXN0cmlj
+dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJl
+Y3Rpb24iIHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IlZpZXdEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9Inhz
+OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3
+VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3
+RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURpcmVj
+dGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmNs
+dWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzc01hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRNYXNrIiB0eXBlPSJ4
+czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiB0
+eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkJyb3dzZURlc2NyaXB0
+aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURl
+c2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU
+eXBlICBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i
+eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4
+czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp
+b24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC
+cm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1l
+XzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIg
+Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog
+IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIg
+dHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIg
+dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVh
+OlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v
+ZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv
+eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9u
+IiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlJl
+ZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0i
+dG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt
+ZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi
+YXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJlc3VsdCI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIg
+dHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j
+ZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1
+bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0
+eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpM
+aXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVy
+ZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dz
+ZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz
+ZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl
+c3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5
+cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3NlUmVzcG9uc2UiIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6
+UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIHR5cGU9InhzOmJvb2xl
+YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlv
+blBvaW50cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgdHlwZT0idG5zOkJyb3dzZU5leHRS
+ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0UmVzcG9uc2Ui
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh
+ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m
+QnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGlj
+SW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVz
+cG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJ
+bnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5hbWUiIHR5cGU9InVhOlF1YWxp
+ZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQ
+YXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIC8+DQoNCiAgPHhzOmNv
+bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9
+InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiB0
+eXBlPSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6
+ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVsYXRpdmVQYXRoIj4NCiAgICA8
+eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5z
+Okxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0
+aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0aCIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBh
+dGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBuaWxs
+YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93
+c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi
+IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j
+ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh
+cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo
+VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl
+UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0cyIgdHlwZT0idG5zOkxp
+c3RPZkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9
+InRuczpCcm93c2VQYXRoUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0
+bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNS
+ZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1
+ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0
+bnM6TGlzdE9mQnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xh
+dGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6
+UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3Vs
+dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05v
+ZGVJZHNSZXNwb25zZSIgdHlwZT0idG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVz
+cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh
+ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgdHlwZT0idWE6
+TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lz
+dGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu
+czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2Rl
+SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jl
+c3BvbnNlIiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz
+dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg
+dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rl
+c1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iQ291bnRlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTnVtZXJpY1JhbmdlIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91dCIgdHlwZT0ieHM6
+aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VCaW5hcnlF
+bmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIHR5cGU9Inhz
+OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QXJyYXlM
+ZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlmZXRpbWUiIHR5cGU9
+InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp
+dHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw
+b2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3VyYXRpb24iIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRDb25maWd1
+cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG1h
+eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2lu
+dENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIG5p
+bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1
+ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJ
+ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5
+RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZRdWVy
+eURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlv
+biIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURh
+dGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBh
+bmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVRvUmV0dXJuIiB0eXBlPSJ0bnM6
+TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRp
+b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRp
+b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVUeXBl
+RGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi
+IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2Rl
+VHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbmls
+bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRmls
+dGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikdy
+ZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuXzMi
+IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuT3JFcXVhbF80IiAv
+Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhhbk9yRXF1YWxfNSIgLz4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAvPg0KICAgICAgPHhzOmVudW1lcmF0
+aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQmV0d2Vl
+bl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbkxpc3RfOSIgLz4NCiAgICAg
+IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u
+IHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2FzdF8xMiIg
+Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5WaWV3XzEzIiAvPg0KICAgICAgPHhz
+OmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g
+dmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQml0
+d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQml0d2lzZU9yXzE3
+IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVu
+Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k
+ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl
+cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIC8+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6UXVlcnlE
+YXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFT
+ZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1
+YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0
+T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVy
+ZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpOb2RlUmVmZXJlbmNlIiBtaW5P
+Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM
+aXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVJlZmVyZW5jZSIgbmlsbGFi
+bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVu
+dEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmRzIiB0eXBlPSJ1YTpM
+aXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0
+ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIg
+bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu
+Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRl
+bnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIG5p
+bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNv
+bnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNv
+bnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRG
+aWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRl
+bnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy
+cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8
+L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVy
+IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl
+bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlsdGVyT3BlcmFuZCI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50T3BlcmFuZCI+DQogICAgPHhzOmNv
+bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu
+czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94
+czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50T3BlcmFuZCIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29udGVu
+dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVyT3Bl
+cmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz
+OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu
+dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGl0ZXJhbE9wZXJh
+bmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz
+ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAg
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlw
+ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0
+aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5z
+aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ
+bmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8
+L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0cmlidXRlT3BlcmFuZCIgLz4NCg0K
+ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhz
+OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9
+InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC
+cm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlk
+IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0
+ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1w
+bGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZT
+aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmli
+dXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOkxp
+c3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0
+eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVy
+YW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3Vs
+dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRS
+ZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIw
+IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29u
+dGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxl
+bWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZDb250
+ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh
+Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0
+dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU3Rh
+dHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhRGlhZ25vc3RpY0luZm9z
+IiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyc2luZ1Jlc3VsdCIgdHlwZT0i
+dG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpMaXN0
+T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI
+ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVzIiB0eXBl
+PSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkNvbnRl
+bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0
+dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmly
+c3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl
+YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250
+aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyc2luZ1Jlc3VsdHMiIHR5
+cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM
+aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0
+ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz
+dFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl
+ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9
+InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJR
+dWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0UmVxdWVzdCIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9u
+c2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+UmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIHR5cGU9InRu
+czpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVGltZXN0
+YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAiIC8+DQogICAgICA8eHM6ZW51bWVy
+YXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC
+b3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5laXRoZXJfMyIgLz4NCiAg
+ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80IiAvPg0KICAgIDwveHM6cmVzdHJp
+Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w
+c1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlw
+ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6
+UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFk
+VmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWluT2NjdXJz
+PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m
+UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbmlsbGFibGU9InRydWUi
+PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi
+IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg
+dHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8
+L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0i
+dG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9u
+c2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl
+SGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0
+T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ
+bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSZXNwb25zZSIg
+dHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlz
+dG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu
+ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBv
+aW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l
+bnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlk
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQi
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFk
+VmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhP
+Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N
+CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJl
+YWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0i
+dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh
+ZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh
+dHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N
+CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5
+UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJl
+YWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhp
+c3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0i
+MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhp
+c3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxh
+YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3Rv
+cnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls
+cyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg
+bmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm
+YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi
+Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVt
+VmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlw
+ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u
+Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRuczpSZWFkRXZlbnREZXRhaWxz
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4N
+CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp
+b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9v
+bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0
+VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIHR5cGU9Inhz
+OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs
+ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFk
+UmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01vZGlmaWVkRGV0YWlscyIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiPg0KICAgIDx4
+czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl
+PSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4
+czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlwZSIgdHlwZT0idWE6TGlzdE9m
+Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVD
+b25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8
+L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u
+dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nl
+c3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0YWlscyIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u
+dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y
+eVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1w
+bGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94
+czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl
+bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRBdFRpbWVE
+ZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9IlJlYWRBbm5vdGF0aW9uRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u
+dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y
+eVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6
+ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRBbm5vdGF0aW9uRGF0YURldGFpbHMiIHR5cGU9InRu
+czpSZWFkQW5ub3RhdGlvbkRhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJIaXN0b3J5RGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iRGF0YVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ0bnM6SGlzdG9yeURhdGEi
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIHR5
+cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw
+ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp
+c3RPZk1vZGlmaWNhdGlvbkluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRpb25JbmZvIiBt
+aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZpY2F0aW9uSW5m
+byIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm
+YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5RGF0YSI+DQogICAg
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRp
+b25JbmZvcyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4
+dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiB0eXBlPSJ0bnM6SGlzdG9y
+eU1vZGlmaWVkRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5
+cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg
+PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50IiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9
+InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ1YTpFeHRlbnNp
+b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1lc3RhbXBzVG9SZXR1
+cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250
+aW51YXRpb25Qb2ludHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJl
+YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlS
+ZWFkUmVxdWVzdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z
+ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp
+YWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4
+VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgdHlwZT0idG5z
+Okhpc3RvcnlSZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IldyaXRl
+VmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ
+ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBl
+PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiAv
+Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6
+V3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFs
+dWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IldyaXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvV3Jp
+dGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IldyaXRlUmVxdWVzdCIgdHlwZT0idG5zOldyaXRlUmVxdWVzdCIgLz4NCg0K
+ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw
+b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z
+dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlUmVzcG9uc2UiIHR5cGU9InRuczpXcml0ZVJlc3Bv
+bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBl
+PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y
+eVVwZGF0ZURldGFpbHMiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCg0KICA8
+eHM6c2ltcGxlVHlwZSAgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiPg0KICAgIDx4czpyZXN0cmlj
+dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnNl
+cnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVwbGFjZV8yIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAgICAgIDx4czplbnVtZXJh
+dGlvbiB2YWx1ZT0iRGVsZXRlXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz
+aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgdHlwZT0i
+dG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJQZXJm
+b3JtVXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog
+ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9
+IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZW1vdmVfNCIgLz4N
+CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6
+Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i
+dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVy
+Zm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6
+ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiB0eXBlPSJ0bnM6VXBkYXRl
+RGF0YURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVwZGF0ZVN0cnVjdHVy
+ZURhdGFEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg
+ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAg
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1JbnNl
+cnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVWYWx1ZXMiIHR5cGU9InVhOkxpc3RP
+ZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94
+czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl
+bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVN0cnVj
+dHVyZURhdGFEZXRhaWxzIiB0eXBlPSJ0bnM6VXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVwZGF0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhz
+OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9
+InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBl
+cmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnREYXRhIiB0eXBl
+PSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+
+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iVXBkYXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6VXBkYXRlRXZlbnREZXRh
+aWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFp
+bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4
+dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNEZWxldGVNb2RpZmllZCIgdHlw
+ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+
+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs
+ZW1lbnQgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlUmF3
+TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVBdFRp
+bWVEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg
+IDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBl
+PSJ1YTpMaXN0T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t
+cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl
+bGV0ZUF0VGltZURldGFpbHMiIHR5cGU9InRuczpEZWxldGVBdFRpbWVEZXRhaWxzIiAvPg0KDQog
+IDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21w
+bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6
+SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRJZHMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog
+ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVFdmVudERldGFpbHMiIHR5cGU9
+InRuczpEZWxldGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp
+c3RvcnlVcGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIHR5cGU9InVhOkxpc3RP
+ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ
+bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS
+ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6
+SGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0i
+dG5zOkxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l
+bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0Ij4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0
+eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0eXBlPSJ1YTpM
+aXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVxdWVzdCIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIj4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg
+dHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv
+cnlVcGRhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0
+aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu
+Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRh
+dGVSZXNwb25zZSIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRo
+b2RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudHMiIHR5cGU9InVhOkxpc3RPZlZh
+cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j
+ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJl
+cXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FsbE1l
+dGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9m
+Q2FsbE1ldGhvZFJlcXVlc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnRS
+ZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0
+aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdXRwdXRBcmd1bWVudHMi
+IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXN1bHQiIHR5
+cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu
+ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiB0eXBl
+PSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlcXVlc3QiPg0KICAgIDx4czpzZXF1
+ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS
+ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iTWV0aG9kc1RvQ2FsbCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RS
+ZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu
+Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXF1ZXN0
+IiB0eXBlPSJ0bnM6Q2FsbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNh
+bGxSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9
+InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM
+aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJDYWxsUmVzcG9uc2UiIHR5cGU9InRuczpDYWxsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBs
+ZVR5cGUgIG5hbWU9Ik1vbml0b3JpbmdNb2RlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i
+eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzYWJsZWRfMCIgLz4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2FtcGxpbmdfMSIgLz4NCiAgICAgIDx4czpl
+bnVtZXJhdGlvbiB2YWx1ZT0iUmVwb3J0aW5nXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N
+CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIg
+dHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJE
+YXRhQ2hhbmdlVHJpZ2dlciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c18wIiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJTdGF0dXNWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u
+IHZhbHVlPSJTdGF0dXNWYWx1ZVRpbWVzdGFtcF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+
+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZVRyaWdn
+ZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAg
+bmFtZT0iRGVhZGJhbmRUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5n
+Ij4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJBYnNvbHV0ZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh
+bHVlPSJQZXJjZW50XzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5cGU9InRuczpEZWFkYmFu
+ZFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiPg0K
+ICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIiB0eXBlPSJ0bnM6TW9uaXRv
+cmluZ0ZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZUZpbHRl
+ciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0
+ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXIiIHR5cGU9InRuczpEYXRhQ2hh
+bmdlVHJpZ2dlciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkRlYWRiYW5kVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0
+ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIHR5cGU9InRuczpEYXRhQ2hhbmdl
+RmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlciI+DQogICAg
+PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh
+c2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZXMiIHR5cGU9InRuczpMaXN0T2ZTaW1w
+bGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xhdXNlIiB0eXBlPSJ0bnM6Q29udGVudEZp
+bHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1
+ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyIiB0eXBl
+PSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0
+ZUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmVhdFVuY2VydGFpbkFzQmFk
+IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJQZXJjZW50RGF0YUJhZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJjZW50RGF0YUdvb2QiIHR5cGU9InhzOnVu
+c2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl
+U2xvcGVkRXh0cmFwb2xhdGlvbiIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0
+aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiPg0KICAg
+IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi
+YXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlwZSIg
+dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRl
+Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8
+L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU
+eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIHR5cGU9InRuczpBZ2dy
+ZWdhdGVGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdGaWx0
+ZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0
+IiB0eXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl
+ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRl
+clJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJTZWxlY3RDbGF1c2VSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu
+Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iV2hlcmVDbGF1c2VSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl
+Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIHR5
+cGU9InRuczpFdmVudEZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i
+QWdncmVnYXRlRmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh
+bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1
+bHQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+UmV2aXNlZFN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl
+PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJSZXZpc2VkQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp
+Z3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6
+c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVGaWx0
+ZXJSZXN1bHQiIHR5cGU9InRuczpBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNv
+bXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9InhzOnVuc2lnbmVk
+SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0lu
+dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVTaXplIiB0
+eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iRGlzY2FyZE9sZGVzdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMi
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtVG9Nb25p
+dG9yIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nTW9kZSIgdHlwZT0idG5zOk1v
+bml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS
+ZXF1ZXN0ZWRQYXJhbWV0ZXJzIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVl
+c3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVS
+ZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i
+MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1v
+bml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNy
+ZWF0ZVJlcXVlc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs
+ZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0Nv
+ZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0
+ZW1JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNpemUi
+IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJGaWx0ZXJSZXN1bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0
+eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5
+cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIg
+dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj
+dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0
+ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0
+IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpU
+aW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9Ikl0ZW1zVG9DcmVhdGUiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVx
+dWVzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl
+Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9y
+ZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2Ui
+Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh
+ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m
+TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlz
+dE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i
+Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZU1vbml0b3JlZEl0
+ZW1zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1N
+b2RpZnlSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiB0eXBlPSJ0bnM6
+TW9uaXRvcmluZ1BhcmFtZXRlcnMiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9k
+aWZ5UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVk
+SXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl
+bU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog
+IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiB0eXBl
+PSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG5pbGxhYmxlPSJ0cnVlIj48
+L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2Rp
+ZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0
+YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi
+IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRRdWV1ZVNp
+emUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJGaWx0ZXJSZXN1bHQiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0
+IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNl
+cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3Vs
+dCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4
+T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vbml0b3Jl
+ZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz
+dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRu
+czpUaW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5
+UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25p
+dG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3Qi
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9u
+c2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl
+SGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlz
+dE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6
+TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOk1vZGlmeU1vbml0b3Jl
+ZEl0ZW1zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3Jp
+bmdNb2RlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25J
+ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5
+cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l
+PSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRNb25pdG9yaW5nTW9kZVJl
+cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVz
+cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv
+bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi
+bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpM
+aXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z
+dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl
+bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRNb25pdG9y
+aW5nTW9kZVJlc3BvbnNlIiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIgLz4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3QiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9
+InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmlnZ2VyaW5nSXRl
+bUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iTGlua3NUb0FkZCIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGlua3NUb1Jl
+bW92ZSIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0VHJpZ2dlcmluZ1Jl
+cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25z
+ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI
+ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlc3VsdHMiIHR5cGU9InVhOkxp
+c3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu
+b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iUmVtb3ZlUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl
+bW92ZURpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiB0
+eXBlPSJ0bnM6U2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpM
+aXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz
+ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl
+TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXF1
+ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jl
+c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw
+b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6
+TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v
+c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9u
+aXRvcmVkSXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u
+c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl
+c3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RI
+ZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0
+cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVy
+dmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxp
+dmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNp
+Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz
+aGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6
+ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRl
+U3Vic2NyaXB0aW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRl
+U3Vic2NyaXB0aW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz
+Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRv
+dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExp
+ZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVu
+c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj
+b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9u
+c2UiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t
+cGxleFR5cGUgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl
+bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl
+cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJ
+bnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg
+bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2Vl
+cEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6
+dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy
+aW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp
+ZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVxdWVz
+dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9u
+c2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNl
+SGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVy
+dmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNv
+dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx
+dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1
+YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2Ui
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl
+ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6
+Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny
+aXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0UHVi
+bGlzaGluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRQdWJs
+aXNoaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0
+cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6
+TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt
+ZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2Rl
+UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3Nh
+Z2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcXVlbmNl
+TnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iUHVibGlzaFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25EYXRhIiB0eXBlPSJ1
+YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2Ui
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDx4
+czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25EYXRhIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9u
+RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlv
+biI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0
+ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1zIiB0eXBlPSJ0bnM6
+TGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5
+cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl
+IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg
+PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOkRhdGFDaGFuZ2VOb3RpZmlj
+YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmlj
+YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu
+dEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i
+dG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9
+InRuczpNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i
+dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTm90
+aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgbmls
+bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZl
+bnROb3RpZmljYXRpb25MaXN0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl
+Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAg
+ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0
+eXBlPSJ0bnM6TGlzdE9mRXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy
+dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg
+ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIHR5cGU9InRuczpFdmVudE5vdGlmaWNhdGlv
+bkxpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50RmllbGRMaXN0Ij4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJFdmVudEZpZWxkcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll
+bGRMaXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlz
+dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVs
+ZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9
+InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3Qi
+IHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl
+bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIg
+dHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0b3J5RXZlbnRGaWVsZExp
+c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxk
+TGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y
+eUV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVs
+ZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50
+IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRp
+b25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlN0YXR1cyIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGlj
+SW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1
+ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog
+IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NoYW5nZU5vdGlm
+aWNhdGlvbiIgdHlwZT0idG5zOlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6
+Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50Ij4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i
+eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h
+bWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFj
+a25vd2xlZGdlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2Ny
+aXB0aW9uQWNrbm93bGVkZ2VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3Jp
+cHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi
+IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5
+cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVu
+dCIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbmlsbGFibGU9
+InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJl
+cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl
+c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk
+Z2VtZW50cyIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoUmVxdWVzdCIgdHlwZT0i
+dG5zOlB1Ymxpc2hSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNo
+UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl
+c3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIg
+dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBt
+aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+TW9yZU5vdGlmaWNhdGlvbnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpOb3Rp
+ZmljYXRpb25NZXNzYWdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRp
+YWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i
+MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4
+VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlc3BvbnNlIiB0eXBlPSJ0bnM6UHVi
+bGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXF1
+ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0
+SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i
+dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4
+czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i
+UmV0cmFuc21pdFNlcXVlbmNlTnVtYmVyIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpSZXB1Ymxpc2hSZXF1ZXN0
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXNwb25zZSI+DQogICAg
+PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5
+cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIHR5cGU9InRuczpO
+b3RpZmljYXRpb25NZXNzYWdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+IlJlcHVibGlzaFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVTZXF1
+ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0
+IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXN1bHQi
+IHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91
+bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w
+bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiIHR5cGU9
+InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N
+Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCI+
+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl
+ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxp
+c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgdHlwZT0idG5zOlRy
+YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9
+IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh
+ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp
+Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0i
+dG5zOlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw
+ZSBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI
+ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs
+ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIg
+dHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz
+cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v
+c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl
+Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9
+InRuczpEZWxldGVTdWJzY3JpcHRpb25zUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9IkJ1aWxkSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWFudWZhY3R1cmVyTmFtZSIgdHlw
+ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvZnR3YXJlVmVy
+c2lvbiIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGROdW1iZXIiIHR5cGU9InhzOnN0cmluZyIgbWlu
+T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJ1
+aWxkRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZElu
+Zm8iIHR5cGU9InRuczpCdWlsZEluZm8iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlJl
+ZHVuZGFuY3lTdXBwb3J0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4N
+CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1l
+cmF0aW9uIHZhbHVlPSJDb2xkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ildh
+cm1fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90XzMiIC8+DQogICAgICA8
+eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRyYW5zcGFyZW50XzQiIC8+DQogICAgICA8eHM6ZW51bWVy
+YXRpb24gdmFsdWU9IkhvdEFuZE1pcnJvcmVkXzUiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N
+CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbmN5U3VwcG9y
+dCIgdHlwZT0idG5zOlJlZHVuZGFuY3lTdXBwb3J0IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu
+YW1lPSJTZXJ2ZXJTdGF0ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+
+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJ1bm5pbmdfMCIgLz4NCiAgICAgIDx4czpl
+bnVtZXJhdGlvbiB2YWx1ZT0iRmFpbGVkXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs
+dWU9Ik5vQ29uZmlndXJhdGlvbl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT
+dXNwZW5kZWRfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2h1dGRvd25fNCIg
+Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGVzdF81IiAvPg0KICAgICAgPHhzOmVu
+dW1lcmF0aW9uIHZhbHVlPSJDb21tdW5pY2F0aW9uRmF1bHRfNiIgLz4NCiAgICAgIDx4czplbnVt
+ZXJhdGlvbiB2YWx1ZT0iVW5rbm93bl83IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwv
+eHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdGUiIHR5cGU9InRu
+czpTZXJ2ZXJTdGF0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVkdW5kYW50U2Vy
+dmVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IlNlcnZlcklkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi
+IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlTGV2ZWwiIHR5cGU9InhzOnVuc2ln
+bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVy
+U3RhdGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6
+c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZHVu
+ZGFudFNlcnZlckRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIC8+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBl
+Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRT
+ZXJ2ZXJEYXRhVHlwZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiBtaW5PY2N1
+cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz
+OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0
+T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJlZHVuZGFudFNlcnZl
+ckRhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0IiB0eXBlPSJ1YTpMaXN0T2ZT
+dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j
+ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmxM
+aXN0RGF0YVR5cGUiIHR5cGU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiPg0KICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERh
+dGFUeXBlIiB0eXBlPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg
+bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu
+Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBv
+aW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5
+cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtQYXRocyIg
+dHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p
+bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+
+DQogIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0
+d29ya0dyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5l
+dHdvcmtHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFU
+eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu
+dCBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdv
+cmtHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQog
+ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZh
+bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNb25pdG9yZWRJdGVtQ291bnQiIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIg
+dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4
+czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRh
+VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxp
+bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFs
+RGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw
+ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz
+RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRh
+VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg
+bmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j
+ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclZpZXdDb3VudCIgdHlwZT0ieHM6dW5z
+aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJl
+bnRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIHR5cGU9InhzOnVu
+c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1
+cml0eVJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5
+cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJTZXNzaW9uVGltZW91dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkFib3J0Q291bnQiIHR5cGU9
+InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdW11bGF0ZWRTdWJzY3JpcHRpb25D
+b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu
+dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWpl
+Y3RlZFJlcXVlc3RzQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWplY3RlZFJlcXVlc3RzQ291bnQiIHR5cGU9Inhz
+OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94
+czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1t
+YXJ5RGF0YVR5cGUiIHR5cGU9InRuczpTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIg
+Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiPg0KICAg
+IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i
+eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1
+cnJlbnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iU3RhdGUiIHR5cGU9InRuczpTZXJ2ZXJTdGF0ZSIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJ
+bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNodXRkb3duUmVhc29uIiB0eXBlPSJ1
+YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv
+eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl
+cnZlclN0YXR1c0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdHVzRGF0YVR5cGUiIC8+DQoN
+CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAg
+ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9
+InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlNlc3Npb25OYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnREZXNjcmlw
+dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9
+InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5
+cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IkFjdHVhbFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3Vi
+bGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlc3BvbnNl
+TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDb25uZWN0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRp
+bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudExhc3RD
+b250YWN0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InhzOnVuc2ln
+bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50
+TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRQdWJsaXNoUmVxdWVzdHNJblF1ZXVl
+IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l
+bnQgbmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU
+eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu
+T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZENvdW50IiB0eXBlPSJ0
+bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg
+Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIHR5cGU9InRuczpT
+ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3Vu
+dGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6
+ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRl
+ckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs
+ZW1lbnQgbmFtZT0iQ2FsbENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg
+bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9
+IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU
+eXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50
+ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNv
+dW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2Vydmlj
+ZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg
+IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ0bnM6U2Vy
+dmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlQ291bnQiIHR5cGU9InRuczpT
+ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNv
+dW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlJlcHVibGlzaENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJE
+YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNv
+dW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZp
+Y2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50
+ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJEZWxldGVOb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh
+VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50
+IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0
+YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJCcm93c2VDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC
+cm93c2VOZXh0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNs
+YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0
+YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJRdWVyeUZpcnN0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iUXVlcnlOZXh0Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P
+Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVn
+aXN0ZXJOb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVucmVn
+aXN0ZXJOb2Rlc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlw
+ZSIgdHlwZT0idG5zOlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w
+bGV4VHlwZSBuYW1lPSJMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0
+YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIw
+IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1
+ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2Vz
+c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uRGlhZ25vc3Rp
+Y3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl
+eFR5cGUgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhz
+OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpO
+b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJDbGllbnRVc2VySWRPZlNlc3Npb24iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVz
+ZXJJZEhpc3RvcnkiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs
+ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uTWVjaGFu
+aXNtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNvZGluZyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1
+cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNw
+b3J0UHJvdG9jb2wiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1
+ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1l
+c3NhZ2VTZWN1cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IlNlY3VyaXR5UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls
+bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0
+ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv
+Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50
+IG5hbWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz
+aW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu
+YW1lPSJMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9z
+dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlw
+ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+
+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z
+Okxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl
+Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZpY2VDb3VudGVy
+RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRv
+dGFsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8
+eHM6ZWxlbWVudCBuYW1lPSJFcnJvckNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9IlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIHR5cGU9InRuczpTZXJ2aWNl
+Q291bnRlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNSZXN1
+bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv
+ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv
+bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpT
+dGF0dXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN0YXR1c1Jl
+c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVz
+UmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i
+dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz
+OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiIHR5
+cGU9InRuczpMaXN0T2ZTdGF0dXNSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+
+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5
+cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25J
+ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlw
+ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu
+YW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVu
+c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhM
+aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9Inhz
+OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ
+dWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt
+aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVDb3VudCIgdHlw
+ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkRpc2FibGVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6
+dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl
+cHVibGlzaE1lc3NhZ2VSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQi
+IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu
+dCBuYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVycmVkVG9BbHRDbGll
+bnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4
+czplbGVtZW50IG5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIHR5cGU9InhzOnVu
+c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs
+aXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K
+ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbnNDb3VudCIgdHlw
+ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h
+bWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj
+dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiB0
+eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg
+bmFtZT0iTGF0ZVB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P
+Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50S2VlcEFsaXZlQ291
+bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYWNrbm93bGVkZ2VkTWVz
+c2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGlzY2FyZGVkTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l
+ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVk
+SXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVu
+c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25p
+dG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiB0eXBl
+PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iRXZlbnRRdWV1ZU92ZXJGbG93Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1
+cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z
+OlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkRpYWdub3N0aWNz
+RGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5P
+Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM
+aXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU3Vi
+c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFz
+ayI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51
+bWVyYXRpb24gdmFsdWU9Ik5vZGVBZGRlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh
+bHVlPSJOb2RlRGVsZXRlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZl
+cmVuY2VBZGRlZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VE
+ZWxldGVkXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlQ2hhbmdl
+ZF8xNiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4
+czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIHR5cGU9InRuczpN
+b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l
+PSJNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9
+IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWRU
+eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWZXJiIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j
+Y3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8
+eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6
+TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt
+ZT0iTGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl
+Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIg
+dHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4
+T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+
+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGVsQ2hh
+bmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVy
+ZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4
+VHlwZSBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx
+dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZCIgdHlwZT0idWE6Tm9kZUlk
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iQWZmZWN0ZWRUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9
+InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz
+OmVsZW1lbnQgbmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5z
+OlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl
+IG5hbWU9Ikxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpz
+ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0dXJl
+RGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5P
+Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8
+L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM
+aXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vt
+YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu
+dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmFuZ2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvdyIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9
+IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaWdoIiB0eXBlPSJ4czpkb3VibGUiIG1p
+bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K
+ICA8eHM6ZWxlbWVudCBuYW1lPSJSYW5nZSIgdHlwZT0idG5zOlJhbmdlIiAvPg0KDQogIDx4czpj
+b21wbGV4VHlwZSBuYW1lPSJFVUluZm9ybWF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj
+dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuaXRJ
+ZCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l
+PSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBl
+PSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9
+IkVVSW5mb3JtYXRpb24iIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiAvPg0KDQogIDx4czpzaW1w
+bGVUeXBlICBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9u
+IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxpbmVhcl8w
+IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMb2dfMSIgLz4NCiAgICAgIDx4czpl
+bnVtZXJhdGlvbiB2YWx1ZT0iTG5fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz
+OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiB0
+eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h
+bWU9IkNvbXBsZXhOdW1iZXJUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJSZWFsIiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIw
+IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt
+ZW50IG5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6Q29tcGxleE51bWJlclR5cGUi
+IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIj4N
+CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFsIiB0eXBlPSJ4
+czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp
+bmFyeSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j
+ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRG91YmxlQ29tcGxl
+eE51bWJlclR5cGUiIHR5cGU9InRuczpEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgLz4NCg0KICA8
+eHM6Y29tcGxleFR5cGUgbmFtZT0iQXhpc0luZm9ybWF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+
+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmdpbmVlcmluZ1VuaXRzIiB0eXBlPSJ0bnM6RVVJ
+bmZvcm1hdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkVVUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgbWluT2NjdXJzPSIwIiBuaWxs
+YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpdGxlIiB0eXBlPSJ1YTpM
+b2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz
+OmVsZW1lbnQgbmFtZT0iQXhpc1NjYWxlVHlwZSIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0
+aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU3RlcHMi
+IHR5cGU9InVhOkxpc3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N
+CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu
+YW1lPSJBeGlzSW5mb3JtYXRpb24iIHR5cGU9InRuczpBeGlzSW5mb3JtYXRpb24iIC8+DQoNCiAg
+PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlhWVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg
+PHhzOmVsZW1lbnQgbmFtZT0iWCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog
+ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0i
+MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl
+bWVudCBuYW1lPSJYVlR5cGUiIHR5cGU9InRuczpYVlR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU
+eXBlIG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N
+CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlk
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iQ3JlYXRlQ2xpZW50TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh
+YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0aW9u
+VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy
+cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBlPSJ4
+czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl
+bWVudCBuYW1lPSJMYXN0TWV0aG9kU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0
+aG9kSW5wdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIw
+IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RP
+dXRwdXRBcmd1bWVudHMiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBu
+aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxs
+VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt
+ZW50IG5hbWU9Ikxhc3RNZXRob2RSZXR1cm5TdGF0dXMiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQi
+IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg
+PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWNE
+YXRhVHlwZSIgdHlwZT0idG5zOlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIC8+DQoNCiAgPHhz
+OmNvbXBsZXhUeXBlIG5hbWU9IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIj4NCiAgICA8eHM6
+c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9
+InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl
+bGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz
+PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRp
+b25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg
+ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l
+IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2Fs
+bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg
+ICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlk
+IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1p
+bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJM
+YXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9j
+Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0
+TWV0aG9kSW5wdXRWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIg
+bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0
+cHV0VmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl
+PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0
+eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt
+ZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz
+PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl
+bGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3Jh
+bURpYWdub3N0aWMyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFubm90
+YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3Nh
+Z2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg
+ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy
+cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0
+aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl
+cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0
+aW9uIiB0eXBlPSJ0bnM6QW5ub3RhdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i
+RXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6
+c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVWYWx1ZV8wIiAv
+Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZWYWx1ZV8xIiAvPg0KICAg
+ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZSYW5nZV8yIiAvPg0KICAgICAgPHhz
+OmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZFVVJhbmdlXzMiIC8+DQogICAgICA8eHM6ZW51
+bWVyYXRpb24gdmFsdWU9IlVua25vd25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8
+L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZv
+cm1hdCIgdHlwZT0idG5zOkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgLz4NCg0KPC94czpzY2hl
+bWE+
+
+
+
+ NamespaceUri
+
+ i=68
+ i=8252
+
+
+ http://opcfoundation.org/UA/2008/02/Types.xsd
+
+
+
+ Deprecated
+
+ i=68
+ i=8252
+
+
+ true
+
+
+
+ Union
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Union']
+
+
+
+ KeyValuePair
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='KeyValuePair']
+
+
+
+ AdditionalParametersType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AdditionalParametersType']
+
+
+
+ EphemeralKeyType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EphemeralKeyType']
+
+
+
+ EndpointType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EndpointType']
+
+
+
+ RationalNumber
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RationalNumber']
+
+
+
+ Vector
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Vector']
+
+
+
+ 3DVector
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ThreeDVector']
+
+
+
+ CartesianCoordinates
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='CartesianCoordinates']
+
+
+
+ 3DCartesianCoordinates
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ThreeDCartesianCoordinates']
+
+
+
+ Orientation
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Orientation']
+
+
+
+ 3DOrientation
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ThreeDOrientation']
+
+
+
+ Frame
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Frame']
+
+
+
+ 3DFrame
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ThreeDFrame']
+
+
+
+ IdentityMappingRuleType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='IdentityMappingRuleType']
+
+
+
+ CurrencyUnitType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='CurrencyUnitType']
+
+
+
+ TrustListDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='TrustListDataType']
+
+
+
+ DataTypeSchemaHeader
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataTypeSchemaHeader']
+
+
+
+ DataTypeDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataTypeDescription']
+
+
+
+ StructureDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='StructureDescription']
+
+
+
+ EnumDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EnumDescription']
+
+
+
+ SimpleTypeDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SimpleTypeDescription']
+
+
+
+ UABinaryFileDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UABinaryFileDataType']
+
+
+
+ DataSetMetaDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetMetaDataType']
+
+
+
+ FieldMetaData
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='FieldMetaData']
+
+
+
+ ConfigurationVersionDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ConfigurationVersionDataType']
+
+
+
+ PublishedDataSetDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PublishedDataSetDataType']
+
+
+
+ PublishedDataSetSourceDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PublishedDataSetSourceDataType']
+
+
+
+ PublishedVariableDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PublishedVariableDataType']
+
+
+
+ PublishedDataItemsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PublishedDataItemsDataType']
+
+
+
+ PublishedEventsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PublishedEventsDataType']
+
+
+
+ DataSetWriterDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetWriterDataType']
+
+
+
+ DataSetWriterTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetWriterTransportDataType']
+
+
+
+ DataSetWriterMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetWriterMessageDataType']
+
+
+
+ PubSubGroupDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PubSubGroupDataType']
+
+
+
+ WriterGroupDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='WriterGroupDataType']
+
+
+
+ WriterGroupTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='WriterGroupTransportDataType']
+
+
+
+ WriterGroupMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='WriterGroupMessageDataType']
+
+
+
+ PubSubConnectionDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PubSubConnectionDataType']
+
+
+
+ ConnectionTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ConnectionTransportDataType']
+
+
+
+ NetworkAddressDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='NetworkAddressDataType']
+
+
+
+ NetworkAddressUrlDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='NetworkAddressUrlDataType']
+
+
+
+ ReaderGroupDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ReaderGroupDataType']
+
+
+
+ ReaderGroupTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ReaderGroupTransportDataType']
+
+
+
+ ReaderGroupMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ReaderGroupMessageDataType']
+
+
+
+ DataSetReaderDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetReaderDataType']
+
+
+
+ DataSetReaderTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetReaderTransportDataType']
+
+
+
+ DataSetReaderMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataSetReaderMessageDataType']
+
+
+
+ SubscribedDataSetDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SubscribedDataSetDataType']
+
+
+
+ TargetVariablesDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='TargetVariablesDataType']
+
+
+
+ FieldTargetDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='FieldTargetDataType']
+
+
+
+ SubscribedDataSetMirrorDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SubscribedDataSetMirrorDataType']
+
+
+
+ PubSubConfigurationDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='PubSubConfigurationDataType']
+
+
+
+ UadpWriterGroupMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UadpWriterGroupMessageDataType']
+
+
+
+ UadpDataSetWriterMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UadpDataSetWriterMessageDataType']
+
+
+
+ UadpDataSetReaderMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UadpDataSetReaderMessageDataType']
+
+
+
+ JsonWriterGroupMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='JsonWriterGroupMessageDataType']
+
+
+
+ JsonDataSetWriterMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='JsonDataSetWriterMessageDataType']
+
+
+
+ JsonDataSetReaderMessageDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='JsonDataSetReaderMessageDataType']
+
+
+
+ DatagramConnectionTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DatagramConnectionTransportDataType']
+
+
+
+ DatagramWriterGroupTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DatagramWriterGroupTransportDataType']
+
+
+
+ BrokerConnectionTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='BrokerConnectionTransportDataType']
+
+
+
+ BrokerWriterGroupTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='BrokerWriterGroupTransportDataType']
+
+
+
+ BrokerDataSetWriterTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='BrokerDataSetWriterTransportDataType']
+
+
+
+ BrokerDataSetReaderTransportDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='BrokerDataSetReaderTransportDataType']
+
+
+
+ AliasNameDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AliasNameDataType']
+
+
+
+ UnsignedRationalNumber
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UnsignedRationalNumber']
+
+
+
+ RolePermissionType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RolePermissionType']
+
+
+
+ DataTypeDefinition
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DataTypeDefinition']
+
+
+
+ StructureField
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='StructureField']
+
+
+
+ StructureDefinition
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='StructureDefinition']
+
+
+
+ EnumDefinition
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EnumDefinition']
+
+
+
+ Argument
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Argument']
+
+
+
+ EnumValueType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EnumValueType']
+
+
+
+ EnumField
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EnumField']
+
+
+
+ OptionSet
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='OptionSet']
+
+
+
+ TimeZoneDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='TimeZoneDataType']
+
+
+
+ ApplicationDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ApplicationDescription']
+
+
+
+ ServerOnNetwork
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ServerOnNetwork']
+
+
+
+ UserTokenPolicy
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UserTokenPolicy']
+
+
+
+ EndpointDescription
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EndpointDescription']
+
+
+
+ RegisteredServer
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RegisteredServer']
+
+
+
+ DiscoveryConfiguration
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DiscoveryConfiguration']
+
+
+
+ MdnsDiscoveryConfiguration
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='MdnsDiscoveryConfiguration']
+
+
+
+ SignedSoftwareCertificate
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SignedSoftwareCertificate']
+
+
+
+ UserIdentityToken
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UserIdentityToken']
+
+
+
+ AnonymousIdentityToken
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AnonymousIdentityToken']
+
+
+
+ UserNameIdentityToken
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='UserNameIdentityToken']
+
+
+
+ X509IdentityToken
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='X509IdentityToken']
+
+
+
+ IssuedIdentityToken
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='IssuedIdentityToken']
+
+
+
+ AddNodesItem
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AddNodesItem']
+
+
+
+ AddReferencesItem
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AddReferencesItem']
+
+
+
+ DeleteNodesItem
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DeleteNodesItem']
+
+
+
+ DeleteReferencesItem
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DeleteReferencesItem']
+
+
+
+ RelativePathElement
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RelativePathElement']
+
+
+
+ RelativePath
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RelativePath']
+
+
+
+ EndpointConfiguration
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EndpointConfiguration']
+
+
+
+ ContentFilterElement
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ContentFilterElement']
+
+
+
+ ContentFilter
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ContentFilter']
+
+
+
+ FilterOperand
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='FilterOperand']
+
+
+
+ ElementOperand
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ElementOperand']
+
+
+
+ LiteralOperand
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='LiteralOperand']
+
+
+
+ AttributeOperand
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AttributeOperand']
+
+
+
+ SimpleAttributeOperand
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SimpleAttributeOperand']
+
+
+
+ HistoryEvent
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='HistoryEvent']
+
+
+
+ MonitoringFilter
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='MonitoringFilter']
+
+
+
+ EventFilter
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EventFilter']
+
+
+
+ AggregateConfiguration
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AggregateConfiguration']
+
+
+
+ HistoryEventFieldList
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='HistoryEventFieldList']
+
+
+
+ BuildInfo
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='BuildInfo']
+
+
+
+ RedundantServerDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='RedundantServerDataType']
+
+
+
+ EndpointUrlListDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EndpointUrlListDataType']
+
+
+
+ NetworkGroupDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='NetworkGroupDataType']
+
+
+
+ SamplingIntervalDiagnosticsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SamplingIntervalDiagnosticsDataType']
+
+
+
+ ServerDiagnosticsSummaryDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ServerDiagnosticsSummaryDataType']
+
+
+
+ ServerStatusDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ServerStatusDataType']
+
+
+
+ SessionDiagnosticsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SessionDiagnosticsDataType']
+
+
+
+ SessionSecurityDiagnosticsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SessionSecurityDiagnosticsDataType']
+
+
+
+ ServiceCounterDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ServiceCounterDataType']
+
+
+
+ StatusResult
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='StatusResult']
+
+
+
+ SubscriptionDiagnosticsDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SubscriptionDiagnosticsDataType']
+
+
+
+ ModelChangeStructureDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ModelChangeStructureDataType']
+
+
+
+ SemanticChangeStructureDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='SemanticChangeStructureDataType']
+
+
+
+ Range
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Range']
+
+
+
+ EUInformation
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='EUInformation']
+
+
+
+ ComplexNumberType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ComplexNumberType']
+
+
+
+ DoubleComplexNumberType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='DoubleComplexNumberType']
+
+
+
+ AxisInformation
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='AxisInformation']
+
+
+
+ XVType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='XVType']
+
+
+
+ ProgramDiagnosticDataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ProgramDiagnosticDataType']
+
+
+
+ ProgramDiagnostic2DataType
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='ProgramDiagnostic2DataType']
+
+
+
+ Annotation
+
+ i=69
+ i=8252
+
+
+ //xs:element[@name='Annotation']
+
+
+
+ Default JSON
+
+ i=12756
+ i=76
+
+
+
+ Default JSON
+
+ i=14533
+ i=76
+
+
+
+ Default JSON
+
+ i=16313
+ i=76
+
+
+
+ Default JSON
+
+ i=17548
+ i=76
+
+
+
+ Default JSON
+
+ i=15528
+ i=76
+
+
+
+ Default JSON
+
+ i=18806
+ i=76
+
+
+
+ Default JSON
+
+ i=18807
+ i=76
+
+
+
+ Default JSON
+
+ i=18808
+ i=76
+
+
+
+ Default JSON
+
+ i=18809
+ i=76
+
+
+
+ Default JSON
+
+ i=18810
+ i=76
+
+
+
+ Default JSON
+
+ i=18811
+ i=76
+
+
+
+ Default JSON
+
+ i=18812
+ i=76
+
+
+
+ Default JSON
+
+ i=18813
+ i=76
+
+
+
+ Default JSON
+
+ i=18814
+ i=76
+
+
+
+ Default JSON
+
+ i=15634
+ i=76
+
+
+
+ Default JSON
+
+ i=23498
+ i=76
+
+
+
+ Default JSON
+
+ i=12554
+ i=76
+
+
+
+ Default JSON
+
+ i=17861
+ i=76
+
+
+
+ Default JSON
+
+ i=15534
+ i=76
+
+
+
+ Default JSON
+
+ i=14525
+ i=76
+
+
+
+ Default JSON
+
+ i=15487
+ i=76
+
+
+
+ Default JSON
+
+ i=15488
+ i=76
+
+
+
+ Default JSON
+
+ i=15005
+ i=76
+
+
+
+ Default JSON
+
+ i=15006
+ i=76
+
+
+
+ Default JSON
+
+ i=14523
+ i=76
+
+
+
+ Default JSON
+
+ i=14524
+ i=76
+
+
+
+ Default JSON
+
+ i=14593
+ i=76
+
+
+
+ Default JSON
+
+ i=15578
+ i=76
+
+
+
+ Default JSON
+
+ i=15580
+ i=76
+
+
+
+ Default JSON
+
+ i=14273
+ i=76
+
+
+
+ Default JSON
+
+ i=15581
+ i=76
+
+
+
+ Default JSON
+
+ i=15582
+ i=76
+
+
+
+ Default JSON
+
+ i=15597
+ i=76
+
+
+
+ Default JSON
+
+ i=15598
+ i=76
+
+
+
+ Default JSON
+
+ i=15605
+ i=76
+
+
+
+ Default JSON
+
+ i=15609
+ i=76
+
+
+
+ Default JSON
+
+ i=15480
+ i=76
+
+
+
+ Default JSON
+
+ i=15611
+ i=76
+
+
+
+ Default JSON
+
+ i=15616
+ i=76
+
+
+
+ Default JSON
+
+ i=15617
+ i=76
+
+
+
+ Default JSON
+
+ i=15618
+ i=76
+
+
+
+ Default JSON
+
+ i=15502
+ i=76
+
+
+
+ Default JSON
+
+ i=15510
+ i=76
+
+
+
+ Default JSON
+
+ i=15520
+ i=76
+
+
+
+ Default JSON
+
+ i=15621
+ i=76
+
+
+
+ Default JSON
+
+ i=15622
+ i=76
+
+
+
+ Default JSON
+
+ i=15623
+ i=76
+
+
+
+ Default JSON
+
+ i=15628
+ i=76
+
+
+
+ Default JSON
+
+ i=15629
+ i=76
+
+
+
+ Default JSON
+
+ i=15630
+ i=76
+
+
+
+ Default JSON
+
+ i=15631
+ i=76
+
+
+
+ Default JSON
+
+ i=14744
+ i=76
+
+
+
+ Default JSON
+
+ i=15635
+ i=76
+
+
+
+ Default JSON
+
+ i=15530
+ i=76
+
+
+
+ Default JSON
+
+ i=15645
+ i=76
+
+
+
+ Default JSON
+
+ i=15652
+ i=76
+
+
+
+ Default JSON
+
+ i=15653
+ i=76
+
+
+
+ Default JSON
+
+ i=15657
+ i=76
+
+
+
+ Default JSON
+
+ i=15664
+ i=76
+
+
+
+ Default JSON
+
+ i=15665
+ i=76
+
+
+
+ Default JSON
+
+ i=17467
+ i=76
+
+
+
+ Default JSON
+
+ i=15532
+ i=76
+
+
+
+ Default JSON
+
+ i=15007
+ i=76
+
+
+
+ Default JSON
+
+ i=15667
+ i=76
+
+
+
+ Default JSON
+
+ i=15669
+ i=76
+
+
+
+ Default JSON
+
+ i=15670
+ i=76
+
+
+
+ Default JSON
+
+ i=23468
+ i=76
+
+
+
+ Default JSON
+
+ i=24107
+ i=76
+
+
+
+ Default JSON
+
+ i=96
+ i=76
+
+
+
+ Default JSON
+
+ i=97
+ i=76
+
+
+
+ Default JSON
+
+ i=101
+ i=76
+
+
+
+ Default JSON
+
+ i=99
+ i=76
+
+
+
+ Default JSON
+
+ i=100
+ i=76
+
+
+
+ Default JSON
+
+ i=258
+ i=76
+
+
+
+ Default JSON
+
+ i=11879
+ i=76
+
+
+
+ Default JSON
+
+ i=11880
+ i=76
+
+
+
+ Default JSON
+
+ i=261
+ i=76
+
+
+
+ Default JSON
+
+ i=264
+ i=76
+
+
+
+ Default JSON
+
+ i=267
+ i=76
+
+
+
+ Default JSON
+
+ i=270
+ i=76
+
+
+
+ Default JSON
+
+ i=273
+ i=76
+
+
+
+ Default JSON
+
+ i=276
+ i=76
+
+
+
+ Default JSON
+
+ i=279
+ i=76
+
+
+
+ Default JSON
+
+ i=282
+ i=76
+
+
+
+ Default JSON
+
+ i=285
+ i=76
+
+
+
+ Default JSON
+
+ i=296
+ i=76
+
+
+
+ Default JSON
+
+ i=7594
+ i=76
+
+
+
+ Default JSON
+
+ i=102
+ i=76
+
+
+
+ Default JSON
+
+ i=12755
+ i=76
+
+
+
+ Default JSON
+
+ i=8912
+ i=76
+
+
+
+ Default JSON
+
+ i=308
+ i=76
+
+
+
+ Default JSON
+
+ i=389
+ i=76
+
+
+
+ Default JSON
+
+ i=392
+ i=76
+
+
+
+ Default JSON
+
+ i=395
+ i=76
+
+
+
+ Default JSON
+
+ i=15901
+ i=76
+
+
+
+ Default JSON
+
+ i=20999
+ i=76
+
+
+
+ Default JSON
+
+ i=420
+ i=76
+
+
+
+ Default JSON
+
+ i=423
+ i=76
+
+
+
+ Default JSON
+
+ i=12189
+ i=76
+
+
+
+ Default JSON
+
+ i=12190
+ i=76
+
+
+
+ Default JSON
+
+ i=12191
+ i=76
+
+
+
+ Default JSON
+
+ i=304
+ i=76
+
+
+
+ Default JSON
+
+ i=312
+ i=76
+
+
+
+ Default JSON
+
+ i=426
+ i=76
+
+
+
+ Default JSON
+
+ i=429
+ i=76
+
+
+
+ Default JSON
+
+ i=432
+ i=76
+
+
+
+ Default JSON
+
+ i=435
+ i=76
+
+
+
+ Default JSON
+
+ i=438
+ i=76
+
+
+
+ Default JSON
+
+ i=12890
+ i=76
+
+
+
+ Default JSON
+
+ i=12891
+ i=76
+
+
+
+ Default JSON
+
+ i=12193
+ i=76
+
+
+
+ Default JSON
+
+ i=12194
+ i=76
+
+
+
+ Default JSON
+
+ i=441
+ i=76
+
+
+
+ Default JSON
+
+ i=444
+ i=76
+
+
+
+ Default JSON
+
+ i=447
+ i=76
+
+
+
+ Default JSON
+
+ i=450
+ i=76
+
+
+
+ Default JSON
+
+ i=453
+ i=76
+
+
+
+ Default JSON
+
+ i=344
+ i=76
+
+
+
+ Default JSON
+
+ i=456
+ i=76
+
+
+
+ Default JSON
+
+ i=459
+ i=76
+
+
+
+ Default JSON
+
+ i=462
+ i=76
+
+
+
+ Default JSON
+
+ i=316
+ i=76
+
+
+
+ Default JSON
+
+ i=319
+ i=76
+
+
+
+ Default JSON
+
+ i=322
+ i=76
+
+
+
+ Default JSON
+
+ i=325
+ i=76
+
+
+
+ Default JSON
+
+ i=938
+ i=76
+
+
+
+ Default JSON
+
+ i=465
+ i=76
+
+
+
+ Default JSON
+
+ i=468
+ i=76
+
+
+
+ Default JSON
+
+ i=471
+ i=76
+
+
+
+ Default JSON
+
+ i=474
+ i=76
+
+
+
+ Default JSON
+
+ i=477
+ i=76
+
+
+
+ Default JSON
+
+ i=480
+ i=76
+
+
+
+ Default JSON
+
+ i=349
+ i=76
+
+
+
+ Default JSON
+
+ i=352
+ i=76
+
+
+
+ Default JSON
+
+ i=355
+ i=76
+
+
+
+ Default JSON
+
+ i=358
+ i=76
+
+
+
+ Default JSON
+
+ i=361
+ i=76
+
+
+
+ Default JSON
+
+ i=364
+ i=76
+
+
+
+ Default JSON
+
+ i=367
+ i=76
+
+
+
+ Default JSON
+
+ i=370
+ i=76
+
+
+
+ Default JSON
+
+ i=373
+ i=76
+
+
+
+ Default JSON
+
+ i=17606
+ i=76
+
+
+
+ Default JSON
+
+ i=17607
+ i=76
+
+
+
+ Default JSON
+
+ i=376
+ i=76
+
+
+
+ Default JSON
+
+ i=483
+ i=76
+
+
+
+ Default JSON
+
+ i=486
+ i=76
+
+
+
+ Default JSON
+
+ i=489
+ i=76
+
+
+
+ Default JSON
+
+ i=379
+ i=76
+
+
+
+ Default JSON
+
+ i=492
+ i=76
+
+
+
+ Default JSON
+
+ i=495
+ i=76
+
+
+
+ Default JSON
+
+ i=382
+ i=76
+
+
+
+ Default JSON
+
+ i=498
+ i=76
+
+
+
+ Default JSON
+
+ i=501
+ i=76
+
+
+
+ Default JSON
+
+ i=385
+ i=76
+
+
+
+ Default JSON
+
+ i=504
+ i=76
+
+
+
+ Default JSON
+
+ i=507
+ i=76
+
+
+
+ Default JSON
+
+ i=511
+ i=76
+
+
+
+ Default JSON
+
+ i=514
+ i=76
+
+
+
+ Default JSON
+
+ i=518
+ i=76
+
+
+
+ Default JSON
+
+ i=522
+ i=76
+
+
+
+ Default JSON
+
+ i=525
+ i=76
+
+
+
+ Default JSON
+
+ i=528
+ i=76
+
+
+
+ Default JSON
+
+ i=531
+ i=76
+
+
+
+ Default JSON
+
+ i=534
+ i=76
+
+
+
+ Default JSON
+
+ i=537
+ i=76
+
+
+
+ Default JSON
+
+ i=540
+ i=76
+
+
+
+ Default JSON
+
+ i=543
+ i=76
+
+
+
+ Default JSON
+
+ i=546
+ i=76
+
+
+
+ Default JSON
+
+ i=549
+ i=76
+
+
+
+ Default JSON
+
+ i=552
+ i=76
+
+
+
+ Default JSON
+
+ i=555
+ i=76
+
+
+
+ Default JSON
+
+ i=558
+ i=76
+
+
+
+ Default JSON
+
+ i=561
+ i=76
+
+
+
+ Default JSON
+
+ i=564
+ i=76
+
+
+
+ Default JSON
+
+ i=567
+ i=76
+
+
+
+ Default JSON
+
+ i=331
+ i=76
+
+
+
+ Default JSON
+
+ i=570
+ i=76
+
+
+
+ Default JSON
+
+ i=573
+ i=76
+
+
+
+ Default JSON
+
+ i=577
+ i=76
+
+
+
+ Default JSON
+
+ i=580
+ i=76
+
+
+
+ Default JSON
+
+ i=583
+ i=76
+
+
+
+ Default JSON
+
+ i=586
+ i=76
+
+
+
+ Default JSON
+
+ i=589
+ i=76
+
+
+
+ Default JSON
+
+ i=592
+ i=76
+
+
+
+ Default JSON
+
+ i=595
+ i=76
+
+
+
+ Default JSON
+
+ i=598
+ i=76
+
+
+
+ Default JSON
+
+ i=601
+ i=76
+
+
+
+ Default JSON
+
+ i=604
+ i=76
+
+
+
+ Default JSON
+
+ i=607
+ i=76
+
+
+
+ Default JSON
+
+ i=610
+ i=76
+
+
+
+ Default JSON
+
+ i=613
+ i=76
+
+
+
+ Default JSON
+
+ i=616
+ i=76
+
+
+
+ Default JSON
+
+ i=619
+ i=76
+
+
+
+ Default JSON
+
+ i=622
+ i=76
+
+
+
+ Default JSON
+
+ i=626
+ i=76
+
+
+
+ Default JSON
+
+ i=629
+ i=76
+
+
+
+ Default JSON
+
+ i=632
+ i=76
+
+
+
+ Default JSON
+
+ i=635
+ i=76
+
+
+
+ Default JSON
+
+ i=638
+ i=76
+
+
+
+ Default JSON
+
+ i=641
+ i=76
+
+
+
+ Default JSON
+
+ i=644
+ i=76
+
+
+
+ Default JSON
+
+ i=647
+ i=76
+
+
+
+ Default JSON
+
+ i=650
+ i=76
+
+
+
+ Default JSON
+
+ i=653
+ i=76
+
+
+
+ Default JSON
+
+ i=23497
+ i=76
+
+
+
+ Default JSON
+
+ i=656
+ i=76
+
+
+
+ Default JSON
+
+ i=11216
+ i=76
+
+
+
+ Default JSON
+
+ i=11217
+ i=76
+
+
+
+ Default JSON
+
+ i=659
+ i=76
+
+
+
+ Default JSON
+
+ i=662
+ i=76
+
+
+
+ Default JSON
+
+ i=665
+ i=76
+
+
+
+ Default JSON
+
+ i=668
+ i=76
+
+
+
+ Default JSON
+
+ i=671
+ i=76
+
+
+
+ Default JSON
+
+ i=674
+ i=76
+
+
+
+ Default JSON
+
+ i=677
+ i=76
+
+
+
+ Default JSON
+
+ i=680
+ i=76
+
+
+
+ Default JSON
+
+ i=11295
+ i=76
+
+
+
+ Default JSON
+
+ i=683
+ i=76
+
+
+
+ Default JSON
+
+ i=686
+ i=76
+
+
+
+ Default JSON
+
+ i=689
+ i=76
+
+
+
+ Default JSON
+
+ i=692
+ i=76
+
+
+
+ Default JSON
+
+ i=695
+ i=76
+
+
+
+ Default JSON
+
+ i=698
+ i=76
+
+
+
+ Default JSON
+
+ i=701
+ i=76
+
+
+
+ Default JSON
+
+ i=704
+ i=76
+
+
+
+ Default JSON
+
+ i=707
+ i=76
+
+
+
+ Default JSON
+
+ i=710
+ i=76
+
+
+
+ Default JSON
+
+ i=713
+ i=76
+
+
+
+ Default JSON
+
+ i=719
+ i=76
+
+
+
+ Default JSON
+
+ i=722
+ i=76
+
+
+
+ Default JSON
+
+ i=725
+ i=76
+
+
+
+ Default JSON
+
+ i=948
+ i=76
+
+
+
+ Default JSON
+
+ i=728
+ i=76
+
+
+
+ Default JSON
+
+ i=731
+ i=76
+
+
+
+ Default JSON
+
+ i=734
+ i=76
+
+
+
+ Default JSON
+
+ i=737
+ i=76
+
+
+
+ Default JSON
+
+ i=740
+ i=76
+
+
+
+ Default JSON
+
+ i=743
+ i=76
+
+
+
+ Default JSON
+
+ i=746
+ i=76
+
+
+
+ Default JSON
+
+ i=749
+ i=76
+
+
+
+ Default JSON
+
+ i=752
+ i=76
+
+
+
+ Default JSON
+
+ i=755
+ i=76
+
+
+
+ Default JSON
+
+ i=758
+ i=76
+
+
+
+ Default JSON
+
+ i=761
+ i=76
+
+
+
+ Default JSON
+
+ i=764
+ i=76
+
+
+
+ Default JSON
+
+ i=767
+ i=76
+
+
+
+ Default JSON
+
+ i=770
+ i=76
+
+
+
+ Default JSON
+
+ i=773
+ i=76
+
+
+
+ Default JSON
+
+ i=776
+ i=76
+
+
+
+ Default JSON
+
+ i=779
+ i=76
+
+
+
+ Default JSON
+
+ i=782
+ i=76
+
+
+
+ Default JSON
+
+ i=785
+ i=76
+
+
+
+ Default JSON
+
+ i=788
+ i=76
+
+
+
+ Default JSON
+
+ i=791
+ i=76
+
+
+
+ Default JSON
+
+ i=794
+ i=76
+
+
+
+ Default JSON
+
+ i=797
+ i=76
+
+
+
+ Default JSON
+
+ i=800
+ i=76
+
+
+
+ Default JSON
+
+ i=803
+ i=76
+
+
+
+ Default JSON
+
+ i=945
+ i=76
+
+
+
+ Default JSON
+
+ i=809
+ i=76
+
+
+
+ Default JSON
+
+ i=806
+ i=76
+
+
+
+ Default JSON
+
+ i=914
+ i=76
+
+
+
+ Default JSON
+
+ i=917
+ i=76
+
+
+
+ Default JSON
+
+ i=920
+ i=76
+
+
+
+ Default JSON
+
+ i=818
+ i=76
+
+
+
+ Default JSON
+
+ i=821
+ i=76
+
+
+
+ Default JSON
+
+ i=824
+ i=76
+
+
+
+ Default JSON
+
+ i=827
+ i=76
+
+
+
+ Default JSON
+
+ i=830
+ i=76
+
+
+
+ Default JSON
+
+ i=833
+ i=76
+
+
+
+ Default JSON
+
+ i=836
+ i=76
+
+
+
+ Default JSON
+
+ i=839
+ i=76
+
+
+
+ Default JSON
+
+ i=842
+ i=76
+
+
+
+ Default JSON
+
+ i=845
+ i=76
+
+
+
+ Default JSON
+
+ i=848
+ i=76
+
+
+
+ Default JSON
+
+ i=338
+ i=76
+
+
+
+ Default JSON
+
+ i=853
+ i=76
+
+
+
+ Default JSON
+
+ i=11943
+ i=76
+
+
+
+ Default JSON
+
+ i=11944
+ i=76
+
+
+
+ Default JSON
+
+ i=856
+ i=76
+
+
+
+ Default JSON
+
+ i=859
+ i=76
+
+
+
+ Default JSON
+
+ i=862
+ i=76
+
+
+
+ Default JSON
+
+ i=865
+ i=76
+
+
+
+ Default JSON
+
+ i=868
+ i=76
+
+
+
+ Default JSON
+
+ i=871
+ i=76
+
+
+
+ Default JSON
+
+ i=299
+ i=76
+
+
+
+ Default JSON
+
+ i=874
+ i=76
+
+
+
+ Default JSON
+
+ i=877
+ i=76
+
+
+
+ Default JSON
+
+ i=897
+ i=76
+
+
+
+ Default JSON
+
+ i=884
+ i=76
+
+
+
+ Default JSON
+
+ i=887
+ i=76
+
+
+
+ Default JSON
+
+ i=12171
+ i=76
+
+
+
+ Default JSON
+
+ i=12172
+ i=76
+
+
+
+ Default JSON
+
+ i=12079
+ i=76
+
+
+
+ Default JSON
+
+ i=12080
+ i=76
+
+
+
+ Default JSON
+
+ i=894
+ i=76
+
+
+
+ Default JSON
+
+ i=24033
+ i=76
+
+
+
+ Default JSON
+
+ i=891
+ i=76
+
+
+
diff --git a/protocols/opcua/downloads/Opc.Ua.Types.bsd b/protocols/opcua/downloads/Opc.Ua.Types.bsd
new file mode 100644
index 00000000000..d6407d884dc
--- /dev/null
+++ b/protocols/opcua/downloads/Opc.Ua.Types.bsd
@@ -0,0 +1,3162 @@
+
+
+
+
+
+
+
+
+ An XML element encoded as a UTF-8 string.
+
+
+
+
+
+ The possible encodings for a NodeId value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An identifier for a node in a UA server address space.
+
+
+
+
+
+
+
+
+
+
+
+ An identifier for a node in a UA server address space qualified with a complete namespace string.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A 32-bit status code value.
+
+
+
+ A recursive structure containing diagnostic information associated with a status code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A string qualified with a namespace index.
+
+
+
+
+
+ A string qualified with a namespace index.
+
+
+
+
+
+
+
+
+ A value with an associated timestamp, and quality.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A serialized object prefixed with its data type identifier.
+
+
+
+
+
+
+
+
+
+
+ A union of several types.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/protocols/opcua/downloads/StatusCode.csv b/protocols/opcua/downloads/StatusCode.csv
new file mode 100644
index 00000000000..5ff92120a57
--- /dev/null
+++ b/protocols/opcua/downloads/StatusCode.csv
@@ -0,0 +1,261 @@
+Good,0x00000000,"The operation succeeded."
+Uncertain,0x40000000,"The operation was uncertain."
+Bad,0x80000000,"The operation failed."
+BadUnexpectedError,0x80010000,"An unexpected error occurred."
+BadInternalError,0x80020000,"An internal error occurred as a result of a programming or configuration error."
+BadOutOfMemory,0x80030000,"Not enough memory to complete the operation."
+BadResourceUnavailable,0x80040000,"An operating system resource is not available."
+BadCommunicationError,0x80050000,"A low level communication error occurred."
+BadEncodingError,0x80060000,"Encoding halted because of invalid data in the objects being serialized."
+BadDecodingError,0x80070000,"Decoding halted because of invalid data in the stream."
+BadEncodingLimitsExceeded,0x80080000,"The message encoding/decoding limits imposed by the stack have been exceeded."
+BadRequestTooLarge,0x80B80000,"The request message size exceeds limits set by the server."
+BadResponseTooLarge,0x80B90000,"The response message size exceeds limits set by the client."
+BadUnknownResponse,0x80090000,"An unrecognized response was received from the server."
+BadTimeout,0x800A0000,"The operation timed out."
+BadServiceUnsupported,0x800B0000,"The server does not support the requested service."
+BadShutdown,0x800C0000,"The operation was cancelled because the application is shutting down."
+BadServerNotConnected,0x800D0000,"The operation could not complete because the client is not connected to the server."
+BadServerHalted,0x800E0000,"The server has stopped and cannot process any requests."
+BadNothingToDo,0x800F0000,"There was nothing to do because the client passed a list of operations with no elements."
+BadTooManyOperations,0x80100000,"The request could not be processed because it specified too many operations."
+BadTooManyMonitoredItems,0x80DB0000,"The request could not be processed because there are too many monitored items in the subscription."
+BadDataTypeIdUnknown,0x80110000,"The extension object cannot be (de)serialized because the data type id is not recognized."
+BadCertificateInvalid,0x80120000,"The certificate provided as a parameter is not valid."
+BadSecurityChecksFailed,0x80130000,"An error occurred verifying security."
+BadCertificatePolicyCheckFailed,0x81140000,"The certificate does not meet the requirements of the security policy."
+BadCertificateTimeInvalid,0x80140000,"The certificate has expired or is not yet valid."
+BadCertificateIssuerTimeInvalid,0x80150000,"An issuer certificate has expired or is not yet valid."
+BadCertificateHostNameInvalid,0x80160000,"The HostName used to connect to a server does not match a HostName in the certificate."
+BadCertificateUriInvalid,0x80170000,"The URI specified in the ApplicationDescription does not match the URI in the certificate."
+BadCertificateUseNotAllowed,0x80180000,"The certificate may not be used for the requested operation."
+BadCertificateIssuerUseNotAllowed,0x80190000,"The issuer certificate may not be used for the requested operation."
+BadCertificateUntrusted,0x801A0000,"The certificate is not trusted."
+BadCertificateRevocationUnknown,0x801B0000,"It was not possible to determine if the certificate has been revoked."
+BadCertificateIssuerRevocationUnknown,0x801C0000,"It was not possible to determine if the issuer certificate has been revoked."
+BadCertificateRevoked,0x801D0000,"The certificate has been revoked."
+BadCertificateIssuerRevoked,0x801E0000,"The issuer certificate has been revoked."
+BadCertificateChainIncomplete,0x810D0000,"The certificate chain is incomplete."
+BadUserAccessDenied,0x801F0000,"User does not have permission to perform the requested operation."
+BadIdentityTokenInvalid,0x80200000,"The user identity token is not valid."
+BadIdentityTokenRejected,0x80210000,"The user identity token is valid but the server has rejected it."
+BadSecureChannelIdInvalid,0x80220000,"The specified secure channel is no longer valid."
+BadInvalidTimestamp,0x80230000,"The timestamp is outside the range allowed by the server."
+BadNonceInvalid,0x80240000,"The nonce does appear to be not a random value or it is not the correct length."
+BadSessionIdInvalid,0x80250000,"The session id is not valid."
+BadSessionClosed,0x80260000,"The session was closed by the client."
+BadSessionNotActivated,0x80270000,"The session cannot be used because ActivateSession has not been called."
+BadSubscriptionIdInvalid,0x80280000,"The subscription id is not valid."
+BadRequestHeaderInvalid,0x802A0000,"The header for the request is missing or invalid."
+BadTimestampsToReturnInvalid,0x802B0000,"The timestamps to return parameter is invalid."
+BadRequestCancelledByClient,0x802C0000,"The request was cancelled by the client."
+BadTooManyArguments,0x80E50000,"Too many arguments were provided."
+BadLicenseExpired,0x810E0000,"The server requires a license to operate in general or to perform a service or operation, but existing license is expired."
+BadLicenseLimitsExceeded,0x810F0000,"The server has limits on number of allowed operations / objects, based on installed licenses, and these limits where exceeded."
+BadLicenseNotAvailable,0x81100000,"The server does not have a license which is required to operate in general or to perform a service or operation."
+GoodSubscriptionTransferred,0x002D0000,"The subscription was transferred to another session."
+GoodCompletesAsynchronously,0x002E0000,"The processing will complete asynchronously."
+GoodOverload,0x002F0000,"Sampling has slowed down due to resource limitations."
+GoodClamped,0x00300000,"The value written was accepted but was clamped."
+BadNoCommunication,0x80310000,"Communication with the data source is defined, but not established, and there is no last known value available."
+BadWaitingForInitialData,0x80320000,"Waiting for the server to obtain values from the underlying data source."
+BadNodeIdInvalid,0x80330000,"The syntax of the node id is not valid."
+BadNodeIdUnknown,0x80340000,"The node id refers to a node that does not exist in the server address space."
+BadAttributeIdInvalid,0x80350000,"The attribute is not supported for the specified Node."
+BadIndexRangeInvalid,0x80360000,"The syntax of the index range parameter is invalid."
+BadIndexRangeNoData,0x80370000,"No data exists within the range of indexes specified."
+BadDataEncodingInvalid,0x80380000,"The data encoding is invalid."
+BadDataEncodingUnsupported,0x80390000,"The server does not support the requested data encoding for the node."
+BadNotReadable,0x803A0000,"The access level does not allow reading or subscribing to the Node."
+BadNotWritable,0x803B0000,"The access level does not allow writing to the Node."
+BadOutOfRange,0x803C0000,"The value was out of range."
+BadNotSupported,0x803D0000,"The requested operation is not supported."
+BadNotFound,0x803E0000,"A requested item was not found or a search operation ended without success."
+BadObjectDeleted,0x803F0000,"The object cannot be used because it has been deleted."
+BadNotImplemented,0x80400000,"Requested operation is not implemented."
+BadMonitoringModeInvalid,0x80410000,"The monitoring mode is invalid."
+BadMonitoredItemIdInvalid,0x80420000,"The monitoring item id does not refer to a valid monitored item."
+BadMonitoredItemFilterInvalid,0x80430000,"The monitored item filter parameter is not valid."
+BadMonitoredItemFilterUnsupported,0x80440000,"The server does not support the requested monitored item filter."
+BadFilterNotAllowed,0x80450000,"A monitoring filter cannot be used in combination with the attribute specified."
+BadStructureMissing,0x80460000,"A mandatory structured parameter was missing or null."
+BadEventFilterInvalid,0x80470000,"The event filter is not valid."
+BadContentFilterInvalid,0x80480000,"The content filter is not valid."
+BadFilterOperatorInvalid,0x80C10000,"An unrecognized operator was provided in a filter."
+BadFilterOperatorUnsupported,0x80C20000,"A valid operator was provided, but the server does not provide support for this filter operator."
+BadFilterOperandCountMismatch,0x80C30000,"The number of operands provided for the filter operator was less then expected for the operand provided."
+BadFilterOperandInvalid,0x80490000,"The operand used in a content filter is not valid."
+BadFilterElementInvalid,0x80C40000,"The referenced element is not a valid element in the content filter."
+BadFilterLiteralInvalid,0x80C50000,"The referenced literal is not a valid value."
+BadContinuationPointInvalid,0x804A0000,"The continuation point provide is longer valid."
+BadNoContinuationPoints,0x804B0000,"The operation could not be processed because all continuation points have been allocated."
+BadReferenceTypeIdInvalid,0x804C0000,"The reference type id does not refer to a valid reference type node."
+BadBrowseDirectionInvalid,0x804D0000,"The browse direction is not valid."
+BadNodeNotInView,0x804E0000,"The node is not part of the view."
+BadNumericOverflow,0x81120000,"The number was not accepted because of a numeric overflow."
+BadServerUriInvalid,0x804F0000,"The ServerUri is not a valid URI."
+BadServerNameMissing,0x80500000,"No ServerName was specified."
+BadDiscoveryUrlMissing,0x80510000,"No DiscoveryUrl was specified."
+BadSempahoreFileMissing,0x80520000,"The semaphore file specified by the client is not valid."
+BadRequestTypeInvalid,0x80530000,"The security token request type is not valid."
+BadSecurityModeRejected,0x80540000,"The security mode does not meet the requirements set by the server."
+BadSecurityPolicyRejected,0x80550000,"The security policy does not meet the requirements set by the server."
+BadTooManySessions,0x80560000,"The server has reached its maximum number of sessions."
+BadUserSignatureInvalid,0x80570000,"The user token signature is missing or invalid."
+BadApplicationSignatureInvalid,0x80580000,"The signature generated with the client certificate is missing or invalid."
+BadNoValidCertificates,0x80590000,"The client did not provide at least one software certificate that is valid and meets the profile requirements for the server."
+BadIdentityChangeNotSupported,0x80C60000,"The server does not support changing the user identity assigned to the session."
+BadRequestCancelledByRequest,0x805A0000,"The request was cancelled by the client with the Cancel service."
+BadParentNodeIdInvalid,0x805B0000,"The parent node id does not to refer to a valid node."
+BadReferenceNotAllowed,0x805C0000,"The reference could not be created because it violates constraints imposed by the data model."
+BadNodeIdRejected,0x805D0000,"The requested node id was reject because it was either invalid or server does not allow node ids to be specified by the client."
+BadNodeIdExists,0x805E0000,"The requested node id is already used by another node."
+BadNodeClassInvalid,0x805F0000,"The node class is not valid."
+BadBrowseNameInvalid,0x80600000,"The browse name is invalid."
+BadBrowseNameDuplicated,0x80610000,"The browse name is not unique among nodes that share the same relationship with the parent."
+BadNodeAttributesInvalid,0x80620000,"The node attributes are not valid for the node class."
+BadTypeDefinitionInvalid,0x80630000,"The type definition node id does not reference an appropriate type node."
+BadSourceNodeIdInvalid,0x80640000,"The source node id does not reference a valid node."
+BadTargetNodeIdInvalid,0x80650000,"The target node id does not reference a valid node."
+BadDuplicateReferenceNotAllowed,0x80660000,"The reference type between the nodes is already defined."
+BadInvalidSelfReference,0x80670000,"The server does not allow this type of self reference on this node."
+BadReferenceLocalOnly,0x80680000,"The reference type is not valid for a reference to a remote server."
+BadNoDeleteRights,0x80690000,"The server will not allow the node to be deleted."
+UncertainReferenceNotDeleted,0x40BC0000,"The server was not able to delete all target references."
+BadServerIndexInvalid,0x806A0000,"The server index is not valid."
+BadViewIdUnknown,0x806B0000,"The view id does not refer to a valid view node."
+BadViewTimestampInvalid,0x80C90000,"The view timestamp is not available or not supported."
+BadViewParameterMismatch,0x80CA0000,"The view parameters are not consistent with each other."
+BadViewVersionInvalid,0x80CB0000,"The view version is not available or not supported."
+UncertainNotAllNodesAvailable,0x40C00000,"The list of references may not be complete because the underlying system is not available."
+GoodResultsMayBeIncomplete,0x00BA0000,"The server should have followed a reference to a node in a remote server but did not. The result set may be incomplete."
+BadNotTypeDefinition,0x80C80000,"The provided Nodeid was not a type definition nodeid."
+UncertainReferenceOutOfServer,0x406C0000,"One of the references to follow in the relative path references to a node in the address space in another server."
+BadTooManyMatches,0x806D0000,"The requested operation has too many matches to return."
+BadQueryTooComplex,0x806E0000,"The requested operation requires too many resources in the server."
+BadNoMatch,0x806F0000,"The requested operation has no match to return."
+BadMaxAgeInvalid,0x80700000,"The max age parameter is invalid."
+BadSecurityModeInsufficient,0x80E60000,"The operation is not permitted over the current secure channel."
+BadHistoryOperationInvalid,0x80710000,"The history details parameter is not valid."
+BadHistoryOperationUnsupported,0x80720000,"The server does not support the requested operation."
+BadInvalidTimestampArgument,0x80BD0000,"The defined timestamp to return was invalid."
+BadWriteNotSupported,0x80730000,"The server does not support writing the combination of value, status and timestamps provided."
+BadTypeMismatch,0x80740000,"The value supplied for the attribute is not of the same type as the attribute's value."
+BadMethodInvalid,0x80750000,"The method id does not refer to a method for the specified object."
+BadArgumentsMissing,0x80760000,"The client did not specify all of the input arguments for the method."
+BadNotExecutable,0x81110000,"The executable attribute does not allow the execution of the method."
+BadTooManySubscriptions,0x80770000,"The server has reached its maximum number of subscriptions."
+BadTooManyPublishRequests,0x80780000,"The server has reached the maximum number of queued publish requests."
+BadNoSubscription,0x80790000,"There is no subscription available for this session."
+BadSequenceNumberUnknown,0x807A0000,"The sequence number is unknown to the server."
+GoodRetransmissionQueueNotSupported,0x00DF0000,"The Server does not support retransmission queue and acknowledgement of sequence numbers is not available."
+BadMessageNotAvailable,0x807B0000,"The requested notification message is no longer available."
+BadInsufficientClientProfile,0x807C0000,"The client of the current session does not support one or more Profiles that are necessary for the subscription."
+BadStateNotActive,0x80BF0000,"The sub-state machine is not currently active."
+BadAlreadyExists,0x81150000,"An equivalent rule already exists."
+BadTcpServerTooBusy,0x807D0000,"The server cannot process the request because it is too busy."
+BadTcpMessageTypeInvalid,0x807E0000,"The type of the message specified in the header invalid."
+BadTcpSecureChannelUnknown,0x807F0000,"The SecureChannelId and/or TokenId are not currently in use."
+BadTcpMessageTooLarge,0x80800000,"The size of the message chunk specified in the header is too large."
+BadTcpNotEnoughResources,0x80810000,"There are not enough resources to process the request."
+BadTcpInternalError,0x80820000,"An internal error occurred."
+BadTcpEndpointUrlInvalid,0x80830000,"The server does not recognize the QueryString specified."
+BadRequestInterrupted,0x80840000,"The request could not be sent because of a network interruption."
+BadRequestTimeout,0x80850000,"Timeout occurred while processing the request."
+BadSecureChannelClosed,0x80860000,"The secure channel has been closed."
+BadSecureChannelTokenUnknown,0x80870000,"The token has expired or is not recognized."
+BadSequenceNumberInvalid,0x80880000,"The sequence number is not valid."
+BadProtocolVersionUnsupported,0x80BE0000,"The applications do not have compatible protocol versions."
+BadConfigurationError,0x80890000,"There is a problem with the configuration that affects the usefulness of the value."
+BadNotConnected,0x808A0000,"The variable should receive its value from another variable, but has never been configured to do so."
+BadDeviceFailure,0x808B0000,"There has been a failure in the device/data source that generates the value that has affected the value."
+BadSensorFailure,0x808C0000,"There has been a failure in the sensor from which the value is derived by the device/data source."
+BadOutOfService,0x808D0000,"The source of the data is not operational."
+BadDeadbandFilterInvalid,0x808E0000,"The deadband filter is not valid."
+UncertainNoCommunicationLastUsableValue,0x408F0000,"Communication to the data source has failed. The variable value is the last value that had a good quality."
+UncertainLastUsableValue,0x40900000,"Whatever was updating this value has stopped doing so."
+UncertainSubstituteValue,0x40910000,"The value is an operational value that was manually overwritten."
+UncertainInitialValue,0x40920000,"The value is an initial value for a variable that normally receives its value from another variable."
+UncertainSensorNotAccurate,0x40930000,"The value is at one of the sensor limits."
+UncertainEngineeringUnitsExceeded,0x40940000,"The value is outside of the range of values defined for this parameter."
+UncertainSubNormal,0x40950000,"The value is derived from multiple sources and has less than the required number of Good sources."
+GoodLocalOverride,0x00960000,"The value has been overridden."
+BadRefreshInProgress,0x80970000,"This Condition refresh failed, a Condition refresh operation is already in progress."
+BadConditionAlreadyDisabled,0x80980000,"This condition has already been disabled."
+BadConditionAlreadyEnabled,0x80CC0000,"This condition has already been enabled."
+BadConditionDisabled,0x80990000,"Property not available, this condition is disabled."
+BadEventIdUnknown,0x809A0000,"The specified event id is not recognized."
+BadEventNotAcknowledgeable,0x80BB0000,"The event cannot be acknowledged."
+BadDialogNotActive,0x80CD0000,"The dialog condition is not active."
+BadDialogResponseInvalid,0x80CE0000,"The response is not valid for the dialog."
+BadConditionBranchAlreadyAcked,0x80CF0000,"The condition branch has already been acknowledged."
+BadConditionBranchAlreadyConfirmed,0x80D00000,"The condition branch has already been confirmed."
+BadConditionAlreadyShelved,0x80D10000,"The condition has already been shelved."
+BadConditionNotShelved,0x80D20000,"The condition is not currently shelved."
+BadShelvingTimeOutOfRange,0x80D30000,"The shelving time not within an acceptable range."
+BadNoData,0x809B0000,"No data exists for the requested time range or event filter."
+BadBoundNotFound,0x80D70000,"No data found to provide upper or lower bound value."
+BadBoundNotSupported,0x80D80000,"The server cannot retrieve a bound for the variable."
+BadDataLost,0x809D0000,"Data is missing due to collection started/stopped/lost."
+BadDataUnavailable,0x809E0000,"Expected data is unavailable for the requested time range due to an un-mounted volume, an off-line archive or tape, or similar reason for temporary unavailability."
+BadEntryExists,0x809F0000,"The data or event was not successfully inserted because a matching entry exists."
+BadNoEntryExists,0x80A00000,"The data or event was not successfully updated because no matching entry exists."
+BadTimestampNotSupported,0x80A10000,"The client requested history using a timestamp format the server does not support (i.e requested ServerTimestamp when server only supports SourceTimestamp)."
+GoodEntryInserted,0x00A20000,"The data or event was successfully inserted into the historical database."
+GoodEntryReplaced,0x00A30000,"The data or event field was successfully replaced in the historical database."
+UncertainDataSubNormal,0x40A40000,"The value is derived from multiple values and has less than the required number of Good values."
+GoodNoData,0x00A50000,"No data exists for the requested time range or event filter."
+GoodMoreData,0x00A60000,"The data or event field was successfully replaced in the historical database."
+BadAggregateListMismatch,0x80D40000,"The requested number of Aggregates does not match the requested number of NodeIds."
+BadAggregateNotSupported,0x80D50000,"The requested Aggregate is not support by the server."
+BadAggregateInvalidInputs,0x80D60000,"The aggregate value could not be derived due to invalid data inputs."
+BadAggregateConfigurationRejected,0x80DA0000,"The aggregate configuration is not valid for specified node."
+GoodDataIgnored,0x00D90000,"The request specifies fields which are not valid for the EventType or cannot be saved by the historian."
+BadRequestNotAllowed,0x80E40000,"The request was rejected by the server because it did not meet the criteria set by the server."
+BadRequestNotComplete,0x81130000,"The request has not been processed by the server yet."
+BadTicketRequired,0x811F0000,"The device identity needs a ticket before it can be accepted."
+BadTicketInvalid,0x81200000,"The device identity needs a ticket before it can be accepted."
+GoodEdited,0x00DC0000,"The value does not come from the real source and has been edited by the server."
+GoodPostActionFailed,0x00DD0000,"There was an error in execution of these post-actions."
+UncertainDominantValueChanged,0x40DE0000,"The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit."
+GoodDependentValueChanged,0x00E00000,"A dependent value has been changed but the change has not been applied to the device."
+BadDominantValueChanged,0x80E10000,"The related EngineeringUnit has been changed but this change has not been applied to the device. The Variable Value is still dependent on the previous unit but its status is currently Bad."
+UncertainDependentValueChanged,0x40E20000,"A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is uncertain."
+BadDependentValueChanged,0x80E30000,"A dependent value has been changed but the change has not been applied to the device. The quality of the dominant variable is Bad."
+GoodEdited_DependentValueChanged,0x01160000,"It is delivered with a dominant Variable value when a dependent Variable has changed but the change has not been applied."
+GoodEdited_DominantValueChanged,0x01170000,"It is delivered with a dependent Variable value when a dominant Variable has changed but the change has not been applied."
+GoodEdited_DominantValueChanged_DependentValueChanged,0x01180000,"It is delivered with a dependent Variable value when a dominant or dependent Variable has changed but change has not been applied."
+BadEdited_OutOfRange,0x81190000,"It is delivered with a Variable value when Variable has changed but the value is not legal."
+BadInitialValue_OutOfRange,0x811A0000,"It is delivered with a Variable value when a source Variable has changed but the value is not legal."
+BadOutOfRange_DominantValueChanged,0x811B0000,"It is delivered with a dependent Variable value when a dominant Variable has changed and the value is not legal."
+BadEdited_OutOfRange_DominantValueChanged,0x811C0000,"It is delivered with a dependent Variable value when a dominant Variable has changed, the value is not legal and the change has not been applied."
+BadOutOfRange_DominantValueChanged_DependentValueChanged,0x811D0000,"It is delivered with a dependent Variable value when a dominant or dependent Variable has changed and the value is not legal."
+BadEdited_OutOfRange_DominantValueChanged_DependentValueChanged,0x811E0000,"It is delivered with a dependent Variable value when a dominant or dependent Variable has changed, the value is not legal and the change has not been applied."
+GoodCommunicationEvent,0x00A70000,"The communication layer has raised an event."
+GoodShutdownEvent,0x00A80000,"The system is shutting down."
+GoodCallAgain,0x00A90000,"The operation is not finished and needs to be called again."
+GoodNonCriticalTimeout,0x00AA0000,"A non-critical timeout occurred."
+BadInvalidArgument,0x80AB0000,"One or more arguments are invalid."
+BadConnectionRejected,0x80AC0000,"Could not establish a network connection to remote server."
+BadDisconnect,0x80AD0000,"The server has disconnected from the client."
+BadConnectionClosed,0x80AE0000,"The network connection has been closed."
+BadInvalidState,0x80AF0000,"The operation cannot be completed because the object is closed, uninitialized or in some other invalid state."
+BadEndOfStream,0x80B00000,"Cannot move beyond end of the stream."
+BadNoDataAvailable,0x80B10000,"No data is currently available for reading from a non-blocking stream."
+BadWaitingForResponse,0x80B20000,"The asynchronous operation is waiting for a response."
+BadOperationAbandoned,0x80B30000,"The asynchronous operation was abandoned by the caller."
+BadExpectedStreamToBlock,0x80B40000,"The stream did not return all data requested (possibly because it is a non-blocking stream)."
+BadWouldBlock,0x80B50000,"Non blocking behaviour is required and the operation would block."
+BadSyntaxError,0x80B60000,"A value had an invalid syntax."
+BadMaxConnectionsReached,0x80B70000,"The operation could not be finished because all available connections are in use."
+UncertainTransducerInManual,0x42080000,"The value may not be accurate because the transducer is in manual mode."
+UncertainSimulatedValue,0x42090000,"The value is simulated."
+UncertainSensorCalibration,0x420A0000,"The value may not be accurate due to a sensor calibration fault."
+UncertainConfigurationError,0x420F0000,"The value may not be accurate due to a configuration issue."
+GoodCascadeInitializationAcknowledged,0x04010000,"The value source supports cascade handshaking and the value has been Initialized based on an initialization request from a cascade secondary."
+GoodCascadeInitializationRequest,0x04020000,"The value source supports cascade handshaking and is requesting initialization of a cascade primary."
+GoodCascadeNotInvited,0x04030000,"The value source supports cascade handshaking, however, the source’s current state does not allow for cascade."
+GoodCascadeNotSelected,0x04040000,"The value source supports cascade handshaking, however, the source has not selected the corresponding cascade primary for use."
+GoodFaultStateActive,0x04070000,"There is a fault state condition active in the value source."
+GoodInitiateFaultState,0x04080000,"A fault state condition is being requested of the destination."
+GoodCascade,0x04090000,"The value is accurate, and the signal source supports cascade handshaking."
\ No newline at end of file
diff --git a/protocols/opcua/pom.xml b/protocols/opcua/pom.xml
index c1fb9d1dd5a..61fca3c51a0 100644
--- a/protocols/opcua/pom.xml
+++ b/protocols/opcua/pom.xml
@@ -114,8 +114,9 @@
+
- ${project.build.directory}/downloads
+ ${project.basedir}/downloads
Opc.Ua.Types.bsd
src/main/xslt/opc-services.xsl
${project.build.outputDirectory}/protocols/opcua
@@ -131,7 +132,7 @@
servicesEnum
- ${project.build.directory}/downloads/Opc.Ua.NodeIds.Services.csv
+ ${project.basedir}/downloads/Opc.Ua.NodeIds.Services.csv
@@ -142,7 +143,7 @@
- ${project.build.directory}/downloads
+ ${project.basedir}/downloads
Opc.Ua.Types.bsd
src/main/xslt/opc-status.xsl
${project.build.outputDirectory}/protocols/opcua
@@ -158,7 +159,7 @@
statusCodes
- ${project.build.directory}/downloads/StatusCode.csv
+ ${project.basedir}/downloads/StatusCode.csv
@@ -169,7 +170,7 @@
- ${project.build.directory}/downloads
+ ${project.basedir}/downloads
Opc.Ua.Types.bsd
src/main/xslt/opc-manual.xsl
${project.build.outputDirectory}/protocols/opcua
@@ -185,7 +186,7 @@
services
- ${project.build.directory}/downloads/Opc.Ua.NodeSet2.Services.xml
+ ${project.basedir}/downloads/Opc.Ua.NodeSet2.Services.xml
@@ -196,7 +197,7 @@
- ${project.build.directory}/downloads
+ ${project.basedir}/downloads
Opc.Ua.Types.bsd
src/main/xslt/opc-types.xsl
${project.build.outputDirectory}/protocols/opcua
@@ -219,11 +220,20 @@
net.sf.saxon
Saxon-HE
-
12.0
+
+
+ org.apache.rat
+ apache-rat-plugin
+
+
+ **/downloads/**
+
+
+
diff --git a/protocols/open-protocol/pom.xml b/protocols/open-protocol/pom.xml
index 761a8928ef0..6ba8760a003 100644
--- a/protocols/open-protocol/pom.xml
+++ b/protocols/open-protocol/pom.xml
@@ -38,12 +38,6 @@
plc4x-code-generation-protocol-base-mspec
0.11.0-SNAPSHOT
-
-
- org.slf4j
- slf4j-simple
- test
-
\ No newline at end of file
diff --git a/protocols/plc4x/src/main/resources/protocols/plc4x/v0/plc4x.mspec b/protocols/plc4x/src/main/resources/protocols/plc4x/v0/plc4x.mspec
index 5bd7641b50e..6f48ecb49c4 100644
--- a/protocols/plc4x/src/main/resources/protocols/plc4x/v0/plc4x.mspec
+++ b/protocols/plc4x/src/main/resources/protocols/plc4x/v0/plc4x.mspec
@@ -175,14 +175,12 @@
['WCHAR' STRING
[simple string 16 value encoding='"UTF-16"']
]
- //['STRING' STRING
- // [implicit uint 8 stringLength 'STR_LEN(value)' ]
- // [simple vstring 'stringLength' value ]
- //]
- //['WSTRING' STRING
- // [implicit uint 8 stringLength 'STR_LEN(value)' ]
- // [simple vstring 'stringLength * 2' value encoding='"UTF-16"']
- //]
+ ['STRING' STRING
+ [manual vstring value 'STATIC_CALL("parseString", readBuffer, _type.encoding)' 'STATIC_CALL("serializeString", writeBuffer, _value, _type.encoding)' '(STR_LEN(_value) + 1) * 8']
+ ]
+ ['WSTRING' STRING
+ [manual vstring value 'STATIC_CALL("parseString", readBuffer, _type.encoding)' 'STATIC_CALL("serializeString", writeBuffer, _value, _type.encoding)' '(STR_LEN(_value) + 1) * 16' encoding='"UTF-16"']
+ ]
// Times and Dates
['TIME' TIME
diff --git a/protocols/pom.xml b/protocols/pom.xml
index e076a77ff1f..37da46ab99a 100644
--- a/protocols/pom.xml
+++ b/protocols/pom.xml
@@ -177,6 +177,9 @@
<_removeheaders>Bnd-LastModified
+
+ *
+
@@ -219,6 +222,12 @@
junit-jupiter-api
test
+
+
+ org.slf4j
+ slf4j-simple
+ test
+
diff --git a/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec b/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
index 09fb0cbf4d0..95da70617a1 100644
--- a/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
+++ b/protocols/profinet/src/main/resources/protocols/profinet/profinet.mspec
@@ -554,7 +554,6 @@
[padding uint 8 pad '0x00' 'STATIC_CALL("arrayLength", deviceVendorValue) % 2']
]
['DEVICE_PROPERTIES_OPTION','2' PnDcp_Block_DevicePropertiesNameOfStation(uint 16 blockLength)
- [reserved uint 16 '0x0000' ]
[array byte nameOfStation count 'blockLength-2' ]
[padding uint 8 pad '0x00' 'STATIC_CALL("arrayLength", nameOfStation) % 2']
]
diff --git a/protocols/s7/src/main/resources/protocols/s7/s7.mspec b/protocols/s7/src/main/resources/protocols/s7/s7.mspec
index 85983b74c66..13aa1cbcede 100644
--- a/protocols/s7/src/main/resources/protocols/s7/s7.mspec
+++ b/protocols/s7/src/main/resources/protocols/s7/s7.mspec
@@ -523,7 +523,7 @@
]
]
-[dataIo DataItem(vstring dataProtocolId, int 32 stringLength)
+[dataIo DataItem(vstring dataProtocolId, int 32 stringLength, vstring stringEncoding)
[typeSwitch dataProtocolId
// -----------------------------------------
// Bit
@@ -599,18 +599,18 @@
// Characters & Strings
// -----------------------------------------
['"IEC61131_CHAR"' CHAR
- [simple string 8 value encoding='"UTF-8"']
+ [manual string 8 value 'STATIC_CALL("parseS7Char", readBuffer, _type.encoding, stringEncoding)' 'STATIC_CALL("serializeS7Char", writeBuffer, _value, _type.encoding, stringEncoding)' '8']
]
['"IEC61131_WCHAR"' CHAR
- [simple string 16 value encoding='"UTF-16"']
+ [manual string 16 value 'STATIC_CALL("parseS7Char", readBuffer, _type.encoding, stringEncoding)' 'STATIC_CALL("serializeS7Char", writeBuffer, _value, _type.encoding, stringEncoding)' '16' encoding='"UTF-16"']
]
['"IEC61131_STRING"' STRING
// TODO: Fix this length
- [manual vstring value 'STATIC_CALL("parseS7String", readBuffer, stringLength, _type.encoding)' 'STATIC_CALL("serializeS7String", writeBuffer, _value, stringLength, _type.encoding)' 'STR_LEN(_value) + 2' encoding='"UTF-8"']
+ [manual vstring value 'STATIC_CALL("parseS7String", readBuffer, stringLength, _type.encoding, stringEncoding)' 'STATIC_CALL("serializeS7String", writeBuffer, _value, stringLength, _type.encoding, stringEncoding)' '(stringLength + 2) * 8']
]
['"IEC61131_WSTRING"' STRING
// TODO: Fix this length
- [manual vstring value 'STATIC_CALL("parseS7String", readBuffer, stringLength, _type.encoding)' 'STATIC_CALL("serializeS7String", writeBuffer, _value, stringLength, _type.encoding)' '(STR_LEN(_value) * 2) + 2' encoding='"UTF-16"']
+ [manual vstring value 'STATIC_CALL("parseS7String", readBuffer, stringLength, _type.encoding, stringEncoding)' 'STATIC_CALL("serializeS7String", writeBuffer, _value, stringLength, _type.encoding, stringEncoding)' '(stringLength + 2) * 16' encoding='"UTF-16"']
]
// -----------------------------------------
@@ -717,22 +717,22 @@
['0x09' USINT ['0x02' , 'B' , '1' , 'INT' , 'BYTE_WORD_DWORD' , 'IEC61131_USINT' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
['0x0A' DINT ['0x07' , 'D' , '4' , 'INT' , 'INTEGER' , 'IEC61131_DINT' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
['0x0B' UDINT ['0x07' , 'D' , '4' , 'INT' , 'INTEGER' , 'IEC61131_UDINT' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
- ['0x0C' LINT ['0x00' , 'X' , '8' , 'INT' , 'null' , 'IEC61131_LINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
- ['0x0D' ULINT ['0x00' , 'X' , '16' , 'INT' , 'null' , 'IEC61131_ULINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
+ ['0x0C' LINT ['0x00' , 'X' , '8' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_LINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
+ ['0x0D' ULINT ['0x00' , 'X' , '16' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_ULINT' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
// Floating point values
- ['0x0E' REAL ['0x08' , 'D' , '4' , 'null' , 'REAL' , 'IEC61131_REAL' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
- ['0x0F' LREAL ['0x30' , 'X' , '8' , 'REAL' , 'null' , 'IEC61131_LREAL' , 'false' , 'false' , 'true' , 'true' , 'false' ]]
+ ['0x0E' REAL ['0x08' , 'D' , '4' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_REAL' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
+ ['0x0F' LREAL ['0x30' , 'X' , '8' , 'REAL' , 'BYTE_WORD_DWORD' , 'IEC61131_LREAL' , 'false' , 'false' , 'true' , 'true' , 'false' ]]
// Characters and Strings
['0x10' CHAR ['0x03' , 'B' , '1' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_CHAR' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
- ['0x11' WCHAR ['0x13' , 'X' , '2' , 'null' , 'null' , 'IEC61131_WCHAR' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
+ ['0x11' WCHAR ['0x13' , 'X' , '2' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_WCHAR' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
['0x12' STRING ['0x03' , 'X' , '1' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_STRING' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
- ['0x13' WSTRING ['0x00' , 'X' , '2' , 'null' , 'null' , 'IEC61131_WSTRING' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
+ ['0x13' WSTRING ['0x00' , 'X' , '2' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_WSTRING' , 'false' , 'false' , 'true' , 'true' , 'true' ]]
// Dates and time values (Please note that we seem to have to rewrite queries for these types to reading bytes or we'll get "Data type not supported" errors)
['0x14' TIME ['0x0B' , 'X' , '4' , 'null' , 'null' , 'IEC61131_TIME' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
- //['0x15' S5TIME ['0x0C' , 'X' , '4' , 'null' , 'null' , 'S7_S5TIME' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
+ //['0x15' S5TIME ['0x0C' , 'X' , '4' , 'null' , 'null' , 'S7_S5TIME' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
['0x16' LTIME ['0x00' , 'X' , '8' , 'TIME' , 'null' , 'IEC61131_LTIME' , 'false' , 'false' , 'false' , 'true' , 'false' ]]
['0x17' DATE ['0x09' , 'X' , '2' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_DATE' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
['0x18' TIME_OF_DAY ['0x06' , 'X' , '4' , 'null' , 'BYTE_WORD_DWORD' , 'IEC61131_TIME_OF_DAY' , 'true' , 'true' , 'true' , 'true' , 'true' ]]
diff --git a/protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml b/protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
index 8d76a5ce141..97aab67eb6d 100644
--- a/protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
+++ b/protocols/s7/src/test/resources/protocols/s7/DriverTestsuite.xml
@@ -441,7 +441,7 @@
240
true
- 10
+ 2
@@ -450,7 +450,7 @@
50
1
0
- 10
+ 2
14
0
@@ -508,7 +508,7 @@
240
true
- 0
+ 2
@@ -517,7 +517,7 @@
50
3
0
- 10
+ 2
2
6
@@ -613,7 +613,7 @@
240
true
- 10
+ 2
@@ -622,7 +622,7 @@
50
1
0
- 10
+ 2
14
0
@@ -680,7 +680,7 @@
240
true
- 0
+ 2
@@ -689,7 +689,7 @@
50
2
0
- 10
+ 2
0
0